diff --git a/.gitignore b/.gitignore
index ba3301ac..70d8ea21 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,4 +79,7 @@ typings/
*.tsbuildinfo
# Library build folder
-build
\ No newline at end of file
+build
+
+# Temporary compilation files
+fields.json
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b773b67f..4b75c2fb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,13 @@ While these changes are inconvenient, the performance of the REST api is signifi
To prepare for this change, we recommend you use the install the `19.0.0-rest-beta` version of this library and test your application with it.
+### 20.0.0
+
+### Version Upgrade
+
+- Upgraded google-ads-api version to v20. Refer to Google ads release notes [here](https://developers.google.com/google-ads/api/docs/release-notes) for changes.
+
+
### 19.1.0
### Version Upgrade
diff --git a/README.md b/README.md
index 5e9466ab..dafc6ed6 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
-
+
@@ -385,7 +385,7 @@ const keyword = "24 hour locksmith harlem";
const operations: MutateOperation<
resources.IAdGroupCriterion & {
- exempt_policy_violation_keys?: google.ads.googleads.v19.common.IPolicyViolationKey[];
+ exempt_policy_violation_keys?: google.ads.googleads.v20.common.IPolicyViolationKey[];
}
>[] = [
{
diff --git a/jest.config.js b/jest.config.js
index 9f92a97a..2b1ea60b 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -3,7 +3,7 @@ module.exports = {
preset: "ts-jest",
testEnvironment: "node",
clearMocks: true,
- collectCoverage: true,
+ //collectCoverage: true,
coveragePathIgnorePatterns: ["/node_modules/", "jest.config.js"],
resetMocks: true,
testMatch: [
diff --git a/package.json b/package.json
index 50ea0c03..faaa287f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "google-ads-api",
- "version": "19.1.0",
+ "version": "20.0.0",
"description": "Google Ads API Client Library for Node.js",
"repository": "https://github.com/Opteo/google-ads-api",
"main": "build/src/index.js",
@@ -11,7 +11,7 @@
"test": "jest",
"lint": "eslint . --ext .ts",
"build": "tsc",
- "compile": "tsc && node build/scripts/index.js",
+ "compile": "esbuild --bundle --platform=node ./scripts/index.ts --outfile=./build/scripts/index.js && node ./build/scripts/index.js",
"prepare": "rm -rf build && npm run build",
"node": "tsx"
},
@@ -19,22 +19,32 @@
"license": "MIT",
"dependencies": {
"@isaacs/ttlcache": "^1.2.2",
- "google-ads-node": "16.0.0",
+ "axios": "^1.6.7",
+ "circ-json": "^1.0.4",
+ "google-ads-node": "17.0.0",
"google-auth-library": "^9.15.1",
- "google-gax": "^5.1.0-rc.1",
- "long": "^4.0.0"
+ "google-gax": "^5.1.1-rc.1",
+ "long": "^4.0.0",
+ "map-obj": "^4.0.0",
+ "stream-json": "^1.8.0"
},
"devDependencies": {
"@types/jest": "^29.0.1",
"@types/long": "^4.0.0",
+ "@types/lodash": "^4.14.202",
"@types/node": "^22.5.4",
"@types/pluralize": "^0.0.29",
+ "@types/stream-json": "^1.7.7",
"@typescript-eslint/eslint-plugin": "^4.8.2",
"@typescript-eslint/parser": "^4.8.2",
+ "axios-mock-adapter": "^1.22.0",
+ "esbuild": "^0.20.1",
"eslint": "^7.14.0",
- "jest": "^29.0.3",
+ "jest": "^29.7.0",
+ "lodash": "^4.17.21",
"pluralize": "^8.0.0",
- "ts-jest": "^29.0.0",
+ "protobufjs": "^7.2.6",
+ "ts-jest": "^29.1.2",
"tsx": "^4.19.3",
"typescript": "^5.5.4"
},
diff --git a/scripts/fields.ts b/scripts/fields.ts
index fe8fa202..29b67de0 100644
--- a/scripts/fields.ts
+++ b/scripts/fields.ts
@@ -1,8 +1,24 @@
import fs from "fs";
import { FILES } from "./path";
-import { GoogleAdsApi, services, resources, enums } from "../src";
+import { GoogleAdsApi, resources, enums, services } from "../src";
import { capitaliseFirstLetter, toCamelCase } from "../src/utils";
-
+import _ from "lodash";
+import protosJson from "google-ads-node/build/protos/protos.json";
+import { stringify } from "circ-json";
+
+import protobuf from "protobufjs";
+const root = protobuf.Root.fromJSON(protosJson);
+
+const primitiveTypes = [
+ "string",
+ "number",
+ "bool",
+ "int64",
+ "int32",
+ "double",
+ "float",
+ "bytes",
+];
// Types
interface Resource {
attributes: string[];
@@ -34,7 +50,7 @@ export async function compileFields(): Promise {
login_customer_id: LOGIN_CUSTOMER_ID,
});
- // @ts-ignore
+ //@ts-ignore
const [fields]: resources.GoogleAdsField[][] =
// @ts-expect-error Protected usage is fine here
await cus.googleAdsFields.searchGoogleAdsFields(
@@ -55,6 +71,12 @@ export async function compileFields(): Promise {
})
);
+ // fs.writeFileSync("fields.json", JSON.stringify(fields));
+
+ // const fields: resources.GoogleAdsField[] = JSON.parse(
+ // fs.readFileSync("fields.json").toString()
+ // );
+
const resourceConstructs: { [resourceName: string]: Resource } = {};
const enumFields: { [fieldName: string]: string } = {};
const resourceNames: string[] = [];
@@ -158,6 +180,85 @@ export async function compileFields(): Promise {
});
stream.write(`}`);
+
+ stream.write(
+ `\n\n/* -- Field types (represented as circular JSON, used in REST parsing) -- */`
+ );
+ stream.write(`\nexport const fieldDataTypes = \``);
+
+ /*
+ Assemble a mega object that represents all the fields and their types,
+ recursively. This is used in the REST parsing to determine the type of
+ each field. This is a circular object, so it can't be stringified
+ normally. We'll use the circ-json package to stringify it.
+
+ See fieldDataTypes in autogen/fields.ts for an idea of the final product.
+ */
+ let mega: any = {};
+ function assembleMega(typeForLookup: string) {
+ if (typeForLookup.startsWith("com.")) {
+ typeForLookup = typeForLookup.replace("com.", "");
+ }
+ const foundMessage = root.lookupTypeOrEnum(typeForLookup);
+
+ if (mega[foundMessage.name]) {
+ return mega[foundMessage.name];
+ }
+
+ // @ts-ignore
+ if (foundMessage.valuesById) {
+ // @ts-ignore
+ return foundMessage.values;
+ }
+ const fields = foundMessage.fields;
+
+ const o: any = {};
+ mega[foundMessage.name] = o;
+ for (const fieldKey in fields) {
+ const fieldKeyType = fields[fieldKey].type;
+ if (primitiveTypes.includes(fieldKeyType)) {
+ o[fieldKey] = fieldKeyType.toUpperCase();
+ continue;
+ }
+
+ const parsedRef = assembleMega(fields[fieldKey].type);
+ o[fieldKey] = parsedRef;
+ }
+
+ mega[foundMessage.name] = o;
+
+ return o;
+ }
+
+ // Start by adding GoogleAdsFailure to the mega object. It's a special case that
+ // Doesn't exist the same way as other fields.
+ assembleMega("GoogleAdsFailure");
+
+ mega = {
+ ...mega,
+ ...mega.GoogleAdsFailure,
+ };
+
+ delete mega.GoogleAdsFailure;
+
+ // Now, loop through all the reporting fields and add them to the mega object
+ // Messages are the main challenge here, as they can contain other messages,
+ // Sometimes with infite recursion.
+ for (const field of fields.filter((field) => field.data_type === "MESSAGE")) {
+ _.set(mega, field.name!, assembleMega(field.type_url as string));
+ }
+ for (const field of fields.filter((field) => field.data_type !== "MESSAGE")) {
+ if (!_.get(mega, field.name!)) {
+ _.set(
+ mega,
+ field.name!,
+ (field.data_type as string).toUpperCase() as string
+ );
+ }
+ }
+
+ stream.write(stringify(mega));
+ stream.write(`\``);
stream.end();
}
diff --git a/src/client.ts b/src/client.ts
index 0e6ea38a..d2fa4042 100644
--- a/src/client.ts
+++ b/src/client.ts
@@ -9,6 +9,7 @@ export interface ClientOptions {
client_secret: string;
developer_token: string;
disable_parsing?: boolean;
+ max_reporting_rows?: number;
}
export class Client {
diff --git a/src/customer.spec.ts b/src/customer.spec.ts
index 149d818e..5c1da6d2 100644
--- a/src/customer.spec.ts
+++ b/src/customer.spec.ts
@@ -1,5 +1,7 @@
import { operationsProtos } from "google-gax";
import { Hooks } from "./hooks";
+import axios from "axios";
+import MockAdapter from "axios-mock-adapter";
import { enums, errors, services } from "./protos";
import {
@@ -9,6 +11,8 @@ import {
mockBuildSearchStreamRequestAndService,
mockError,
mockGaqlQuery,
+ // mockGenerator,
+ mockGetAccessToken,
mockGetGoogleAdsError,
mockMethod,
mockMutationReturnValue,
@@ -16,54 +20,76 @@ import {
mockPaginatedSearch,
mockParse,
mockParsedValues,
+ mockParseRest,
mockParseValue,
mockQuery,
mockQueryReturnValue,
+ mockQueryReturnValueUnparsed,
+ mockQueryReturnValueWithSummaryRow,
mockReportOptions,
mockSearchOnce,
+ mockSearchRawResult,
+ mockSearchRawResultWithSummaryRow,
+ mockStream,
+ mockStreamWithBadData,
+ mockStreamWithSummaryRow,
mockSummaryRow,
mockTotalResultsCount,
newCustomer,
- noopParser,
} from "./testUtils";
import { MutateOptions, RequestOptions } from "./types";
import { googleAdsVersion } from "../src/version";
type google = typeof operationsProtos.google;
const google = operationsProtos.google;
+const axiosMock = new MockAdapter(axios);
+
describe("querier", () => {
- afterEach(() => jest.resetAllMocks());
+ afterEach(() => {
+ jest.resetAllMocks();
+ axiosMock.reset();
+ });
it("parses query results by default", async () => {
const customer = newCustomer({});
- mockPaginatedSearch(customer);
- mockParse(mockParsedValues);
+
+ axiosMock.onPost().reply(200, mockStream());
+
+ mockGetAccessToken(customer);
// @ts-expect-error private method
const { response } = await customer.querier(mockGaqlQuery);
- expect(response).toEqual(mockParsedValues);
+ expect(response).toEqual(mockQueryReturnValue);
});
it("skips query parsing if it is disabled in the client options", async () => {
- const disableParsing = true;
- const customer = newCustomer({}, disableParsing);
- mockPaginatedSearch(customer);
- const mockedParse = mockParse(mockParsedValues);
+ const customer = newCustomer({}, true);
+
+ axiosMock.onPost().reply(200, mockStream());
+
+ mockGetAccessToken(customer);
+
// @ts-expect-error private method
const { response } = await customer.querier(mockGaqlQuery);
- expect(mockedParse).not.toHaveBeenCalled();
- expect(response).toEqual(mockQueryReturnValue);
+ expect(response).toEqual(mockQueryReturnValueUnparsed);
});
it("includes the total results count if provided", async () => {
- const includeTotalResultsCount = true;
const customer = newCustomer({});
- mockPaginatedSearch(customer, includeTotalResultsCount);
- mockParse(mockParsedValues);
- // @ts-expect-error private method
- const { totalResultsCount } = await customer.querier(mockGaqlQuery);
+
+ axiosMock.onPost().reply(200, mockSearchRawResult[0]);
+
+ mockGetAccessToken(customer);
+ //@ts-expect-error private method
+ const { totalResultsCount } = await customer.querier(mockGaqlQuery, {
+ search_settings: {
+ return_summary_row: true,
+ },
+ });
+
+ console.log(totalResultsCount);
expect(totalResultsCount).toEqual(mockTotalResultsCount);
});
@@ -160,15 +186,11 @@ describe("querier", () => {
// @ts-expect-error private method
await customer.querier(mockGaqlQuery, requestOptions);
- expect(spyPaginatedSearch).toHaveBeenCalledWith(
- mockGaqlQuery,
- {
- validate_only: true, // changed
- page_token: "abcd",
- page_size: 4, // changed
- },
- expect.any(Function)
- );
+ expect(spyPaginatedSearch).toHaveBeenCalledWith(mockGaqlQuery, {
+ validate_only: true, // changed
+ page_token: "abcd",
+ page_size: 4, // changed
+ });
});
it("calls onQueryError when provided and when the query throws an error", async () => {
@@ -305,7 +327,11 @@ describe("querier", () => {
});
describe("paginatedSearch", () => {
- afterEach(() => jest.resetAllMocks());
+ afterEach(() => {
+ jest.resetAllMocks();
+ axiosMock.reset();
+ });
+
it("returns the response of the initial query if there is no next page token", async () => {
const customer = newCustomer({});
mockSearchOnce({
@@ -315,11 +341,9 @@ describe("paginatedSearch", () => {
});
// @ts-expect-error private method
- const { response } = await customer.paginatedSearch(
- mockGaqlQuery,
- {},
- noopParser
- );
+ const { response } = await customer.paginatedSearch(mockGaqlQuery, {
+ page_size: 1000,
+ });
expect(response).toEqual(["a", "b", "c"]);
});
@@ -338,11 +362,9 @@ describe("paginatedSearch", () => {
});
// @ts-expect-error private method
- const { response } = await customer.paginatedSearch(
- mockGaqlQuery,
- {},
- noopParser
- );
+ const { response } = await customer.paginatedSearch(mockGaqlQuery, {
+ page_size: 1000,
+ });
expect(response).toEqual(["a", "b", "c", "d", "e", "f"]);
});
@@ -359,11 +381,9 @@ describe("paginatedSearch", () => {
mockSearchOnce({ customer, response: ["h"], nextPageToken: null });
// @ts-expect-error private method
- const { response } = await customer.paginatedSearch(
- mockGaqlQuery,
- {},
- noopParser
- );
+ const { response } = await customer.paginatedSearch(mockGaqlQuery, {
+ page_size: 1000,
+ });
expect(response).toEqual(["a", "b", "c", "d", "e", "f", "g", "h"]);
});
@@ -380,29 +400,36 @@ describe("paginatedSearch", () => {
// @ts-expect-error private method
const { totalResultsCount } = await customer.paginatedSearch(
mockGaqlQuery,
- {},
- noopParser
+ {
+ page_size: 1000,
+ }
);
expect(totalResultsCount).toEqual(mockTotalResultsCount);
});
});
describe("search", () => {
- afterEach(() => jest.resetAllMocks());
+ afterEach(() => {
+ jest.resetAllMocks();
+ axiosMock.reset();
+ });
+
it("includes the summary row if a summary row is returned", async () => {
const customer = newCustomer({});
- mockBuildSearchRequestAndService({ customer, includeSummaryRow: true });
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockSearchRawResultWithSummaryRow[1]);
+
// @ts-expect-error private method
- const { response } = await customer.search(mockGaqlQuery);
- expect(response[0]).toEqual(mockSummaryRow);
+ const { summaryRow } = await customer.search(mockGaqlQuery);
+
+ expect(summaryRow).toEqual(mockSummaryRow);
});
it("includes the total results count if provided", async () => {
const customer = newCustomer({});
- mockBuildSearchRequestAndService({
- customer,
- includeTotalResultsCount: true,
- });
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockSearchRawResult[0]);
+
// @ts-expect-error private method
const { totalResultsCount } = await customer.search(mockGaqlQuery);
expect(totalResultsCount).toEqual(mockTotalResultsCount);
@@ -410,79 +437,57 @@ describe("search", () => {
});
describe("reportStream", () => {
- afterEach(() => jest.resetAllMocks());
+ afterEach(() => {
+ jest.resetAllMocks();
+ axiosMock.reset();
+ });
it("parses reportStream results by default", async () => {
const customer = newCustomer({});
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- const mockedParse = mockParse(mockParsedValues);
+
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStream());
+
const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
+ const acc: any[] = [];
for await (const row of stream) {
- expect(row).toEqual(mockParseValue);
+ acc.push(row);
}
- expect(mockedParse).toHaveBeenCalled();
+ expect(acc).toEqual(mockQueryReturnValue);
});
it("skips reportStream parsing if it is disabled in the client options", async () => {
const disableParsing = true;
const customer = newCustomer({}, disableParsing);
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- const mockedParse = mockParse(mockParsedValues);
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStream());
+
const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
- let i = 0;
+ const acc: any[] = [];
for await (const row of stream) {
- expect(row).toEqual(mockQueryReturnValue[i]);
- i++;
+ acc.push(row);
}
- expect(mockedParse).not.toHaveBeenCalled();
+ expect(acc).toEqual(mockQueryReturnValueUnparsed);
});
- it("handles multiple chunks of data while maintaining their order", async () => {
- const disableParsing = true;
- const customer = newCustomer({}, disableParsing);
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
- const stream = customer.reportStream(mockReportOptions);
- mockStreamData([0, 1, 2, 3, 4, 5] as services.IGoogleAdsRow[]);
- mockStreamData([6, 7, 8, 9, 10, 11] as services.IGoogleAdsRow[]);
- mockStreamData([12, 13, 14, 15, 16, 17] as services.IGoogleAdsRow[]);
- mockStreamData([18, 19, 20, 21, 22, 23] as services.IGoogleAdsRow[]);
- mockStreamEnd();
+ it("includes the summary row if a summary row is returned", async () => {
+ const customer = newCustomer({});
- let i = 0;
- for await (const row of stream) {
- expect(row).toEqual(i);
- i++;
- }
- });
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStreamWithSummaryRow());
- it("includes the summary row if a summary row is returned", async () => {
- const disableParsing = true;
- const customer = newCustomer({}, disableParsing);
- const { mockStreamData, mockStreamSummaryRow, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamSummaryRow();
- mockStreamEnd();
- const response: services.IGoogleAdsRow[] = [];
+ const acc: any[] = [];
for await (const row of stream) {
- response.push(row);
+ acc.push(row);
}
- expect(response).toEqual([...mockQueryReturnValue, mockSummaryRow]);
+
+ expect(acc).toEqual(mockQueryReturnValueWithSummaryRow);
});
it("calls onStreamStart when provided", async () => {
@@ -492,14 +497,19 @@ describe("reportStream", () => {
},
};
const customer = newCustomer(hooks);
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
+
const spyHook = jest.spyOn(hooks, "onStreamStart");
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStream());
+
const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
- await stream.next();
+
+ const acc: any[] = [];
+ for await (const row of stream) {
+ acc.push(row);
+ }
+
+ expect(acc).toEqual(mockQueryReturnValue);
expect(spyHook).toHaveBeenCalled();
expect(spyHook).toHaveBeenCalledWith({
@@ -521,13 +531,15 @@ describe("reportStream", () => {
},
};
const customer = newCustomer(hooks);
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStream());
+
const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
- await stream.next();
+
+ const acc: any[] = [];
+ for await (const row of stream) {
+ acc.push(row);
+ }
expect(spyMockMethod).toHaveBeenCalled();
});
@@ -538,16 +550,16 @@ describe("reportStream", () => {
cancel();
},
};
+
const customer = newCustomer(hooks);
- const { spyBuild } = mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
+
const stream = customer.reportStream(mockReportOptions);
for await (const row of stream) {
failTestIfExecuted(); // should be no rows in stream
}
- expect(spyBuild).not.toHaveBeenCalled();
+ // This will fail if not cancelled correctly because the unmocked fns will be called
});
it("does NOT return the argument of cancel() if one is provided in onStreamStart", async () => {
@@ -559,8 +571,7 @@ describe("reportStream", () => {
},
};
const customer = newCustomer(hooks);
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
+
const stream = customer.reportStream(mockReportOptions);
for await (const row of stream) {
@@ -575,27 +586,44 @@ describe("reportStream", () => {
},
};
const customer = newCustomer(hooks);
- const { spyBuild, mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
+
+ const spyAxiosArgsBuilder = jest.spyOn(
+ customer,
+ // @ts-expect-error private method
+ "prepareGoogleAdsServicePostRequestArgs"
+ );
+
const requestOptions: RequestOptions = {
validate_only: false, // changed
page_token: "abcd",
page_size: 2, // changed
};
+
+ mockGetAccessToken(customer);
+ axiosMock.onPost().reply(200, mockStream());
+
const stream = customer.reportStream({
...mockReportOptions,
...requestOptions,
});
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
- await stream.next();
- expect(spyBuild).toHaveBeenCalledWith(mockGaqlQuery, {
- validate_only: true,
- page_token: "abcd",
- page_size: 4,
- });
+ for await (const row of stream) {
+ // don't care
+ }
+
+ expect(spyAxiosArgsBuilder).toHaveBeenCalledWith(
+ "searchStream",
+ "mockedAccessTokenHere",
+ {
+ data: {
+ query: expect.any(String),
+ validate_only: true,
+ page_token: "abcd",
+ page_size: 4,
+ },
+ responseType: "stream",
+ }
+ );
});
it("calls onStreamError when provided and when the stream throws an error", async () => {
@@ -604,28 +632,31 @@ describe("reportStream", () => {
return;
},
};
+ const spyHook = jest.spyOn(hooks, "onStreamError");
const customer = newCustomer(hooks);
- const { mockStreamData, mockStreamError } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
- const mockedError = mockGetGoogleAdsError(customer);
- const spyHook = jest.spyOn(hooks, "onStreamError");
+
+ mockGetAccessToken(customer);
try {
- const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamError(new Error("Original error message"));
- await stream.next();
+ axiosMock.onPost().networkError();
+
+ const stream = customer.reportStream({
+ ...mockReportOptions,
+ });
+
+ for await (const row of stream) {
+ failTestIfExecuted(); // should not be called
+ }
+
failTestIfExecuted(); // should not be called
} catch (error) {
- expect(mockedError).toHaveBeenCalled();
expect(spyHook).toHaveBeenCalled();
expect(spyHook).toHaveBeenCalledWith({
credentials: expect.any(Object),
query: expect.any(String),
reportOptions: mockReportOptions,
- error: mockError,
+ error: expect.any(Error),
});
}
});
@@ -641,16 +672,20 @@ describe("reportStream", () => {
};
const customer = newCustomer(hooks);
- const { mockStreamData, mockStreamError } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
- mockGetGoogleAdsError(customer);
+
+ mockGetAccessToken(customer);
try {
- const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamError(new Error("Original error message"));
- await stream.next();
+ axiosMock.onPost().networkError();
+
+ const stream = customer.reportStream({
+ ...mockReportOptions,
+ });
+
+ for await (const row of stream) {
+ failTestIfExecuted(); // should not be called
+ }
+
failTestIfExecuted(); // should not be called
} catch (error) {
expect(spyMockMethod).toHaveBeenCalled();
@@ -663,16 +698,21 @@ describe("reportStream", () => {
return;
},
};
- const customer = newCustomer(hooks);
- const { mockStreamData, mockStreamEnd } =
- mockBuildSearchStreamRequestAndService(customer);
- mockParse(mockParsedValues);
- mockGetGoogleAdsError(customer);
const spyHook = jest.spyOn(hooks, "onStreamError");
- const stream = customer.reportStream(mockReportOptions);
- mockStreamData(mockQueryReturnValue);
- mockStreamEnd();
- await stream.next();
+
+ const customer = newCustomer(hooks);
+
+ mockGetAccessToken(customer);
+
+ axiosMock.onPost().reply(200, mockStream());
+
+ const stream = customer.reportStream({
+ ...mockReportOptions,
+ });
+
+ for await (const row of stream) {
+ // don't care
+ }
expect(spyHook).not.toHaveBeenCalled();
});
diff --git a/src/customer.ts b/src/customer.ts
index 81dedbb8..07fcca26 100644
--- a/src/customer.ts
+++ b/src/customer.ts
@@ -1,4 +1,10 @@
import { CancellableStream } from "google-gax";
+import axios from "axios";
+import { chain } from "stream-chain";
+import { parser, Parser } from "stream-json";
+
+import { streamArray } from "stream-json/streamers/StreamArray";
+
import { ClientOptions } from "./client";
import {
BaseMutationHookArgs,
@@ -7,8 +13,9 @@ import {
HookedResolution,
Hooks,
} from "./hooks";
-import { parse } from "./parser";
-import { services } from "./protos";
+
+import { decamelizeKeys } from "./parserRest";
+import { services, errors } from "./protos";
import ServiceFactory from "./protos/autogen/serviceFactory";
import { buildQuery } from "./query";
import {
@@ -21,7 +28,10 @@ import {
RequestOptions,
RequestOptionsWithTotalResults,
} from "./types";
-import { createNextChunkArrivedPromise } from "./utils";
+
+import { googleAdsVersion } from "./version";
+
+const ROWS_PER_STREAMED_CHUNK = 10_000; // From experience, this is what can be expected from the API.
export class Customer extends ServiceFactory {
constructor(
@@ -44,7 +54,7 @@ export class Customer extends ServiceFactory {
return response;
}
- /**
+ /**
@description Stream query using a raw GAQL string. If a generic type is provided, it must be the type of a single row.
If a summary row is requested then this will be the last emitted row of the stream.
@hooks onStreamStart, onStreamError
@@ -62,7 +72,7 @@ export class Customer extends ServiceFactory {
}
}
- /**
+ /**
@description Single query using ReportOptions.
If a summary row is requested then this will be the first row of the results.
@hooks onQueryStart, onQueryError, onQueryEnd
@@ -84,7 +94,7 @@ export class Customer extends ServiceFactory {
@hooks none
*/
public async reportCount(
- options: Readonly
+ options: Readonly
): Promise {
// must get at least one row
const { gaqlQuery, requestOptions } = buildQuery({ ...options, limit: 1 });
@@ -103,7 +113,7 @@ export class Customer extends ServiceFactory {
return totalResultsCount;
}
- /**
+ /**
@description Stream query using ReportOptions. If a generic type is provided, it must be the type of a single row.
If a summary row is requested then this will be the last emitted row of the stream.
@hooks onStreamStart, onStreamError
@@ -121,7 +131,7 @@ export class Customer extends ServiceFactory {
}
}
- /**
+ /**
@description Retreive the raw stream using ReportOptions.
@hooks onStreamStart
@example
@@ -178,58 +188,185 @@ export class Customer extends ServiceFactory {
response: services.IGoogleAdsRow[];
nextPageToken: PageToken;
totalResultsCount?: number;
+ summaryRow?: services.IGoogleAdsRow;
}> {
- const { service, request } = this.buildSearchRequestAndService(
- gaqlQuery,
- requestOptions
- );
+ const accessToken = await this.getAccessToken();
- const searchResponse = await service.search(request, {
- otherArgs: { headers: this.callHeaders },
- autoPaginate: false, // autoPaginate doesn't work
- });
+ try {
+ const rawResponse = await axios(
+ this.prepareGoogleAdsServicePostRequestArgs("search", accessToken, {
+ data: {
+ query: gaqlQuery,
+ ...requestOptions,
+ },
+ })
+ );
- const response = searchResponse[0];
- const summaryRow = searchResponse[2].summary_row;
- const nextPageToken = searchResponse[2].next_page_token;
- const totalResultsCount = searchResponse[2].total_results_count
- ? +searchResponse[2].total_results_count
- : undefined;
+ const searchResponse = rawResponse.data as any;
- if (summaryRow) {
- response.unshift(summaryRow);
- }
+ const results = searchResponse.results ?? [];
+
+ const response: any[] = results.map((row: any) =>
+ this.decamelizeKeysIfNeeded(row)
+ );
- return { response, nextPageToken, totalResultsCount };
+ const summaryRow = this.decamelizeKeysIfNeeded(searchResponse.summaryRow);
+ const nextPageToken = searchResponse.nextPageToken;
+ const totalResultsCount = searchResponse.totalResultsCount
+ ? +searchResponse.totalResultsCount
+ : undefined;
+
+ return { response, nextPageToken, totalResultsCount, summaryRow };
+ } catch (e: any) {
+ if (e.response?.data.error.details[0]) {
+ throw new errors.GoogleAdsFailure(
+ this.decamelizeKeysIfNeeded(e.response.data.error.details[0])
+ );
+ }
+ throw e;
+ }
}
private async paginatedSearch(
gaqlQuery: string,
- requestOptions: Readonly,
- parser: (rows: services.IGoogleAdsRow[]) => services.IGoogleAdsRow[]
+ requestOptions: Readonly
): Promise<{
response: services.IGoogleAdsRow[];
totalResultsCount?: number;
}> {
+ /*
+ When possible, use the searchStream method to avoid the overhead of pagination.
+ */
+ if (
+ requestOptions.page_size === undefined &&
+ requestOptions.search_settings === undefined // If search_settings is set, we can't use searchStream.
+ ) {
+ // If no pagination or summary options are set, we can use the non-paginated search method.
+ const { response } = await this.useStreamToImitateRegularSearch(
+ gaqlQuery,
+ requestOptions
+ );
+
+ return { response };
+ }
+
const response: services.IGoogleAdsRow[] = [];
let nextPageToken: PageToken = undefined;
const initialSearch = await this.search(gaqlQuery, requestOptions);
- const totalResultsCount = initialSearch.totalResultsCount;
- response.push(...parser(initialSearch.response));
+ let totalResultsCount = initialSearch.totalResultsCount;
+ // Sometimes (when no results?) the totalResultsCount field is not included in the response.
+ // In this case, we set it to 0.
+ if (
+ requestOptions.search_settings?.return_total_results_count &&
+ initialSearch.totalResultsCount === undefined
+ ) {
+ totalResultsCount = 0;
+ }
+
+ let summaryRow = initialSearch.summaryRow;
+
+ response.push(...initialSearch.response);
nextPageToken = initialSearch.nextPageToken;
+
while (nextPageToken) {
const nextSearch = await this.search(gaqlQuery, {
...requestOptions,
page_token: nextPageToken,
});
- response.push(...parser(nextSearch.response));
+ response.push(...nextSearch.response);
nextPageToken = nextSearch.nextPageToken;
+ if (nextSearch.summaryRow) {
+ summaryRow = nextSearch.summaryRow;
+ }
+ }
+
+ if (summaryRow) {
+ response.unshift(summaryRow);
}
return { response, totalResultsCount };
}
+ // Google's searchStream method is faster than search, but it does not support all features.
+ // When report() is called, we use searchStream if possible, otherwise we use paginatedSearch.
+ // Note that just like `paginatedSearch`, this method accumulates results in memory. Use
+ // `reportStream` for a more memory-efficient alternative (at the cost of more CPU usage).
+ private async useStreamToImitateRegularSearch(
+ gaqlQuery: string,
+ requestOptions: Readonly
+ ): Promise<{
+ response: services.IGoogleAdsRow[];
+ }> {
+ const accessToken = await this.getAccessToken();
+
+ try {
+ const args = this.prepareGoogleAdsServicePostRequestArgs(
+ "searchStream",
+ accessToken,
+ {
+ responseType: "stream",
+ data: {
+ query: gaqlQuery,
+ ...requestOptions,
+ },
+ }
+ );
+
+ const response = await axios(args);
+
+ const stream = response.data as any;
+
+ const buffers = [];
+
+ let rowCount = -ROWS_PER_STREAMED_CHUNK;
+ for await (const data of stream) {
+ if (
+ this.clientOptions.max_reporting_rows &&
+ !this.gaqlQueryStringIncludesLimit(gaqlQuery)
+ ) {
+ // This is a quick-and-dirty way to count rows, but it's good enough for our purposes.
+ // We want to avoid using a proper JSON streamer here for performance reasons.
+ if (data.toString("utf-8").includes(`results":`)) {
+ rowCount += ROWS_PER_STREAMED_CHUNK;
+ }
+
+ if (rowCount > this.clientOptions.max_reporting_rows) {
+ throw this.generateTooManyRowsError();
+ }
+ }
+
+ buffers.push(data);
+ }
+
+ const asString = Buffer.concat(buffers).toString("utf-8");
+
+ const accumulator: services.IGoogleAdsRow[] = [];
+ let foundSummaryRow: services.IGoogleAdsRow | undefined;
+
+ for (const { results, summaryRow } of JSON.parse(asString)) {
+ if (summaryRow) {
+ foundSummaryRow = this.decamelizeKeysIfNeeded(summaryRow);
+ }
+
+ accumulator.push(
+ ...(results ?? []).map((row: any) => {
+ return this.decamelizeKeysIfNeeded(row);
+ })
+ );
+
+ if (foundSummaryRow) {
+ accumulator.unshift(foundSummaryRow);
+ }
+ }
+
+ return { response: accumulator };
+ } catch (e: any) {
+ await this.handleStreamError(e);
+ throw e; // The line above should always throw.
+ }
+ }
+
private async querier(
gaqlQuery: string,
requestOptions: RequestOptions = {},
@@ -263,18 +400,9 @@ export class Customer extends ServiceFactory {
}
try {
- const parsingWapper = (rows: services.IGoogleAdsRow[]) => {
- return this.clientOptions.disable_parsing
- ? rows
- : reportOptions
- ? parse({ results: rows, reportOptions })
- : parse({ results: rows, gaqlString: gaqlQuery });
- };
-
const { response, totalResultsCount } = await this.paginatedSearch(
gaqlQuery,
- requestOptions,
- parsingWapper
+ requestOptions
);
if (this.hooks.onQueryEnd && useHooks) {
@@ -305,7 +433,7 @@ export class Customer extends ServiceFactory {
}
}
- private async *streamer(
+ private async *streamer(
gaqlQuery: string,
requestOptions: RequestOptions = {},
reportOptions?: Readonly
@@ -337,68 +465,109 @@ export class Customer extends ServiceFactory {
}
}
- const { service, request } = this.buildSearchStreamRequestAndService(
- gaqlQuery,
- requestOptions
- );
-
- const stream = service.searchStream(request, {
- otherArgs: { headers: this.callHeaders },
- });
-
- let streamFinished = false;
- const accumulator: T[] = [];
-
- let nextChunk = createNextChunkArrivedPromise();
+ try {
+ const accessToken = await this.getAccessToken();
+
+ const args = this.prepareGoogleAdsServicePostRequestArgs(
+ "searchStream",
+ accessToken,
+ {
+ responseType: "stream",
+ data: {
+ query: gaqlQuery,
+ ...requestOptions,
+ },
+ }
+ );
- stream.on("data", (chunk: services.SearchGoogleAdsStreamResponse) => {
- const results = chunk.summary_row ? [chunk.summary_row] : chunk.results;
- const parsedResponse = this.clientOptions.disable_parsing
- ? results
- : reportOptions
- ? parse({ results, reportOptions })
- : parse({ results, gaqlString: gaqlQuery });
- accumulator.push(...(parsedResponse as T[]));
+ const response = await axios(args);
- nextChunk.resolve();
- nextChunk = createNextChunkArrivedPromise();
- });
+ const stream = response.data as any;
- stream.on("error", (searchError: Error) => {
- nextChunk.reject(searchError);
- });
+ // The options below help to make the stream less CPU intensive.
+ const parser = new Parser({
+ streamValues: false,
+ streamKeys: false,
+ packValues: true,
+ packKeys: true,
+ });
- stream.on("end", () => {
- streamFinished = true;
- nextChunk.resolve();
- });
+ const pipeline = chain([stream, parser, streamArray()]);
+ let count = 0;
+
+ for await (const data of pipeline) {
+ const results =
+ data.value.results ??
+ (data.value.summaryRow ? [data.value.summaryRow] : undefined) ??
+ [];
+
+ count += results.length;
+ if (
+ this.clientOptions.max_reporting_rows &&
+ count > this.clientOptions.max_reporting_rows &&
+ !this.gaqlQueryStringIncludesLimit(gaqlQuery)
+ ) {
+ throw this.generateTooManyRowsError();
+ }
- try {
- while (!streamFinished || accumulator.length) {
- if (accumulator.length > 0) {
- const item = accumulator.shift();
- if (item === undefined) {
- throw new Error("UNDEFINED_STREAM_ERROR");
- }
- yield item;
- } else {
- await nextChunk.newPromise;
+ for (const row of results) {
+ const parsed = this.decamelizeKeysIfNeeded(row);
+ yield parsed as T;
}
}
- } catch (searchError: any) {
- const googleAdsError = this.getGoogleAdsError(searchError);
- if (this.hooks.onStreamError) {
- await this.hooks.onStreamError({
- ...baseHookArguments,
- error: googleAdsError,
- });
+
+ return;
+ } catch (e: any) {
+ try {
+ await this.handleStreamError(e);
+ } catch (_e: any) {
+ if (this.hooks.onStreamError) {
+ await this.hooks.onStreamError({
+ ...baseHookArguments,
+ error: _e,
+ });
+ }
+ throw _e;
}
- throw googleAdsError;
- } finally {
- stream.destroy();
}
}
+ private async handleStreamError(e: any) {
+ if (!e?.response?.data) {
+ throw e;
+ }
+ // The error is a stream, so some effort is required to parse it.
+ const stream = e.response.data as any;
+
+ const pipeline = chain([stream, parser(), streamArray()]);
+
+ const defaultErrorMessage = "Unknown GoogleAdsFailure";
+
+ let googleAdsFailure: errors.GoogleAdsFailure | Error = new Error(
+ defaultErrorMessage
+ );
+
+ // Only throw the first error.
+ pipeline.once("data", (data) => {
+ if (data?.value?.error?.details?.[0]) {
+ googleAdsFailure = new errors.GoogleAdsFailure(
+ this.decamelizeKeysIfNeeded(data.value.error.details[0])
+ );
+ } else {
+ googleAdsFailure = new Error(
+ data?.value?.error?.message ?? defaultErrorMessage,
+ { cause: data?.value?.error ?? data?.value }
+ );
+ }
+ });
+
+ // Must always reject.
+ await new Promise((_, reject) => {
+ pipeline.on("end", () => reject(googleAdsFailure));
+ pipeline.on("error", (err) => reject(err));
+ });
+ }
+
/**
* @description Creates, updates, or removes resources. This method supports atomic transactions
* with multiple types of resources. For example, you can atomically create a campaign and a
@@ -495,4 +664,37 @@ export class Customer extends ServiceFactory {
},
};
}
+
+ private prepareGoogleAdsServicePostRequestArgs(
+ functionName: string,
+ accessToken: string,
+ extra: Record
+ ) {
+ return {
+ method: "POST",
+ url: `https://googleads.googleapis.com/${googleAdsVersion}/customers/${this.customerOptions.customer_id}/googleAds:${functionName}`,
+ headers: {
+ Authorization: `Bearer ${accessToken}`,
+ ...this.callHeaders,
+ },
+ ...extra,
+ };
+ }
+
+ private decamelizeKeysIfNeeded(input: any) {
+ if (this.clientOptions.disable_parsing) {
+ return input;
+ }
+ return decamelizeKeys(input);
+ }
+
+ private gaqlQueryStringIncludesLimit(gaqlQuery: string) {
+ return gaqlQuery.toLowerCase().includes("limit ");
+ }
+
+ private generateTooManyRowsError() {
+ return new Error(
+ `Exceeded the maximum number of rows set by "max_reporting_rows" (${this.clientOptions.max_reporting_rows}).`
+ );
+ }
}
diff --git a/src/parserRest.spec.ts b/src/parserRest.spec.ts
new file mode 100644
index 00000000..ddad34ef
--- /dev/null
+++ b/src/parserRest.spec.ts
@@ -0,0 +1,160 @@
+import // ParsingError,
+// parse,
+// getGAQLFields,
+// getReportOptionFields,
+// parseRows,
+"./parserRest";
+import { ReportOptions } from "./types";
+import { enums, services } from "./protos";
+import { decamelizeKeys } from "./parserRest";
+
+describe("decamelizeKeys", () => {
+ it("works in the happy path", () => {
+ expect(decamelizeKeys({})).toEqual({});
+
+ expect(
+ decamelizeKeys({
+ campaign: {
+ resourceName: "customers/3176626509/campaigns/11331000428",
+ name: "Vac-U-Lock- Exact",
+ id: "11331000428",
+ },
+ adGroup: {
+ resourceName: "customers/3176626509/adGroups/131396279681",
+ id: "131396279681",
+ name: "Vac-U-Lock",
+ status: "ENABLED",
+ },
+ metrics: {
+ clicks: "486",
+ costMicros: "312690000",
+ allConversionsValue: 180.70756678,
+ allConversions: 4.143961,
+ impressions: "1149",
+ },
+ searchTermView: {
+ resourceName:
+ "customers/3176626509/searchTermViews/11331000428~131396279681~dmFjIHUgbG9jaw",
+ },
+ segments: { date: "2023-01-27" },
+ })
+ ).toEqual({
+ campaign: {
+ resource_name: "customers/3176626509/campaigns/11331000428",
+ name: "Vac-U-Lock- Exact",
+ id: 11331000428,
+ },
+ ad_group: {
+ resource_name: "customers/3176626509/adGroups/131396279681",
+ id: 131396279681,
+ name: "Vac-U-Lock",
+ status: enums.AdGroupStatus.ENABLED,
+ },
+ metrics: {
+ clicks: 486,
+ cost_micros: 312690000,
+ all_conversions_value: 180.70756678,
+ all_conversions: 4.143961,
+ impressions: 1149,
+ },
+ search_term_view: {
+ resource_name:
+ "customers/3176626509/searchTermViews/11331000428~131396279681~dmFjIHUgbG9jaw",
+ },
+ segments: { date: "2023-01-27" },
+ });
+ });
+
+ it("works with nested objects (messages) and arrays (eg final_url and policy_topic_entries)", () => {
+ expect(
+ decamelizeKeys({
+ adGroupAd: {
+ resourceName:
+ "customers/3827277046/adGroupAds/60447916982~316364195445",
+ ad: {
+ resourceName: "customers/3827277046/ads/316364195445",
+ finalUrls: ["https://opteo.com"],
+ },
+ policySummary: {
+ policyTopicEntries: [
+ {
+ type: "LIMITED",
+ evidences: [{ textList: { texts: ["ads"] } }],
+ constraints: [
+ {
+ countryConstraintList: {
+ countries: [
+ { countryCriterion: "geoTargetConstants/2056" },
+ { countryCriterion: "geoTargetConstants/2442" },
+ { countryCriterion: "geoTargetConstants/2528" },
+ ],
+ totalTargetedCountries: 0,
+ },
+ },
+ ],
+ topic: "TRADEMARKS_IN_AD_TEXT",
+ },
+ ],
+ },
+ },
+ })
+ ).toEqual({
+ ad_group_ad: {
+ resource_name:
+ "customers/3827277046/adGroupAds/60447916982~316364195445",
+ ad: {
+ resource_name: "customers/3827277046/ads/316364195445",
+ final_urls: ["https://opteo.com"],
+ },
+ policy_summary: {
+ policy_topic_entries: [
+ {
+ type: enums.PolicyTopicEntryType.LIMITED,
+ evidences: [{ text_list: { texts: ["ads"] } }],
+ constraints: [
+ {
+ country_constraint_list: {
+ countries: [
+ { country_criterion: "geoTargetConstants/2056" },
+ { country_criterion: "geoTargetConstants/2442" },
+ { country_criterion: "geoTargetConstants/2528" },
+ ],
+ total_targeted_countries: 0,
+ },
+ },
+ ],
+ topic: "TRADEMARKS_IN_AD_TEXT",
+ },
+ ],
+ },
+ },
+ });
+ });
+
+ it("parses errors", () => {
+ expect(
+ decamelizeKeys({
+ "@type":
+ "type.googleapis.com/google.ads.googleads.v14.errors.GoogleAdsFailure",
+ errors: [
+ {
+ errorCode: { queryError: "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE" },
+ message:
+ "Error in search_term_views: is not a valid resource name.",
+ },
+ ],
+ requestId: "v88qTFjnLHkKAm5HwYKbgg",
+ })
+ ).toEqual({
+ "@type":
+ "type.googleapis.com/google.ads.googleads.v14.errors.GoogleAdsFailure",
+ errors: [
+ {
+ error_code: { query_error: 45 },
+ message: "Error in search_term_views: is not a valid resource name.",
+ },
+ ],
+ request_id: "v88qTFjnLHkKAm5HwYKbgg",
+ });
+ });
+});
diff --git a/src/parserRest.ts b/src/parserRest.ts
new file mode 100644
index 00000000..bbe2fa5c
--- /dev/null
+++ b/src/parserRest.ts
@@ -0,0 +1,111 @@
+/**
+ * JSON Rest parsing
+ */
+
+import mapObject from "map-obj";
+import { parse } from "circ-json";
+
+import { toSnakeCase } from "./utils";
+import {
+ fieldDataTypes as fieldDataTypesString,
+ fields,
+} from "./protos/autogen/fields";
+import { enums } from "./protos/autogen/enums";
+
+const fieldDataTypes = parse(fieldDataTypesString);
+
+const decamelizeCache = new Map();
+const fieldTypeCache = new Map();
+
+const isObject = (value: unknown) =>
+ typeof value === "object" && value !== null;
+
+export const decamelizeKeys = (input: any) => {
+ if (!isObject(input)) {
+ return input;
+ }
+
+ const makeMapper = (parentPath?: string) => (key: string, value: any) => {
+ key = cachedDecamelize(key);
+
+ if (isObject(value)) {
+ const path = parentPath === undefined ? key : `${parentPath}.${key}`;
+
+ // @ts-ignore
+ value = mapObject(value, makeMapper(path));
+ } else {
+ value = cachedValueParser(key, parentPath, value);
+ }
+
+ return [key, value];
+ };
+
+ // @ts-ignore
+ return mapObject(input, makeMapper());
+};
+
+const cachedDecamelize = (key: string) => {
+ const cachedResult = decamelizeCache.get(key) as string | undefined;
+ if (cachedResult) {
+ return cachedResult;
+ }
+
+ const newKey = toSnakeCase(key);
+
+ decamelizeCache.set(key, newKey);
+
+ return newKey;
+};
+
+const cachedValueParser = (
+ key: string,
+ parentPath: string | undefined,
+ value: any
+) => {
+ let newValue = value;
+
+ const fullPath = parentPath ? `${parentPath}.${key}` : key;
+
+ const megaDataType = getTypeFromPath(fullPath);
+
+ if (megaDataType === undefined && !fullPath.startsWith("@")) {
+ console.warn(`No data type found for ${fullPath}`);
+ } else if (typeof megaDataType === "object") {
+ newValue = megaDataType[value];
+ } else if (megaDataType === "INT64") {
+ newValue = Number(value);
+ } else if (megaDataType === "ENUM") {
+ // Some enums aren't embedded in megaDataType, so we need this fallback.
+ // @ts-expect-error typescript doesn't like accessing items in a namespace with a string
+ newValue = enums[fields.enumFields[fullPath]][value]; // e.g. enums['CampaignStatus'][ENABLED] = "2"
+ }
+
+ return newValue;
+};
+
+const getTypeFromPath = (path: string) => {
+ const cachedResult = fieldTypeCache.get(path) as string | undefined;
+ if (cachedResult) {
+ return cachedResult;
+ }
+
+ const t = get(fieldDataTypes, path);
+
+ fieldTypeCache.set(path, t);
+
+ return t;
+};
+
+// Copied from youmightnotneed.com
+const get = (obj: any, path: string) => {
+ if (!path) return undefined;
+
+ // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.
+ // Regex explained: https://regexr.com/58j0k
+ const pathArray = path.match(/([^[.\]])+/g);
+
+ if (!pathArray) return undefined;
+
+ // Find value
+ return pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj);
+};
diff --git a/src/protos/autogen/enums.ts b/src/protos/autogen/enums.ts
index a4e2a84c..4350ff86 100644
--- a/src/protos/autogen/enums.ts
+++ b/src/protos/autogen/enums.ts
@@ -4,7 +4,7 @@
export namespace enums {
/**
* @name PolicyTopicEntryTypeEnum.PolicyTopicEntryType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyTopicEntryTypeEnum.PolicyTopicEntryType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyTopicEntryTypeEnum.PolicyTopicEntryType
*/
export enum PolicyTopicEntryType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -19,7 +19,7 @@ export namespace enums {
/**
* @name PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType
*/
export enum PolicyTopicEvidenceDestinationMismatchUrlType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -33,7 +33,7 @@ export namespace enums {
/**
* @name PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice
*/
export enum PolicyTopicEvidenceDestinationNotWorkingDevice {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -45,7 +45,7 @@ export namespace enums {
/**
* @name PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType
*/
export enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -56,7 +56,7 @@ export namespace enums {
/**
* @name AssetLinkPrimaryStatusEnum.AssetLinkPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetLinkPrimaryStatusEnum.AssetLinkPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetLinkPrimaryStatusEnum.AssetLinkPrimaryStatus
*/
export enum AssetLinkPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -71,7 +71,7 @@ export namespace enums {
/**
* @name AssetLinkPrimaryStatusReasonEnum.AssetLinkPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetLinkPrimaryStatusReasonEnum.AssetLinkPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetLinkPrimaryStatusReasonEnum.AssetLinkPrimaryStatusReason
*/
export enum AssetLinkPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -85,7 +85,7 @@ export namespace enums {
/**
* @name AssetOfflineEvaluationErrorReasonsEnum.AssetOfflineEvaluationErrorReasons
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetOfflineEvaluationErrorReasonsEnum.AssetOfflineEvaluationErrorReasons
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetOfflineEvaluationErrorReasonsEnum.AssetOfflineEvaluationErrorReasons
*/
export enum AssetOfflineEvaluationErrorReasons {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -101,7 +101,7 @@ export namespace enums {
/**
* @name PolicyApprovalStatusEnum.PolicyApprovalStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyApprovalStatusEnum.PolicyApprovalStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyApprovalStatusEnum.PolicyApprovalStatus
*/
export enum PolicyApprovalStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -114,7 +114,7 @@ export namespace enums {
/**
* @name PolicyReviewStatusEnum.PolicyReviewStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PolicyReviewStatusEnum.PolicyReviewStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PolicyReviewStatusEnum.PolicyReviewStatus
*/
export enum PolicyReviewStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -127,7 +127,7 @@ export namespace enums {
/**
* @name AssetPerformanceLabelEnum.AssetPerformanceLabel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetPerformanceLabelEnum.AssetPerformanceLabel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetPerformanceLabelEnum.AssetPerformanceLabel
*/
export enum AssetPerformanceLabel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -141,7 +141,7 @@ export namespace enums {
/**
* @name ServedAssetFieldTypeEnum.ServedAssetFieldType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ServedAssetFieldTypeEnum.ServedAssetFieldType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ServedAssetFieldTypeEnum.ServedAssetFieldType
*/
export enum ServedAssetFieldType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -180,7 +180,7 @@ export namespace enums {
/**
* @name CallConversionReportingStateEnum.CallConversionReportingState
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CallConversionReportingStateEnum.CallConversionReportingState
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CallConversionReportingStateEnum.CallConversionReportingState
*/
export enum CallConversionReportingState {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -192,7 +192,7 @@ export namespace enums {
/**
* @name DisplayAdFormatSettingEnum.DisplayAdFormatSetting
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DisplayAdFormatSettingEnum.DisplayAdFormatSetting
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DisplayAdFormatSettingEnum.DisplayAdFormatSetting
*/
export enum DisplayAdFormatSetting {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -204,7 +204,7 @@ export namespace enums {
/**
* @name DisplayUploadProductTypeEnum.DisplayUploadProductType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DisplayUploadProductTypeEnum.DisplayUploadProductType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DisplayUploadProductTypeEnum.DisplayUploadProductType
*/
export enum DisplayUploadProductType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -223,7 +223,7 @@ export namespace enums {
/**
* @name LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
*/
export enum LegacyAppInstallAdAppStore {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -237,7 +237,7 @@ export namespace enums {
/**
* @name MimeTypeEnum.MimeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MimeTypeEnum.MimeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MimeTypeEnum.MimeType
*/
export enum MimeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -258,7 +258,7 @@ export namespace enums {
/**
* @name VideoThumbnailEnum.VideoThumbnail
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/VideoThumbnailEnum.VideoThumbnail
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/VideoThumbnailEnum.VideoThumbnail
*/
export enum VideoThumbnail {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -269,9 +269,20 @@ export namespace enums {
THUMBNAIL_3 = 5, // THUMBNAIL_3
}
+ /**
+ * @name ApplicationInstanceEnum.ApplicationInstance
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ApplicationInstanceEnum.ApplicationInstance
+ */
+ export enum ApplicationInstance {
+ UNSPECIFIED = 0, // UNSPECIFIED
+ UNKNOWN = 1, // UNKNOWN
+ DEVELOPMENT_AND_TESTING = 2, // DEVELOPMENT_AND_TESTING
+ PRODUCTION = 3, // PRODUCTION
+ }
+
/**
* @name ChainRelationshipTypeEnum.ChainRelationshipType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ChainRelationshipTypeEnum.ChainRelationshipType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ChainRelationshipTypeEnum.ChainRelationshipType
*/
export enum ChainRelationshipType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -282,7 +293,7 @@ export namespace enums {
/**
* @name LocationOwnershipTypeEnum.LocationOwnershipType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocationOwnershipTypeEnum.LocationOwnershipType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocationOwnershipTypeEnum.LocationOwnershipType
*/
export enum LocationOwnershipType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -293,7 +304,7 @@ export namespace enums {
/**
* @name LocationStringFilterTypeEnum.LocationStringFilterType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocationStringFilterTypeEnum.LocationStringFilterType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocationStringFilterTypeEnum.LocationStringFilterType
*/
export enum LocationStringFilterType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -303,7 +314,7 @@ export namespace enums {
/**
* @name AgeRangeTypeEnum.AgeRangeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AgeRangeTypeEnum.AgeRangeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AgeRangeTypeEnum.AgeRangeType
*/
export enum AgeRangeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -319,7 +330,7 @@ export namespace enums {
/**
* @name AppPaymentModelTypeEnum.AppPaymentModelType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AppPaymentModelTypeEnum.AppPaymentModelType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AppPaymentModelTypeEnum.AppPaymentModelType
*/
export enum AppPaymentModelType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -329,7 +340,7 @@ export namespace enums {
/**
* @name BrandRequestRejectionReasonEnum.BrandRequestRejectionReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BrandRequestRejectionReasonEnum.BrandRequestRejectionReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BrandRequestRejectionReasonEnum.BrandRequestRejectionReason
*/
export enum BrandRequestRejectionReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -342,7 +353,7 @@ export namespace enums {
/**
* @name BrandStateEnum.BrandState
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BrandStateEnum.BrandState
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BrandStateEnum.BrandState
*/
export enum BrandState {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -357,7 +368,7 @@ export namespace enums {
/**
* @name ContentLabelTypeEnum.ContentLabelType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ContentLabelTypeEnum.ContentLabelType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ContentLabelTypeEnum.ContentLabelType
*/
export enum ContentLabelType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -391,7 +402,7 @@ export namespace enums {
/**
* @name DayOfWeekEnum.DayOfWeek
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DayOfWeekEnum.DayOfWeek
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DayOfWeekEnum.DayOfWeek
*/
export enum DayOfWeek {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -407,7 +418,7 @@ export namespace enums {
/**
* @name DeviceEnum.Device
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DeviceEnum.Device
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DeviceEnum.Device
*/
export enum Device {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -421,7 +432,7 @@ export namespace enums {
/**
* @name GenderTypeEnum.GenderType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GenderTypeEnum.GenderType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GenderTypeEnum.GenderType
*/
export enum GenderType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -433,7 +444,7 @@ export namespace enums {
/**
* @name HotelDateSelectionTypeEnum.HotelDateSelectionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/HotelDateSelectionTypeEnum.HotelDateSelectionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/HotelDateSelectionTypeEnum.HotelDateSelectionType
*/
export enum HotelDateSelectionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -444,7 +455,7 @@ export namespace enums {
/**
* @name IncomeRangeTypeEnum.IncomeRangeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IncomeRangeTypeEnum.IncomeRangeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IncomeRangeTypeEnum.IncomeRangeType
*/
export enum IncomeRangeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -460,7 +471,7 @@ export namespace enums {
/**
* @name InteractionTypeEnum.InteractionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InteractionTypeEnum.InteractionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InteractionTypeEnum.InteractionType
*/
export enum InteractionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -470,7 +481,7 @@ export namespace enums {
/**
* @name KeywordMatchTypeEnum.KeywordMatchType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordMatchTypeEnum.KeywordMatchType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordMatchTypeEnum.KeywordMatchType
*/
export enum KeywordMatchType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -482,7 +493,7 @@ export namespace enums {
/**
* @name ListingGroupTypeEnum.ListingGroupType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupTypeEnum.ListingGroupType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupTypeEnum.ListingGroupType
*/
export enum ListingGroupType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -493,7 +504,7 @@ export namespace enums {
/**
* @name LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits
*/
export enum LocationGroupRadiusUnits {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -505,7 +516,7 @@ export namespace enums {
/**
* @name MinuteOfHourEnum.MinuteOfHour
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MinuteOfHourEnum.MinuteOfHour
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MinuteOfHourEnum.MinuteOfHour
*/
export enum MinuteOfHour {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -518,7 +529,7 @@ export namespace enums {
/**
* @name ParentalStatusTypeEnum.ParentalStatusType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ParentalStatusTypeEnum.ParentalStatusType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ParentalStatusTypeEnum.ParentalStatusType
*/
export enum ParentalStatusType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -530,7 +541,7 @@ export namespace enums {
/**
* @name ProductCategoryLevelEnum.ProductCategoryLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductCategoryLevelEnum.ProductCategoryLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductCategoryLevelEnum.ProductCategoryLevel
*/
export enum ProductCategoryLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -544,7 +555,7 @@ export namespace enums {
/**
* @name ProductChannelEnum.ProductChannel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductChannelEnum.ProductChannel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductChannelEnum.ProductChannel
*/
export enum ProductChannel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -555,7 +566,7 @@ export namespace enums {
/**
* @name ProductChannelExclusivityEnum.ProductChannelExclusivity
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductChannelExclusivityEnum.ProductChannelExclusivity
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductChannelExclusivityEnum.ProductChannelExclusivity
*/
export enum ProductChannelExclusivity {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -566,7 +577,7 @@ export namespace enums {
/**
* @name ProductConditionEnum.ProductCondition
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductConditionEnum.ProductCondition
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductConditionEnum.ProductCondition
*/
export enum ProductCondition {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -578,7 +589,7 @@ export namespace enums {
/**
* @name ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex
*/
export enum ProductCustomAttributeIndex {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -592,7 +603,7 @@ export namespace enums {
/**
* @name ProductTypeLevelEnum.ProductTypeLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductTypeLevelEnum.ProductTypeLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductTypeLevelEnum.ProductTypeLevel
*/
export enum ProductTypeLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -606,7 +617,7 @@ export namespace enums {
/**
* @name ProximityRadiusUnitsEnum.ProximityRadiusUnits
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProximityRadiusUnitsEnum.ProximityRadiusUnits
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProximityRadiusUnitsEnum.ProximityRadiusUnits
*/
export enum ProximityRadiusUnits {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -617,7 +628,7 @@ export namespace enums {
/**
* @name WebpageConditionOperandEnum.WebpageConditionOperand
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/WebpageConditionOperandEnum.WebpageConditionOperand
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/WebpageConditionOperandEnum.WebpageConditionOperand
*/
export enum WebpageConditionOperand {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -631,7 +642,7 @@ export namespace enums {
/**
* @name WebpageConditionOperatorEnum.WebpageConditionOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/WebpageConditionOperatorEnum.WebpageConditionOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/WebpageConditionOperatorEnum.WebpageConditionOperator
*/
export enum WebpageConditionOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -642,7 +653,7 @@ export namespace enums {
/**
* @name BusinessMessageCallToActionTypeEnum.BusinessMessageCallToActionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BusinessMessageCallToActionTypeEnum.BusinessMessageCallToActionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BusinessMessageCallToActionTypeEnum.BusinessMessageCallToActionType
*/
export enum BusinessMessageCallToActionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -659,7 +670,7 @@ export namespace enums {
/**
* @name BusinessMessageProviderEnum.BusinessMessageProvider
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BusinessMessageProviderEnum.BusinessMessageProvider
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BusinessMessageProviderEnum.BusinessMessageProvider
*/
export enum BusinessMessageProvider {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -669,7 +680,7 @@ export namespace enums {
/**
* @name CallToActionTypeEnum.CallToActionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CallToActionTypeEnum.CallToActionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CallToActionTypeEnum.CallToActionType
*/
export enum CallToActionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -695,7 +706,7 @@ export namespace enums {
/**
* @name LeadFormCallToActionTypeEnum.LeadFormCallToActionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LeadFormCallToActionTypeEnum.LeadFormCallToActionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LeadFormCallToActionTypeEnum.LeadFormCallToActionType
*/
export enum LeadFormCallToActionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -718,7 +729,7 @@ export namespace enums {
/**
* @name LeadFormDesiredIntentEnum.LeadFormDesiredIntent
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LeadFormDesiredIntentEnum.LeadFormDesiredIntent
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LeadFormDesiredIntentEnum.LeadFormDesiredIntent
*/
export enum LeadFormDesiredIntent {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -729,7 +740,7 @@ export namespace enums {
/**
* @name LeadFormFieldUserInputTypeEnum.LeadFormFieldUserInputType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LeadFormFieldUserInputTypeEnum.LeadFormFieldUserInputType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LeadFormFieldUserInputTypeEnum.LeadFormFieldUserInputType
*/
export enum LeadFormFieldUserInputType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -854,7 +865,7 @@ export namespace enums {
/**
* @name LeadFormPostSubmitCallToActionTypeEnum.LeadFormPostSubmitCallToActionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LeadFormPostSubmitCallToActionTypeEnum.LeadFormPostSubmitCallToActionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LeadFormPostSubmitCallToActionTypeEnum.LeadFormPostSubmitCallToActionType
*/
export enum LeadFormPostSubmitCallToActionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -867,7 +878,7 @@ export namespace enums {
/**
* @name MobileAppVendorEnum.MobileAppVendor
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MobileAppVendorEnum.MobileAppVendor
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MobileAppVendorEnum.MobileAppVendor
*/
export enum MobileAppVendor {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -878,7 +889,7 @@ export namespace enums {
/**
* @name PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier
*/
export enum PriceExtensionPriceQualifier {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -890,7 +901,7 @@ export namespace enums {
/**
* @name PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit
*/
export enum PriceExtensionPriceUnit {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -905,7 +916,7 @@ export namespace enums {
/**
* @name PriceExtensionTypeEnum.PriceExtensionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PriceExtensionTypeEnum.PriceExtensionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PriceExtensionTypeEnum.PriceExtensionType
*/
export enum PriceExtensionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -923,7 +934,7 @@ export namespace enums {
/**
* @name PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier
*/
export enum PromotionExtensionDiscountModifier {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -933,7 +944,7 @@ export namespace enums {
/**
* @name PromotionExtensionOccasionEnum.PromotionExtensionOccasion
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PromotionExtensionOccasionEnum.PromotionExtensionOccasion
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PromotionExtensionOccasionEnum.PromotionExtensionOccasion
*/
export enum PromotionExtensionOccasion {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -979,7 +990,7 @@ export namespace enums {
/**
* @name AudienceInsightsDimensionEnum.AudienceInsightsDimension
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsDimensionEnum.AudienceInsightsDimension
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsDimensionEnum.AudienceInsightsDimension
*/
export enum AudienceInsightsDimension {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -989,7 +1000,6 @@ export namespace enums {
GEO_TARGET_COUNTRY = 4, // GEO_TARGET_COUNTRY
SUB_COUNTRY_LOCATION = 5, // SUB_COUNTRY_LOCATION
YOUTUBE_CHANNEL = 6, // YOUTUBE_CHANNEL
- YOUTUBE_DYNAMIC_LINEUP = 7, // YOUTUBE_DYNAMIC_LINEUP
AFFINITY_USER_INTEREST = 8, // AFFINITY_USER_INTEREST
IN_MARKET_USER_INTEREST = 9, // IN_MARKET_USER_INTEREST
PARENTAL_STATUS = 10, // PARENTAL_STATUS
@@ -997,11 +1007,13 @@ export namespace enums {
AGE_RANGE = 12, // AGE_RANGE
GENDER = 13, // GENDER
YOUTUBE_VIDEO = 14, // YOUTUBE_VIDEO
+ DEVICE = 15, // DEVICE
+ YOUTUBE_LINEUP = 16, // YOUTUBE_LINEUP
}
/**
* @name InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities
*/
export enum InsightsKnowledgeGraphEntityCapabilities {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1012,7 +1024,7 @@ export namespace enums {
/**
* @name FixedCpmGoalEnum.FixedCpmGoal
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/FixedCpmGoalEnum.FixedCpmGoal
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/FixedCpmGoalEnum.FixedCpmGoal
*/
export enum FixedCpmGoal {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1023,7 +1035,7 @@ export namespace enums {
/**
* @name FixedCpmTargetFrequencyTimeUnitEnum.FixedCpmTargetFrequencyTimeUnit
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/FixedCpmTargetFrequencyTimeUnitEnum.FixedCpmTargetFrequencyTimeUnit
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/FixedCpmTargetFrequencyTimeUnitEnum.FixedCpmTargetFrequencyTimeUnit
*/
export enum FixedCpmTargetFrequencyTimeUnit {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1033,7 +1045,7 @@ export namespace enums {
/**
* @name TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit
*/
export enum TargetFrequencyTimeUnit {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1044,7 +1056,7 @@ export namespace enums {
/**
* @name TargetImpressionShareLocationEnum.TargetImpressionShareLocation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TargetImpressionShareLocationEnum.TargetImpressionShareLocation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TargetImpressionShareLocationEnum.TargetImpressionShareLocation
*/
export enum TargetImpressionShareLocation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1056,7 +1068,7 @@ export namespace enums {
/**
* @name ConsentStatusEnum.ConsentStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConsentStatusEnum.ConsentStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConsentStatusEnum.ConsentStatus
*/
export enum ConsentStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1067,7 +1079,7 @@ export namespace enums {
/**
* @name AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType
*/
export enum AdvertisingChannelSubType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1095,7 +1107,7 @@ export namespace enums {
/**
* @name AdvertisingChannelTypeEnum.AdvertisingChannelType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdvertisingChannelTypeEnum.AdvertisingChannelType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdvertisingChannelTypeEnum.AdvertisingChannelType
*/
export enum AdvertisingChannelType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1116,7 +1128,7 @@ export namespace enums {
/**
* @name CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode
*/
export enum CriterionCategoryChannelAvailabilityMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1128,7 +1140,7 @@ export namespace enums {
/**
* @name CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode
*/
export enum CriterionCategoryLocaleAvailabilityMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1141,7 +1153,7 @@ export namespace enums {
/**
* @name CustomizerAttributeTypeEnum.CustomizerAttributeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomizerAttributeTypeEnum.CustomizerAttributeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomizerAttributeTypeEnum.CustomizerAttributeType
*/
export enum CustomizerAttributeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1154,7 +1166,7 @@ export namespace enums {
/**
* @name MonthOfYearEnum.MonthOfYear
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MonthOfYearEnum.MonthOfYear
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MonthOfYearEnum.MonthOfYear
*/
export enum MonthOfYear {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1175,7 +1187,7 @@ export namespace enums {
/**
* @name AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType
*/
export enum AppUrlOperatingSystemType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1186,7 +1198,7 @@ export namespace enums {
/**
* @name FrequencyCapEventTypeEnum.FrequencyCapEventType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/FrequencyCapEventTypeEnum.FrequencyCapEventType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/FrequencyCapEventTypeEnum.FrequencyCapEventType
*/
export enum FrequencyCapEventType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1197,7 +1209,7 @@ export namespace enums {
/**
* @name FrequencyCapLevelEnum.FrequencyCapLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/FrequencyCapLevelEnum.FrequencyCapLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/FrequencyCapLevelEnum.FrequencyCapLevel
*/
export enum FrequencyCapLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1209,7 +1221,7 @@ export namespace enums {
/**
* @name FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit
*/
export enum FrequencyCapTimeUnit {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1221,7 +1233,7 @@ export namespace enums {
/**
* @name KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType
*/
export enum KeywordPlanAggregateMetricType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1231,7 +1243,7 @@ export namespace enums {
/**
* @name KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel
*/
export enum KeywordPlanCompetitionLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1243,7 +1255,7 @@ export namespace enums {
/**
* @name KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType
*/
export enum KeywordPlanConceptGroupType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1255,7 +1267,7 @@ export namespace enums {
/**
* @name ExperimentMetricEnum.ExperimentMetric
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentMetricEnum.ExperimentMetric
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentMetricEnum.ExperimentMetric
*/
export enum ExperimentMetric {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1277,7 +1289,7 @@ export namespace enums {
/**
* @name ExperimentMetricDirectionEnum.ExperimentMetricDirection
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentMetricDirectionEnum.ExperimentMetricDirection
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentMetricDirectionEnum.ExperimentMetricDirection
*/
export enum ExperimentMetricDirection {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1291,7 +1303,7 @@ export namespace enums {
/**
* @name InteractionEventTypeEnum.InteractionEventType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InteractionEventTypeEnum.InteractionEventType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InteractionEventTypeEnum.InteractionEventType
*/
export enum InteractionEventType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1304,7 +1316,7 @@ export namespace enums {
/**
* @name QualityScoreBucketEnum.QualityScoreBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/QualityScoreBucketEnum.QualityScoreBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/QualityScoreBucketEnum.QualityScoreBucket
*/
export enum QualityScoreBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1316,7 +1328,7 @@ export namespace enums {
/**
* @name UserIdentifierSourceEnum.UserIdentifierSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserIdentifierSourceEnum.UserIdentifierSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserIdentifierSourceEnum.UserIdentifierSource
*/
export enum UserIdentifierSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1327,7 +1339,7 @@ export namespace enums {
/**
* @name AdDestinationTypeEnum.AdDestinationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdDestinationTypeEnum.AdDestinationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdDestinationTypeEnum.AdDestinationType
*/
export enum AdDestinationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1347,7 +1359,7 @@ export namespace enums {
/**
* @name AdFormatTypeEnum.AdFormatType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdFormatTypeEnum.AdFormatType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdFormatTypeEnum.AdFormatType
*/
export enum AdFormatType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1362,11 +1374,12 @@ export namespace enums {
MASTHEAD = 9, // MASTHEAD
AUDIO = 10, // AUDIO
SHORTS = 11, // SHORTS
+ PAUSE = 12, // PAUSE
}
/**
* @name AdNetworkTypeEnum.AdNetworkType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdNetworkTypeEnum.AdNetworkType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdNetworkTypeEnum.AdNetworkType
*/
export enum AdNetworkType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1378,11 +1391,14 @@ export namespace enums {
YOUTUBE = 8, // YOUTUBE
GOOGLE_TV = 9, // GOOGLE_TV
GOOGLE_OWNED_CHANNELS = 10, // GOOGLE_OWNED_CHANNELS
+ GMAIL = 11, // GMAIL
+ DISCOVER = 12, // DISCOVER
+ MAPS = 13, // MAPS
}
/**
* @name BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatus
*/
export enum BudgetCampaignAssociationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1393,7 +1409,7 @@ export namespace enums {
/**
* @name ClickTypeEnum.ClickType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ClickTypeEnum.ClickType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ClickTypeEnum.ClickType
*/
export enum ClickType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1458,7 +1474,7 @@ export namespace enums {
/**
* @name ConversionActionCategoryEnum.ConversionActionCategory
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionActionCategoryEnum.ConversionActionCategory
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionActionCategoryEnum.ConversionActionCategory
*/
export enum ConversionActionCategory {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1488,7 +1504,7 @@ export namespace enums {
/**
* @name ConversionAttributionEventTypeEnum.ConversionAttributionEventType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionAttributionEventTypeEnum.ConversionAttributionEventType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionAttributionEventTypeEnum.ConversionAttributionEventType
*/
export enum ConversionAttributionEventType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1499,7 +1515,7 @@ export namespace enums {
/**
* @name ConversionLagBucketEnum.ConversionLagBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionLagBucketEnum.ConversionLagBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionLagBucketEnum.ConversionLagBucket
*/
export enum ConversionLagBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1527,7 +1543,7 @@ export namespace enums {
/**
* @name ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket
*/
export enum ConversionOrAdjustmentLagBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1577,7 +1593,7 @@ export namespace enums {
/**
* @name ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension
*/
export enum ConversionValueRulePrimaryDimension {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1594,7 +1610,7 @@ export namespace enums {
/**
* @name ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket
*/
export enum ConvertingUserPriorEngagementTypeAndLtvBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1606,7 +1622,7 @@ export namespace enums {
/**
* @name ExternalConversionSourceEnum.ExternalConversionSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExternalConversionSourceEnum.ExternalConversionSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExternalConversionSourceEnum.ExternalConversionSource
*/
export enum ExternalConversionSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1643,7 +1659,7 @@ export namespace enums {
/**
* @name HotelPriceBucketEnum.HotelPriceBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/HotelPriceBucketEnum.HotelPriceBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/HotelPriceBucketEnum.HotelPriceBucket
*/
export enum HotelPriceBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1656,7 +1672,7 @@ export namespace enums {
/**
* @name HotelRateTypeEnum.HotelRateType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/HotelRateTypeEnum.HotelRateType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/HotelRateTypeEnum.HotelRateType
*/
export enum HotelRateType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1669,7 +1685,7 @@ export namespace enums {
/**
* @name RecommendationTypeEnum.RecommendationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationTypeEnum.RecommendationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationTypeEnum.RecommendationType
*/
export enum RecommendationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1732,7 +1748,7 @@ export namespace enums {
/**
* @name SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType
*/
export enum SearchEngineResultsPageType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1744,7 +1760,7 @@ export namespace enums {
/**
* @name SearchTermMatchTypeEnum.SearchTermMatchType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SearchTermMatchTypeEnum.SearchTermMatchType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SearchTermMatchTypeEnum.SearchTermMatchType
*/
export enum SearchTermMatchType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1758,7 +1774,7 @@ export namespace enums {
/**
* @name SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType
*/
export enum SkAdNetworkAdEventType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1770,7 +1786,7 @@ export namespace enums {
/**
* @name SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit
*/
export enum SkAdNetworkAttributionCredit {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1782,7 +1798,7 @@ export namespace enums {
/**
* @name SkAdNetworkCoarseConversionValueEnum.SkAdNetworkCoarseConversionValue
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SkAdNetworkCoarseConversionValueEnum.SkAdNetworkCoarseConversionValue
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SkAdNetworkCoarseConversionValueEnum.SkAdNetworkCoarseConversionValue
*/
export enum SkAdNetworkCoarseConversionValue {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1796,7 +1812,7 @@ export namespace enums {
/**
* @name SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType
*/
export enum SkAdNetworkSourceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1808,7 +1824,7 @@ export namespace enums {
/**
* @name SkAdNetworkUserTypeEnum.SkAdNetworkUserType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SkAdNetworkUserTypeEnum.SkAdNetworkUserType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SkAdNetworkUserTypeEnum.SkAdNetworkUserType
*/
export enum SkAdNetworkUserType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1820,7 +1836,7 @@ export namespace enums {
/**
* @name SlotEnum.Slot
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SlotEnum.Slot
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SlotEnum.Slot
*/
export enum Slot {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1836,7 +1852,7 @@ export namespace enums {
/**
* @name TrackingCodePageFormatEnum.TrackingCodePageFormat
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TrackingCodePageFormatEnum.TrackingCodePageFormat
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TrackingCodePageFormatEnum.TrackingCodePageFormat
*/
export enum TrackingCodePageFormat {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1847,7 +1863,7 @@ export namespace enums {
/**
* @name TrackingCodeTypeEnum.TrackingCodeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TrackingCodeTypeEnum.TrackingCodeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TrackingCodeTypeEnum.TrackingCodeType
*/
export enum TrackingCodeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1860,7 +1876,7 @@ export namespace enums {
/**
* @name TargetingDimensionEnum.TargetingDimension
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TargetingDimensionEnum.TargetingDimension
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TargetingDimensionEnum.TargetingDimension
*/
export enum TargetingDimension {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1877,7 +1893,7 @@ export namespace enums {
/**
* @name CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType
*/
export enum CustomerMatchUploadKeyType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1889,7 +1905,7 @@ export namespace enums {
/**
* @name LookalikeExpansionLevelEnum.LookalikeExpansionLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LookalikeExpansionLevelEnum.LookalikeExpansionLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LookalikeExpansionLevelEnum.LookalikeExpansionLevel
*/
export enum LookalikeExpansionLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1901,7 +1917,7 @@ export namespace enums {
/**
* @name UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType
*/
export enum UserListCrmDataSourceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1913,7 +1929,7 @@ export namespace enums {
/**
* @name UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
*/
export enum UserListDateRuleItemOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1926,7 +1942,7 @@ export namespace enums {
/**
* @name UserListFlexibleRuleOperatorEnum.UserListFlexibleRuleOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListFlexibleRuleOperatorEnum.UserListFlexibleRuleOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListFlexibleRuleOperatorEnum.UserListFlexibleRuleOperator
*/
export enum UserListFlexibleRuleOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1937,7 +1953,7 @@ export namespace enums {
/**
* @name UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator
*/
export enum UserListLogicalRuleOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1949,7 +1965,7 @@ export namespace enums {
/**
* @name UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator
*/
export enum UserListNumberRuleItemOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1964,7 +1980,7 @@ export namespace enums {
/**
* @name UserListPrepopulationStatusEnum.UserListPrepopulationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListPrepopulationStatusEnum.UserListPrepopulationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListPrepopulationStatusEnum.UserListPrepopulationStatus
*/
export enum UserListPrepopulationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1976,7 +1992,7 @@ export namespace enums {
/**
* @name UserListRuleTypeEnum.UserListRuleType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListRuleTypeEnum.UserListRuleType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListRuleTypeEnum.UserListRuleType
*/
export enum UserListRuleType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -1987,7 +2003,7 @@ export namespace enums {
/**
* @name UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator
*/
export enum UserListStringRuleItemOperator {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2004,7 +2020,7 @@ export namespace enums {
/**
* @name AccessInvitationStatusEnum.AccessInvitationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccessInvitationStatusEnum.AccessInvitationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccessInvitationStatusEnum.AccessInvitationStatus
*/
export enum AccessInvitationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2016,7 +2032,7 @@ export namespace enums {
/**
* @name AccessReasonEnum.AccessReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccessReasonEnum.AccessReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccessReasonEnum.AccessReason
*/
export enum AccessReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2030,7 +2046,7 @@ export namespace enums {
/**
* @name AccessRoleEnum.AccessRole
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccessRoleEnum.AccessRole
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccessRoleEnum.AccessRole
*/
export enum AccessRole {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2043,7 +2059,7 @@ export namespace enums {
/**
* @name AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus
*/
export enum AccountBudgetProposalStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2057,7 +2073,7 @@ export namespace enums {
/**
* @name AccountBudgetProposalTypeEnum.AccountBudgetProposalType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountBudgetProposalTypeEnum.AccountBudgetProposalType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountBudgetProposalTypeEnum.AccountBudgetProposalType
*/
export enum AccountBudgetProposalType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2070,7 +2086,7 @@ export namespace enums {
/**
* @name AccountBudgetStatusEnum.AccountBudgetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountBudgetStatusEnum.AccountBudgetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountBudgetStatusEnum.AccountBudgetStatus
*/
export enum AccountBudgetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2082,7 +2098,7 @@ export namespace enums {
/**
* @name AccountLinkStatusEnum.AccountLinkStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountLinkStatusEnum.AccountLinkStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountLinkStatusEnum.AccountLinkStatus
*/
export enum AccountLinkStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2097,7 +2113,7 @@ export namespace enums {
/**
* @name AdGroupAdPrimaryStatusEnum.AdGroupAdPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdPrimaryStatusEnum.AdGroupAdPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdPrimaryStatusEnum.AdGroupAdPrimaryStatus
*/
export enum AdGroupAdPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2112,7 +2128,7 @@ export namespace enums {
/**
* @name AdGroupAdPrimaryStatusReasonEnum.AdGroupAdPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdPrimaryStatusReasonEnum.AdGroupAdPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdPrimaryStatusReasonEnum.AdGroupAdPrimaryStatusReason
*/
export enum AdGroupAdPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2136,7 +2152,7 @@ export namespace enums {
/**
* @name AdGroupAdRotationModeEnum.AdGroupAdRotationMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdRotationModeEnum.AdGroupAdRotationMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdRotationModeEnum.AdGroupAdRotationMode
*/
export enum AdGroupAdRotationMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2147,7 +2163,7 @@ export namespace enums {
/**
* @name AdGroupAdStatusEnum.AdGroupAdStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdStatusEnum.AdGroupAdStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdStatusEnum.AdGroupAdStatus
*/
export enum AdGroupAdStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2159,7 +2175,7 @@ export namespace enums {
/**
* @name AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus
*/
export enum AdGroupCriterionApprovalStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2172,7 +2188,7 @@ export namespace enums {
/**
* @name AdGroupCriterionPrimaryStatusEnum.AdGroupCriterionPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionPrimaryStatusEnum.AdGroupCriterionPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionPrimaryStatusEnum.AdGroupCriterionPrimaryStatus
*/
export enum AdGroupCriterionPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2186,7 +2202,7 @@ export namespace enums {
/**
* @name AdGroupCriterionPrimaryStatusReasonEnum.AdGroupCriterionPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionPrimaryStatusReasonEnum.AdGroupCriterionPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionPrimaryStatusReasonEnum.AdGroupCriterionPrimaryStatusReason
*/
export enum AdGroupCriterionPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2213,7 +2229,7 @@ export namespace enums {
/**
* @name AdGroupCriterionStatusEnum.AdGroupCriterionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionStatusEnum.AdGroupCriterionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionStatusEnum.AdGroupCriterionStatus
*/
export enum AdGroupCriterionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2225,7 +2241,7 @@ export namespace enums {
/**
* @name AdGroupPrimaryStatusEnum.AdGroupPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupPrimaryStatusEnum.AdGroupPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupPrimaryStatusEnum.AdGroupPrimaryStatus
*/
export enum AdGroupPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2240,7 +2256,7 @@ export namespace enums {
/**
* @name AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReason
*/
export enum AdGroupPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2265,7 +2281,7 @@ export namespace enums {
/**
* @name AdGroupStatusEnum.AdGroupStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupStatusEnum.AdGroupStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupStatusEnum.AdGroupStatus
*/
export enum AdGroupStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2277,7 +2293,7 @@ export namespace enums {
/**
* @name AdGroupTypeEnum.AdGroupType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupTypeEnum.AdGroupType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupTypeEnum.AdGroupType
*/
export enum AdGroupType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2303,7 +2319,7 @@ export namespace enums {
/**
* @name AdServingOptimizationStatusEnum.AdServingOptimizationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdServingOptimizationStatusEnum.AdServingOptimizationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdServingOptimizationStatusEnum.AdServingOptimizationStatus
*/
export enum AdServingOptimizationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2317,7 +2333,7 @@ export namespace enums {
/**
* @name AdStrengthEnum.AdStrength
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdStrengthEnum.AdStrength
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdStrengthEnum.AdStrength
*/
export enum AdStrength {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2332,7 +2348,7 @@ export namespace enums {
/**
* @name AdStrengthActionItemTypeEnum.AdStrengthActionItemType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdStrengthActionItemTypeEnum.AdStrengthActionItemType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdStrengthActionItemTypeEnum.AdStrengthActionItemType
*/
export enum AdStrengthActionItemType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2342,7 +2358,7 @@ export namespace enums {
/**
* @name AdTypeEnum.AdType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdTypeEnum.AdType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdTypeEnum.AdType
*/
export enum AdType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2383,7 +2399,7 @@ export namespace enums {
/**
* @name AndroidPrivacyInteractionTypeEnum.AndroidPrivacyInteractionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AndroidPrivacyInteractionTypeEnum.AndroidPrivacyInteractionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AndroidPrivacyInteractionTypeEnum.AndroidPrivacyInteractionType
*/
export enum AndroidPrivacyInteractionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2395,7 +2411,7 @@ export namespace enums {
/**
* @name AndroidPrivacyNetworkTypeEnum.AndroidPrivacyNetworkType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AndroidPrivacyNetworkTypeEnum.AndroidPrivacyNetworkType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AndroidPrivacyNetworkTypeEnum.AndroidPrivacyNetworkType
*/
export enum AndroidPrivacyNetworkType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2407,7 +2423,7 @@ export namespace enums {
/**
* @name AppBiddingGoalEnum.AppBiddingGoal
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AppBiddingGoalEnum.AppBiddingGoal
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AppBiddingGoalEnum.AppBiddingGoal
*/
export enum AppBiddingGoal {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2423,7 +2439,7 @@ export namespace enums {
/**
* @name AppCampaignAppStoreEnum.AppCampaignAppStore
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AppCampaignAppStoreEnum.AppCampaignAppStore
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AppCampaignAppStoreEnum.AppCampaignAppStore
*/
export enum AppCampaignAppStore {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2434,7 +2450,7 @@ export namespace enums {
/**
* @name AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType
*/
export enum AppCampaignBiddingStrategyGoalType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2449,7 +2465,7 @@ export namespace enums {
/**
* @name AssetAutomationStatusEnum.AssetAutomationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetAutomationStatusEnum.AssetAutomationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetAutomationStatusEnum.AssetAutomationStatus
*/
export enum AssetAutomationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2460,7 +2476,7 @@ export namespace enums {
/**
* @name AssetAutomationTypeEnum.AssetAutomationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetAutomationTypeEnum.AssetAutomationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetAutomationTypeEnum.AssetAutomationType
*/
export enum AssetAutomationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2474,7 +2490,7 @@ export namespace enums {
/**
* @name AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement
*/
export enum AssetCoverageVideoAspectRatioRequirement {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2486,7 +2502,7 @@ export namespace enums {
/**
* @name AssetFieldTypeEnum.AssetFieldType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetFieldTypeEnum.AssetFieldType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetFieldTypeEnum.AssetFieldType
*/
export enum AssetFieldType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2525,7 +2541,7 @@ export namespace enums {
/**
* @name AssetGroupPrimaryStatusEnum.AssetGroupPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupPrimaryStatusEnum.AssetGroupPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupPrimaryStatusEnum.AssetGroupPrimaryStatus
*/
export enum AssetGroupPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2540,7 +2556,7 @@ export namespace enums {
/**
* @name AssetGroupPrimaryStatusReasonEnum.AssetGroupPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupPrimaryStatusReasonEnum.AssetGroupPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupPrimaryStatusReasonEnum.AssetGroupPrimaryStatusReason
*/
export enum AssetGroupPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2558,7 +2574,7 @@ export namespace enums {
/**
* @name AssetGroupSignalApprovalStatusEnum.AssetGroupSignalApprovalStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupSignalApprovalStatusEnum.AssetGroupSignalApprovalStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupSignalApprovalStatusEnum.AssetGroupSignalApprovalStatus
*/
export enum AssetGroupSignalApprovalStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2571,7 +2587,7 @@ export namespace enums {
/**
* @name AssetGroupStatusEnum.AssetGroupStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupStatusEnum.AssetGroupStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupStatusEnum.AssetGroupStatus
*/
export enum AssetGroupStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2583,7 +2599,7 @@ export namespace enums {
/**
* @name AssetLinkStatusEnum.AssetLinkStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetLinkStatusEnum.AssetLinkStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetLinkStatusEnum.AssetLinkStatus
*/
export enum AssetLinkStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2595,7 +2611,7 @@ export namespace enums {
/**
* @name AssetSetAssetStatusEnum.AssetSetAssetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetAssetStatusEnum.AssetSetAssetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetAssetStatusEnum.AssetSetAssetStatus
*/
export enum AssetSetAssetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2606,7 +2622,7 @@ export namespace enums {
/**
* @name AssetSetLinkStatusEnum.AssetSetLinkStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetLinkStatusEnum.AssetSetLinkStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetLinkStatusEnum.AssetSetLinkStatus
*/
export enum AssetSetLinkStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2617,7 +2633,7 @@ export namespace enums {
/**
* @name AssetSetStatusEnum.AssetSetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetStatusEnum.AssetSetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetStatusEnum.AssetSetStatus
*/
export enum AssetSetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2628,7 +2644,7 @@ export namespace enums {
/**
* @name AssetSetTypeEnum.AssetSetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetTypeEnum.AssetSetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetTypeEnum.AssetSetType
*/
export enum AssetSetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2653,7 +2669,7 @@ export namespace enums {
/**
* @name AssetSourceEnum.AssetSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSourceEnum.AssetSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSourceEnum.AssetSource
*/
export enum AssetSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2664,7 +2680,7 @@ export namespace enums {
/**
* @name AssetTypeEnum.AssetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetTypeEnum.AssetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetTypeEnum.AssetType
*/
export enum AssetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2702,7 +2718,7 @@ export namespace enums {
/**
* @name AsyncActionStatusEnum.AsyncActionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AsyncActionStatusEnum.AsyncActionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AsyncActionStatusEnum.AsyncActionStatus
*/
export enum AsyncActionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2716,7 +2732,7 @@ export namespace enums {
/**
* @name AttributionModelEnum.AttributionModel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AttributionModelEnum.AttributionModel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AttributionModelEnum.AttributionModel
*/
export enum AttributionModel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2732,7 +2748,7 @@ export namespace enums {
/**
* @name AudienceInsightsMarketingObjectiveEnum.AudienceInsightsMarketingObjective
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsMarketingObjectiveEnum.AudienceInsightsMarketingObjective
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsMarketingObjectiveEnum.AudienceInsightsMarketingObjective
*/
export enum AudienceInsightsMarketingObjective {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2743,7 +2759,7 @@ export namespace enums {
/**
* @name AudienceScopeEnum.AudienceScope
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceScopeEnum.AudienceScope
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceScopeEnum.AudienceScope
*/
export enum AudienceScope {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2754,7 +2770,7 @@ export namespace enums {
/**
* @name AudienceStatusEnum.AudienceStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceStatusEnum.AudienceStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceStatusEnum.AudienceStatus
*/
export enum AudienceStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2765,7 +2781,7 @@ export namespace enums {
/**
* @name BatchJobStatusEnum.BatchJobStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BatchJobStatusEnum.BatchJobStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BatchJobStatusEnum.BatchJobStatus
*/
export enum BatchJobStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2777,7 +2793,7 @@ export namespace enums {
/**
* @name BidModifierSourceEnum.BidModifierSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BidModifierSourceEnum.BidModifierSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BidModifierSourceEnum.BidModifierSource
*/
export enum BidModifierSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2788,7 +2804,7 @@ export namespace enums {
/**
* @name BiddingSourceEnum.BiddingSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingSourceEnum.BiddingSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingSourceEnum.BiddingSource
*/
export enum BiddingSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2800,7 +2816,7 @@ export namespace enums {
/**
* @name BiddingStrategyStatusEnum.BiddingStrategyStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingStrategyStatusEnum.BiddingStrategyStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingStrategyStatusEnum.BiddingStrategyStatus
*/
export enum BiddingStrategyStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2811,7 +2827,7 @@ export namespace enums {
/**
* @name BiddingStrategySystemStatusEnum.BiddingStrategySystemStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingStrategySystemStatusEnum.BiddingStrategySystemStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingStrategySystemStatusEnum.BiddingStrategySystemStatus
*/
export enum BiddingStrategySystemStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2845,7 +2861,7 @@ export namespace enums {
/**
* @name BiddingStrategyTypeEnum.BiddingStrategyType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingStrategyTypeEnum.BiddingStrategyType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingStrategyTypeEnum.BiddingStrategyType
*/
export enum BiddingStrategyType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2873,7 +2889,7 @@ export namespace enums {
/**
* @name BillingSetupStatusEnum.BillingSetupStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BillingSetupStatusEnum.BillingSetupStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BillingSetupStatusEnum.BillingSetupStatus
*/
export enum BillingSetupStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2886,7 +2902,7 @@ export namespace enums {
/**
* @name BrandSafetySuitabilityEnum.BrandSafetySuitability
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BrandSafetySuitabilityEnum.BrandSafetySuitability
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BrandSafetySuitabilityEnum.BrandSafetySuitability
*/
export enum BrandSafetySuitability {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2898,7 +2914,7 @@ export namespace enums {
/**
* @name BudgetDeliveryMethodEnum.BudgetDeliveryMethod
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BudgetDeliveryMethodEnum.BudgetDeliveryMethod
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BudgetDeliveryMethodEnum.BudgetDeliveryMethod
*/
export enum BudgetDeliveryMethod {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2909,7 +2925,7 @@ export namespace enums {
/**
* @name BudgetPeriodEnum.BudgetPeriod
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BudgetPeriodEnum.BudgetPeriod
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BudgetPeriodEnum.BudgetPeriod
*/
export enum BudgetPeriod {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2920,7 +2936,7 @@ export namespace enums {
/**
* @name BudgetStatusEnum.BudgetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BudgetStatusEnum.BudgetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BudgetStatusEnum.BudgetStatus
*/
export enum BudgetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2931,7 +2947,7 @@ export namespace enums {
/**
* @name BudgetTypeEnum.BudgetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BudgetTypeEnum.BudgetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BudgetTypeEnum.BudgetType
*/
export enum BudgetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2944,7 +2960,7 @@ export namespace enums {
/**
* @name CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation
*/
export enum CallTrackingDisplayLocation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2955,7 +2971,7 @@ export namespace enums {
/**
* @name CallTypeEnum.CallType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CallTypeEnum.CallType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CallTypeEnum.CallType
*/
export enum CallType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2966,7 +2982,7 @@ export namespace enums {
/**
* @name CampaignCriterionStatusEnum.CampaignCriterionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignCriterionStatusEnum.CampaignCriterionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignCriterionStatusEnum.CampaignCriterionStatus
*/
export enum CampaignCriterionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2978,7 +2994,7 @@ export namespace enums {
/**
* @name CampaignDraftStatusEnum.CampaignDraftStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignDraftStatusEnum.CampaignDraftStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignDraftStatusEnum.CampaignDraftStatus
*/
export enum CampaignDraftStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -2992,7 +3008,7 @@ export namespace enums {
/**
* @name CampaignExperimentTypeEnum.CampaignExperimentType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignExperimentTypeEnum.CampaignExperimentType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignExperimentTypeEnum.CampaignExperimentType
*/
export enum CampaignExperimentType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3004,7 +3020,7 @@ export namespace enums {
/**
* @name CampaignGroupStatusEnum.CampaignGroupStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignGroupStatusEnum.CampaignGroupStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignGroupStatusEnum.CampaignGroupStatus
*/
export enum CampaignGroupStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3015,7 +3031,7 @@ export namespace enums {
/**
* @name CampaignKeywordMatchTypeEnum.CampaignKeywordMatchType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignKeywordMatchTypeEnum.CampaignKeywordMatchType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignKeywordMatchTypeEnum.CampaignKeywordMatchType
*/
export enum CampaignKeywordMatchType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3025,7 +3041,7 @@ export namespace enums {
/**
* @name CampaignPrimaryStatusEnum.CampaignPrimaryStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignPrimaryStatusEnum.CampaignPrimaryStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignPrimaryStatusEnum.CampaignPrimaryStatus
*/
export enum CampaignPrimaryStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3043,7 +3059,7 @@ export namespace enums {
/**
* @name CampaignPrimaryStatusReasonEnum.CampaignPrimaryStatusReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignPrimaryStatusReasonEnum.CampaignPrimaryStatusReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignPrimaryStatusReasonEnum.CampaignPrimaryStatusReason
*/
export enum CampaignPrimaryStatusReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3089,7 +3105,7 @@ export namespace enums {
/**
* @name CampaignServingStatusEnum.CampaignServingStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignServingStatusEnum.CampaignServingStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignServingStatusEnum.CampaignServingStatus
*/
export enum CampaignServingStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3103,7 +3119,7 @@ export namespace enums {
/**
* @name CampaignSharedSetStatusEnum.CampaignSharedSetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignSharedSetStatusEnum.CampaignSharedSetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignSharedSetStatusEnum.CampaignSharedSetStatus
*/
export enum CampaignSharedSetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3114,7 +3130,7 @@ export namespace enums {
/**
* @name CampaignStatusEnum.CampaignStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignStatusEnum.CampaignStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignStatusEnum.CampaignStatus
*/
export enum CampaignStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3126,7 +3142,7 @@ export namespace enums {
/**
* @name ChangeClientTypeEnum.ChangeClientType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ChangeClientTypeEnum.ChangeClientType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ChangeClientTypeEnum.ChangeClientType
*/
export enum ChangeClientType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3148,7 +3164,7 @@ export namespace enums {
/**
* @name ChangeEventResourceTypeEnum.ChangeEventResourceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ChangeEventResourceTypeEnum.ChangeEventResourceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ChangeEventResourceTypeEnum.ChangeEventResourceType
*/
export enum ChangeEventResourceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3176,7 +3192,7 @@ export namespace enums {
/**
* @name ChangeStatusOperationEnum.ChangeStatusOperation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ChangeStatusOperationEnum.ChangeStatusOperation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ChangeStatusOperationEnum.ChangeStatusOperation
*/
export enum ChangeStatusOperation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3188,7 +3204,7 @@ export namespace enums {
/**
* @name ChangeStatusResourceTypeEnum.ChangeStatusResourceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ChangeStatusResourceTypeEnum.ChangeStatusResourceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ChangeStatusResourceTypeEnum.ChangeStatusResourceType
*/
export enum ChangeStatusResourceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3218,7 +3234,7 @@ export namespace enums {
/**
* @name CombinedAudienceStatusEnum.CombinedAudienceStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CombinedAudienceStatusEnum.CombinedAudienceStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CombinedAudienceStatusEnum.CombinedAudienceStatus
*/
export enum CombinedAudienceStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3229,7 +3245,7 @@ export namespace enums {
/**
* @name ConversionActionCountingTypeEnum.ConversionActionCountingType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionActionCountingTypeEnum.ConversionActionCountingType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionActionCountingTypeEnum.ConversionActionCountingType
*/
export enum ConversionActionCountingType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3240,7 +3256,7 @@ export namespace enums {
/**
* @name ConversionActionStatusEnum.ConversionActionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionActionStatusEnum.ConversionActionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionActionStatusEnum.ConversionActionStatus
*/
export enum ConversionActionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3252,7 +3268,7 @@ export namespace enums {
/**
* @name ConversionActionTypeEnum.ConversionActionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionActionTypeEnum.ConversionActionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionActionTypeEnum.ConversionActionType
*/
export enum ConversionActionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3301,7 +3317,7 @@ export namespace enums {
/**
* @name ConversionAdjustmentTypeEnum.ConversionAdjustmentType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionAdjustmentTypeEnum.ConversionAdjustmentType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionAdjustmentTypeEnum.ConversionAdjustmentType
*/
export enum ConversionAdjustmentType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3313,7 +3329,7 @@ export namespace enums {
/**
* @name ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus
*/
export enum ConversionCustomVariableStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3325,7 +3341,7 @@ export namespace enums {
/**
* @name ConversionCustomerTypeEnum.ConversionCustomerType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionCustomerTypeEnum.ConversionCustomerType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionCustomerTypeEnum.ConversionCustomerType
*/
export enum ConversionCustomerType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3336,7 +3352,7 @@ export namespace enums {
/**
* @name ConversionEnvironmentEnum.ConversionEnvironment
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionEnvironmentEnum.ConversionEnvironment
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionEnvironmentEnum.ConversionEnvironment
*/
export enum ConversionEnvironment {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3347,7 +3363,7 @@ export namespace enums {
/**
* @name ConversionOriginEnum.ConversionOrigin
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionOriginEnum.ConversionOrigin
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionOriginEnum.ConversionOrigin
*/
export enum ConversionOrigin {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3362,7 +3378,7 @@ export namespace enums {
/**
* @name ConversionTrackingStatusEnum.ConversionTrackingStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionTrackingStatusEnum.ConversionTrackingStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionTrackingStatusEnum.ConversionTrackingStatus
*/
export enum ConversionTrackingStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3375,7 +3391,7 @@ export namespace enums {
/**
* @name ConversionValueRuleSetStatusEnum.ConversionValueRuleSetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionValueRuleSetStatusEnum.ConversionValueRuleSetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionValueRuleSetStatusEnum.ConversionValueRuleSetStatus
*/
export enum ConversionValueRuleSetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3387,7 +3403,7 @@ export namespace enums {
/**
* @name ConversionValueRuleStatusEnum.ConversionValueRuleStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionValueRuleStatusEnum.ConversionValueRuleStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionValueRuleStatusEnum.ConversionValueRuleStatus
*/
export enum ConversionValueRuleStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3399,7 +3415,7 @@ export namespace enums {
/**
* @name CriterionSystemServingStatusEnum.CriterionSystemServingStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CriterionSystemServingStatusEnum.CriterionSystemServingStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CriterionSystemServingStatusEnum.CriterionSystemServingStatus
*/
export enum CriterionSystemServingStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3410,7 +3426,7 @@ export namespace enums {
/**
* @name CriterionTypeEnum.CriterionType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CriterionTypeEnum.CriterionType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CriterionTypeEnum.CriterionType
*/
export enum CriterionType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3455,11 +3471,12 @@ export namespace enums {
BRAND = 39, // BRAND
BRAND_LIST = 40, // BRAND_LIST
LIFE_EVENT = 41, // LIFE_EVENT
+ WEBPAGE_LIST = 42, // WEBPAGE_LIST
}
/**
* @name CustomAudienceMemberTypeEnum.CustomAudienceMemberType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomAudienceMemberTypeEnum.CustomAudienceMemberType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomAudienceMemberTypeEnum.CustomAudienceMemberType
*/
export enum CustomAudienceMemberType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3472,7 +3489,7 @@ export namespace enums {
/**
* @name CustomAudienceStatusEnum.CustomAudienceStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomAudienceStatusEnum.CustomAudienceStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomAudienceStatusEnum.CustomAudienceStatus
*/
export enum CustomAudienceStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3483,7 +3500,7 @@ export namespace enums {
/**
* @name CustomAudienceTypeEnum.CustomAudienceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomAudienceTypeEnum.CustomAudienceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomAudienceTypeEnum.CustomAudienceType
*/
export enum CustomAudienceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3496,7 +3513,7 @@ export namespace enums {
/**
* @name CustomConversionGoalStatusEnum.CustomConversionGoalStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomConversionGoalStatusEnum.CustomConversionGoalStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomConversionGoalStatusEnum.CustomConversionGoalStatus
*/
export enum CustomConversionGoalStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3507,7 +3524,7 @@ export namespace enums {
/**
* @name CustomInterestMemberTypeEnum.CustomInterestMemberType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomInterestMemberTypeEnum.CustomInterestMemberType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomInterestMemberTypeEnum.CustomInterestMemberType
*/
export enum CustomInterestMemberType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3518,7 +3535,7 @@ export namespace enums {
/**
* @name CustomInterestStatusEnum.CustomInterestStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomInterestStatusEnum.CustomInterestStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomInterestStatusEnum.CustomInterestStatus
*/
export enum CustomInterestStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3529,7 +3546,7 @@ export namespace enums {
/**
* @name CustomInterestTypeEnum.CustomInterestType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomInterestTypeEnum.CustomInterestType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomInterestTypeEnum.CustomInterestType
*/
export enum CustomInterestType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3540,7 +3557,7 @@ export namespace enums {
/**
* @name CustomerAcquisitionOptimizationModeEnum.CustomerAcquisitionOptimizationMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerAcquisitionOptimizationModeEnum.CustomerAcquisitionOptimizationMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerAcquisitionOptimizationModeEnum.CustomerAcquisitionOptimizationMode
*/
export enum CustomerAcquisitionOptimizationMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3552,7 +3569,7 @@ export namespace enums {
/**
* @name CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason
*/
export enum CustomerPayPerConversionEligibilityFailureReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3568,7 +3585,7 @@ export namespace enums {
/**
* @name CustomerStatusEnum.CustomerStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerStatusEnum.CustomerStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerStatusEnum.CustomerStatus
*/
export enum CustomerStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3581,7 +3598,7 @@ export namespace enums {
/**
* @name CustomizerAttributeStatusEnum.CustomizerAttributeStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomizerAttributeStatusEnum.CustomizerAttributeStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomizerAttributeStatusEnum.CustomizerAttributeStatus
*/
export enum CustomizerAttributeStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3592,7 +3609,7 @@ export namespace enums {
/**
* @name CustomizerValueStatusEnum.CustomizerValueStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomizerValueStatusEnum.CustomizerValueStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomizerValueStatusEnum.CustomizerValueStatus
*/
export enum CustomizerValueStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3603,7 +3620,7 @@ export namespace enums {
/**
* @name DataDrivenModelStatusEnum.DataDrivenModelStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataDrivenModelStatusEnum.DataDrivenModelStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataDrivenModelStatusEnum.DataDrivenModelStatus
*/
export enum DataDrivenModelStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3616,7 +3633,7 @@ export namespace enums {
/**
* @name DataLinkStatusEnum.DataLinkStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkStatusEnum.DataLinkStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkStatusEnum.DataLinkStatus
*/
export enum DataLinkStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3631,7 +3648,7 @@ export namespace enums {
/**
* @name DataLinkTypeEnum.DataLinkType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkTypeEnum.DataLinkType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkTypeEnum.DataLinkType
*/
export enum DataLinkType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3641,7 +3658,7 @@ export namespace enums {
/**
* @name DemandGenChannelConfigEnum.DemandGenChannelConfig
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DemandGenChannelConfigEnum.DemandGenChannelConfig
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DemandGenChannelConfigEnum.DemandGenChannelConfig
*/
export enum DemandGenChannelConfig {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3652,7 +3669,7 @@ export namespace enums {
/**
* @name DemandGenChannelStrategyEnum.DemandGenChannelStrategy
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DemandGenChannelStrategyEnum.DemandGenChannelStrategy
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DemandGenChannelStrategyEnum.DemandGenChannelStrategy
*/
export enum DemandGenChannelStrategy {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3663,7 +3680,7 @@ export namespace enums {
/**
* @name DistanceBucketEnum.DistanceBucket
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DistanceBucketEnum.DistanceBucket
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DistanceBucketEnum.DistanceBucket
*/
export enum DistanceBucket {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3699,7 +3716,7 @@ export namespace enums {
/**
* @name ExperimentStatusEnum.ExperimentStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentStatusEnum.ExperimentStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentStatusEnum.ExperimentStatus
*/
export enum ExperimentStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3715,7 +3732,7 @@ export namespace enums {
/**
* @name ExperimentTypeEnum.ExperimentType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentTypeEnum.ExperimentType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentTypeEnum.ExperimentType
*/
export enum ExperimentType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3734,7 +3751,7 @@ export namespace enums {
/**
* @name GeoTargetConstantStatusEnum.GeoTargetConstantStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GeoTargetConstantStatusEnum.GeoTargetConstantStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GeoTargetConstantStatusEnum.GeoTargetConstantStatus
*/
export enum GeoTargetConstantStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3745,7 +3762,7 @@ export namespace enums {
/**
* @name GeoTargetingTypeEnum.GeoTargetingType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GeoTargetingTypeEnum.GeoTargetingType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GeoTargetingTypeEnum.GeoTargetingType
*/
export enum GeoTargetingType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3756,7 +3773,7 @@ export namespace enums {
/**
* @name GoalConfigLevelEnum.GoalConfigLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GoalConfigLevelEnum.GoalConfigLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GoalConfigLevelEnum.GoalConfigLevel
*/
export enum GoalConfigLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3767,7 +3784,7 @@ export namespace enums {
/**
* @name GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory
*/
export enum GoogleAdsFieldCategory {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3780,7 +3797,7 @@ export namespace enums {
/**
* @name GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType
*/
export enum GoogleAdsFieldDataType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3800,7 +3817,7 @@ export namespace enums {
/**
* @name GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus
*/
export enum GoogleVoiceCallStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3811,7 +3828,7 @@ export namespace enums {
/**
* @name HotelAssetSuggestionStatusEnum.HotelAssetSuggestionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/HotelAssetSuggestionStatusEnum.HotelAssetSuggestionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/HotelAssetSuggestionStatusEnum.HotelAssetSuggestionStatus
*/
export enum HotelAssetSuggestionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3823,7 +3840,7 @@ export namespace enums {
/**
* @name HotelReconciliationStatusEnum.HotelReconciliationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/HotelReconciliationStatusEnum.HotelReconciliationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/HotelReconciliationStatusEnum.HotelReconciliationStatus
*/
export enum HotelReconciliationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3836,7 +3853,7 @@ export namespace enums {
/**
* @name IdentityVerificationProgramEnum.IdentityVerificationProgram
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IdentityVerificationProgramEnum.IdentityVerificationProgram
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IdentityVerificationProgramEnum.IdentityVerificationProgram
*/
export enum IdentityVerificationProgram {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3846,7 +3863,7 @@ export namespace enums {
/**
* @name IdentityVerificationProgramStatusEnum.IdentityVerificationProgramStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IdentityVerificationProgramStatusEnum.IdentityVerificationProgramStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IdentityVerificationProgramStatusEnum.IdentityVerificationProgramStatus
*/
export enum IdentityVerificationProgramStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3859,7 +3876,7 @@ export namespace enums {
/**
* @name InsightsTrendEnum.InsightsTrend
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InsightsTrendEnum.InsightsTrend
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InsightsTrendEnum.InsightsTrend
*/
export enum InsightsTrend {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3872,7 +3889,7 @@ export namespace enums {
/**
* @name InvoiceTypeEnum.InvoiceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InvoiceTypeEnum.InvoiceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InvoiceTypeEnum.InvoiceType
*/
export enum InvoiceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3883,7 +3900,7 @@ export namespace enums {
/**
* @name KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval
*/
export enum KeywordPlanForecastInterval {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3895,7 +3912,7 @@ export namespace enums {
/**
* @name KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation
*/
export enum KeywordPlanKeywordAnnotation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3905,7 +3922,7 @@ export namespace enums {
/**
* @name KeywordPlanNetworkEnum.KeywordPlanNetwork
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanNetworkEnum.KeywordPlanNetwork
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanNetworkEnum.KeywordPlanNetwork
*/
export enum KeywordPlanNetwork {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3916,7 +3933,7 @@ export namespace enums {
/**
* @name LabelStatusEnum.LabelStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LabelStatusEnum.LabelStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LabelStatusEnum.LabelStatus
*/
export enum LabelStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3927,7 +3944,7 @@ export namespace enums {
/**
* @name LinkedAccountTypeEnum.LinkedAccountType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LinkedAccountTypeEnum.LinkedAccountType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LinkedAccountTypeEnum.LinkedAccountType
*/
export enum LinkedAccountType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3937,7 +3954,7 @@ export namespace enums {
/**
* @name LinkedProductTypeEnum.LinkedProductType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LinkedProductTypeEnum.LinkedProductType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LinkedProductTypeEnum.LinkedProductType
*/
export enum LinkedProductType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3951,7 +3968,7 @@ export namespace enums {
/**
* @name ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex
*/
export enum ListingGroupFilterCustomAttributeIndex {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3965,7 +3982,7 @@ export namespace enums {
/**
* @name ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource
*/
export enum ListingGroupFilterListingSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3976,7 +3993,7 @@ export namespace enums {
/**
* @name ListingGroupFilterProductCategoryLevelEnum.ListingGroupFilterProductCategoryLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterProductCategoryLevelEnum.ListingGroupFilterProductCategoryLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterProductCategoryLevelEnum.ListingGroupFilterProductCategoryLevel
*/
export enum ListingGroupFilterProductCategoryLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -3990,7 +4007,7 @@ export namespace enums {
/**
* @name ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel
*/
export enum ListingGroupFilterProductChannel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4001,7 +4018,7 @@ export namespace enums {
/**
* @name ListingGroupFilterProductConditionEnum.ListingGroupFilterProductCondition
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterProductConditionEnum.ListingGroupFilterProductCondition
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterProductConditionEnum.ListingGroupFilterProductCondition
*/
export enum ListingGroupFilterProductCondition {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4013,7 +4030,7 @@ export namespace enums {
/**
* @name ListingGroupFilterProductTypeLevelEnum.ListingGroupFilterProductTypeLevel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterProductTypeLevelEnum.ListingGroupFilterProductTypeLevel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterProductTypeLevelEnum.ListingGroupFilterProductTypeLevel
*/
export enum ListingGroupFilterProductTypeLevel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4027,7 +4044,7 @@ export namespace enums {
/**
* @name ListingGroupFilterTypeEnum.ListingGroupFilterType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingGroupFilterTypeEnum.ListingGroupFilterType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingGroupFilterTypeEnum.ListingGroupFilterType
*/
export enum ListingGroupFilterType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4039,7 +4056,7 @@ export namespace enums {
/**
* @name ListingTypeEnum.ListingType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ListingTypeEnum.ListingType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ListingTypeEnum.ListingType
*/
export enum ListingType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4049,7 +4066,7 @@ export namespace enums {
/**
* @name LocalServicesBusinessRegistrationCheckRejectionReasonEnum.LocalServicesBusinessRegistrationCheckRejectionReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesBusinessRegistrationCheckRejectionReasonEnum.LocalServicesBusinessRegistrationCheckRejectionReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesBusinessRegistrationCheckRejectionReasonEnum.LocalServicesBusinessRegistrationCheckRejectionReason
*/
export enum LocalServicesBusinessRegistrationCheckRejectionReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4067,7 +4084,7 @@ export namespace enums {
/**
* @name LocalServicesBusinessRegistrationTypeEnum.LocalServicesBusinessRegistrationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesBusinessRegistrationTypeEnum.LocalServicesBusinessRegistrationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesBusinessRegistrationTypeEnum.LocalServicesBusinessRegistrationType
*/
export enum LocalServicesBusinessRegistrationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4078,7 +4095,7 @@ export namespace enums {
/**
* @name LocalServicesLeadConversationTypeEnum.LocalServicesLeadConversationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadConversationTypeEnum.LocalServicesLeadConversationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadConversationTypeEnum.LocalServicesLeadConversationType
*/
export enum LocalServicesLeadConversationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4094,7 +4111,7 @@ export namespace enums {
/**
* @name LocalServicesEmployeeStatusEnum.LocalServicesEmployeeStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesEmployeeStatusEnum.LocalServicesEmployeeStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesEmployeeStatusEnum.LocalServicesEmployeeStatus
*/
export enum LocalServicesEmployeeStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4105,7 +4122,7 @@ export namespace enums {
/**
* @name LocalServicesEmployeeTypeEnum.LocalServicesEmployeeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesEmployeeTypeEnum.LocalServicesEmployeeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesEmployeeTypeEnum.LocalServicesEmployeeType
*/
export enum LocalServicesEmployeeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4116,7 +4133,7 @@ export namespace enums {
/**
* @name LocalServicesInsuranceRejectionReasonEnum.LocalServicesInsuranceRejectionReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesInsuranceRejectionReasonEnum.LocalServicesInsuranceRejectionReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesInsuranceRejectionReasonEnum.LocalServicesInsuranceRejectionReason
*/
export enum LocalServicesInsuranceRejectionReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4139,7 +4156,7 @@ export namespace enums {
/**
* @name LocalServicesLeadCreditIssuanceDecisionEnum.LocalServicesLeadCreditIssuanceDecision
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadCreditIssuanceDecisionEnum.LocalServicesLeadCreditIssuanceDecision
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadCreditIssuanceDecisionEnum.LocalServicesLeadCreditIssuanceDecision
*/
export enum LocalServicesLeadCreditIssuanceDecision {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4152,7 +4169,7 @@ export namespace enums {
/**
* @name LocalServicesCreditStateEnum.LocalServicesCreditState
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesCreditStateEnum.LocalServicesCreditState
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesCreditStateEnum.LocalServicesCreditState
*/
export enum LocalServicesCreditState {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4163,7 +4180,7 @@ export namespace enums {
/**
* @name LocalServicesLeadStatusEnum.LocalServicesLeadStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadStatusEnum.LocalServicesLeadStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadStatusEnum.LocalServicesLeadStatus
*/
export enum LocalServicesLeadStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4180,7 +4197,7 @@ export namespace enums {
/**
* @name LocalServicesLeadSurveyAnswerEnum.LocalServicesLeadSurveyAnswer
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadSurveyAnswerEnum.LocalServicesLeadSurveyAnswer
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadSurveyAnswerEnum.LocalServicesLeadSurveyAnswer
*/
export enum LocalServicesLeadSurveyAnswer {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4194,7 +4211,7 @@ export namespace enums {
/**
* @name LocalServicesLeadSurveyDissatisfiedReasonEnum.LocalServicesLeadSurveyDissatisfiedReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadSurveyDissatisfiedReasonEnum.LocalServicesLeadSurveyDissatisfiedReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadSurveyDissatisfiedReasonEnum.LocalServicesLeadSurveyDissatisfiedReason
*/
export enum LocalServicesLeadSurveyDissatisfiedReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4210,7 +4227,7 @@ export namespace enums {
/**
* @name LocalServicesLeadSurveySatisfiedReasonEnum.LocalServicesLeadSurveySatisfiedReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadSurveySatisfiedReasonEnum.LocalServicesLeadSurveySatisfiedReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadSurveySatisfiedReasonEnum.LocalServicesLeadSurveySatisfiedReason
*/
export enum LocalServicesLeadSurveySatisfiedReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4224,7 +4241,7 @@ export namespace enums {
/**
* @name LocalServicesLeadTypeEnum.LocalServicesLeadType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadTypeEnum.LocalServicesLeadType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadTypeEnum.LocalServicesLeadType
*/
export enum LocalServicesLeadType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4236,7 +4253,7 @@ export namespace enums {
/**
* @name LocalServicesLicenseRejectionReasonEnum.LocalServicesLicenseRejectionReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLicenseRejectionReasonEnum.LocalServicesLicenseRejectionReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLicenseRejectionReasonEnum.LocalServicesLicenseRejectionReason
*/
export enum LocalServicesLicenseRejectionReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4252,7 +4269,7 @@ export namespace enums {
/**
* @name LocalServicesParticipantTypeEnum.LocalServicesParticipantType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesParticipantTypeEnum.LocalServicesParticipantType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesParticipantTypeEnum.LocalServicesParticipantType
*/
export enum LocalServicesParticipantType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4263,7 +4280,7 @@ export namespace enums {
/**
* @name LocalServicesVerificationArtifactStatusEnum.LocalServicesVerificationArtifactStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesVerificationArtifactStatusEnum.LocalServicesVerificationArtifactStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesVerificationArtifactStatusEnum.LocalServicesVerificationArtifactStatus
*/
export enum LocalServicesVerificationArtifactStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4277,7 +4294,7 @@ export namespace enums {
/**
* @name LocalServicesVerificationArtifactTypeEnum.LocalServicesVerificationArtifactType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesVerificationArtifactTypeEnum.LocalServicesVerificationArtifactType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesVerificationArtifactTypeEnum.LocalServicesVerificationArtifactType
*/
export enum LocalServicesVerificationArtifactType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4290,7 +4307,7 @@ export namespace enums {
/**
* @name LocalServicesVerificationStatusEnum.LocalServicesVerificationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesVerificationStatusEnum.LocalServicesVerificationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesVerificationStatusEnum.LocalServicesVerificationStatus
*/
export enum LocalServicesVerificationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4306,7 +4323,7 @@ export namespace enums {
/**
* @name LocationSourceTypeEnum.LocationSourceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocationSourceTypeEnum.LocationSourceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocationSourceTypeEnum.LocationSourceType
*/
export enum LocationSourceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4317,7 +4334,7 @@ export namespace enums {
/**
* @name ManagerLinkStatusEnum.ManagerLinkStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ManagerLinkStatusEnum.ManagerLinkStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ManagerLinkStatusEnum.ManagerLinkStatus
*/
export enum ManagerLinkStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4331,7 +4348,7 @@ export namespace enums {
/**
* @name MediaTypeEnum.MediaType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MediaTypeEnum.MediaType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MediaTypeEnum.MediaType
*/
export enum MediaType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4346,7 +4363,7 @@ export namespace enums {
/**
* @name MobileDeviceTypeEnum.MobileDeviceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/MobileDeviceTypeEnum.MobileDeviceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/MobileDeviceTypeEnum.MobileDeviceType
*/
export enum MobileDeviceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4357,7 +4374,7 @@ export namespace enums {
/**
* @name NegativeGeoTargetTypeEnum.NegativeGeoTargetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/NegativeGeoTargetTypeEnum.NegativeGeoTargetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/NegativeGeoTargetTypeEnum.NegativeGeoTargetType
*/
export enum NegativeGeoTargetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4366,9 +4383,34 @@ export namespace enums {
PRESENCE = 5, // PRESENCE
}
+ /**
+ * @name NonSkippableMaxDurationEnum.NonSkippableMaxDuration
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/NonSkippableMaxDurationEnum.NonSkippableMaxDuration
+ */
+ export enum NonSkippableMaxDuration {
+ UNSPECIFIED = 0, // UNSPECIFIED
+ UNKNOWN = 1, // UNKNOWN
+ MAX_DURATION_FIFTEEN_SECONDS = 2, // MAX_DURATION_FIFTEEN_SECONDS
+ MAX_DURATION_THIRTY_SECONDS = 3, // MAX_DURATION_THIRTY_SECONDS
+ MAX_DURATION_SIXTY_SECONDS = 4, // MAX_DURATION_SIXTY_SECONDS
+ }
+
+ /**
+ * @name NonSkippableMinDurationEnum.NonSkippableMinDuration
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/NonSkippableMinDurationEnum.NonSkippableMinDuration
+ */
+ export enum NonSkippableMinDuration {
+ UNSPECIFIED = 0, // UNSPECIFIED
+ UNKNOWN = 1, // UNKNOWN
+ MIN_DURATION_FIVE_SECONDS = 2, // MIN_DURATION_FIVE_SECONDS
+ MIN_DURATION_SEVEN_SECONDS = 3, // MIN_DURATION_SEVEN_SECONDS
+ MIN_DURATION_SIXTEEN_SECONDS = 4, // MIN_DURATION_SIXTEEN_SECONDS
+ MIN_DURATION_THIRTY_ONE_SECONDS = 5, // MIN_DURATION_THIRTY_ONE_SECONDS
+ }
+
/**
* @name OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatus
*/
export enum OfflineConversionDiagnosticStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4381,7 +4423,7 @@ export namespace enums {
/**
* @name OfflineEventUploadClientEnum.OfflineEventUploadClient
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineEventUploadClientEnum.OfflineEventUploadClient
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineEventUploadClientEnum.OfflineEventUploadClient
*/
export enum OfflineEventUploadClient {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4393,7 +4435,7 @@ export namespace enums {
/**
* @name OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason
*/
export enum OfflineUserDataJobFailureReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4407,7 +4449,7 @@ export namespace enums {
/**
* @name OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange
*/
export enum OfflineUserDataJobMatchRateRange {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4425,7 +4467,7 @@ export namespace enums {
/**
* @name OfflineUserDataJobStatusEnum.OfflineUserDataJobStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobStatusEnum.OfflineUserDataJobStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobStatusEnum.OfflineUserDataJobStatus
*/
export enum OfflineUserDataJobStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4438,7 +4480,7 @@ export namespace enums {
/**
* @name OfflineUserDataJobTypeEnum.OfflineUserDataJobType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobTypeEnum.OfflineUserDataJobType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobTypeEnum.OfflineUserDataJobType
*/
export enum OfflineUserDataJobType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4451,7 +4493,7 @@ export namespace enums {
/**
* @name OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType
*/
export enum OperatingSystemVersionOperatorType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4462,7 +4504,7 @@ export namespace enums {
/**
* @name OptimizationGoalTypeEnum.OptimizationGoalType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OptimizationGoalTypeEnum.OptimizationGoalType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OptimizationGoalTypeEnum.OptimizationGoalType
*/
export enum OptimizationGoalType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4474,7 +4516,7 @@ export namespace enums {
/**
* @name PaymentModeEnum.PaymentMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PaymentModeEnum.PaymentMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PaymentModeEnum.PaymentMode
*/
export enum PaymentMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4487,7 +4529,7 @@ export namespace enums {
/**
* @name PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatus
*/
export enum PerformanceMaxUpgradeStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4500,7 +4542,7 @@ export namespace enums {
/**
* @name PlacementTypeEnum.PlacementType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PlacementTypeEnum.PlacementType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PlacementTypeEnum.PlacementType
*/
export enum PlacementType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4515,7 +4557,7 @@ export namespace enums {
/**
* @name PositiveGeoTargetTypeEnum.PositiveGeoTargetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PositiveGeoTargetTypeEnum.PositiveGeoTargetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PositiveGeoTargetTypeEnum.PositiveGeoTargetType
*/
export enum PositiveGeoTargetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4527,7 +4569,7 @@ export namespace enums {
/**
* @name ProductAvailabilityEnum.ProductAvailability
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductAvailabilityEnum.ProductAvailability
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductAvailabilityEnum.ProductAvailability
*/
export enum ProductAvailability {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4539,7 +4581,7 @@ export namespace enums {
/**
* @name ProductCategoryStateEnum.ProductCategoryState
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductCategoryStateEnum.ProductCategoryState
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductCategoryStateEnum.ProductCategoryState
*/
export enum ProductCategoryState {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4550,7 +4592,7 @@ export namespace enums {
/**
* @name ProductIssueSeverityEnum.ProductIssueSeverity
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductIssueSeverityEnum.ProductIssueSeverity
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductIssueSeverityEnum.ProductIssueSeverity
*/
export enum ProductIssueSeverity {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4561,7 +4603,7 @@ export namespace enums {
/**
* @name ProductLinkInvitationStatusEnum.ProductLinkInvitationStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkInvitationStatusEnum.ProductLinkInvitationStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkInvitationStatusEnum.ProductLinkInvitationStatus
*/
export enum ProductLinkInvitationStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4576,7 +4618,7 @@ export namespace enums {
/**
* @name ProductStatusEnum.ProductStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductStatusEnum.ProductStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductStatusEnum.ProductStatus
*/
export enum ProductStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4588,7 +4630,7 @@ export namespace enums {
/**
* @name ReachPlanAgeRangeEnum.ReachPlanAgeRange
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanAgeRangeEnum.ReachPlanAgeRange
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanAgeRangeEnum.ReachPlanAgeRange
*/
export enum ReachPlanAgeRange {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4623,7 +4665,7 @@ export namespace enums {
/**
* @name ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel
*/
export enum ReachPlanConversionRateModel {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4636,7 +4678,7 @@ export namespace enums {
/**
* @name ReachPlanNetworkEnum.ReachPlanNetwork
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanNetworkEnum.ReachPlanNetwork
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanNetworkEnum.ReachPlanNetwork
*/
export enum ReachPlanNetwork {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4646,9 +4688,20 @@ export namespace enums {
YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS = 4, // YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS
}
+ /**
+ * @name ReachPlanPlannableUserListStatusEnum.ReachPlanPlannableUserListStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanPlannableUserListStatusEnum.ReachPlanPlannableUserListStatus
+ */
+ export enum ReachPlanPlannableUserListStatus {
+ UNSPECIFIED = 0, // UNSPECIFIED
+ UNKNOWN = 1, // UNKNOWN
+ PLANNABLE = 2, // PLANNABLE
+ UNPLANNABLE = 3, // UNPLANNABLE
+ }
+
/**
* @name ReachPlanSurfaceEnum.ReachPlanSurface
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanSurfaceEnum.ReachPlanSurface
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanSurfaceEnum.ReachPlanSurface
*/
export enum ReachPlanSurface {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4664,7 +4717,7 @@ export namespace enums {
/**
* @name RecommendationSubscriptionStatusEnum.RecommendationSubscriptionStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationSubscriptionStatusEnum.RecommendationSubscriptionStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationSubscriptionStatusEnum.RecommendationSubscriptionStatus
*/
export enum RecommendationSubscriptionStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4675,7 +4728,7 @@ export namespace enums {
/**
* @name ResourceChangeOperationEnum.ResourceChangeOperation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ResourceChangeOperationEnum.ResourceChangeOperation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ResourceChangeOperationEnum.ResourceChangeOperation
*/
export enum ResourceChangeOperation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4687,7 +4740,7 @@ export namespace enums {
/**
* @name ResourceLimitTypeEnum.ResourceLimitType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ResourceLimitTypeEnum.ResourceLimitType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ResourceLimitTypeEnum.ResourceLimitType
*/
export enum ResourceLimitType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4842,7 +4895,7 @@ export namespace enums {
/**
* @name ResponseContentTypeEnum.ResponseContentType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ResponseContentTypeEnum.ResponseContentType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ResponseContentTypeEnum.ResponseContentType
*/
export enum ResponseContentType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4852,7 +4905,7 @@ export namespace enums {
/**
* @name SearchTermTargetingStatusEnum.SearchTermTargetingStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SearchTermTargetingStatusEnum.SearchTermTargetingStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SearchTermTargetingStatusEnum.SearchTermTargetingStatus
*/
export enum SearchTermTargetingStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4865,7 +4918,7 @@ export namespace enums {
/**
* @name SeasonalityEventScopeEnum.SeasonalityEventScope
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SeasonalityEventScopeEnum.SeasonalityEventScope
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SeasonalityEventScopeEnum.SeasonalityEventScope
*/
export enum SeasonalityEventScope {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4877,7 +4930,7 @@ export namespace enums {
/**
* @name SeasonalityEventStatusEnum.SeasonalityEventStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SeasonalityEventStatusEnum.SeasonalityEventStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SeasonalityEventStatusEnum.SeasonalityEventStatus
*/
export enum SeasonalityEventStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4888,7 +4941,7 @@ export namespace enums {
/**
* @name SharedSetStatusEnum.SharedSetStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SharedSetStatusEnum.SharedSetStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SharedSetStatusEnum.SharedSetStatus
*/
export enum SharedSetStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4899,7 +4952,7 @@ export namespace enums {
/**
* @name SharedSetTypeEnum.SharedSetType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SharedSetTypeEnum.SharedSetType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SharedSetTypeEnum.SharedSetType
*/
export enum SharedSetType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4908,11 +4961,12 @@ export namespace enums {
NEGATIVE_PLACEMENTS = 3, // NEGATIVE_PLACEMENTS
ACCOUNT_LEVEL_NEGATIVE_KEYWORDS = 4, // ACCOUNT_LEVEL_NEGATIVE_KEYWORDS
BRANDS = 5, // BRANDS
+ WEBPAGES = 6, // WEBPAGES
}
/**
* @name ShoppingAddProductsToCampaignRecommendationEnum.ShoppingAddProductsToCampaignRecommendation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ShoppingAddProductsToCampaignRecommendationEnum.ShoppingAddProductsToCampaignRecommendation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ShoppingAddProductsToCampaignRecommendationEnum.ShoppingAddProductsToCampaignRecommendation
*/
export enum ShoppingAddProductsToCampaignRecommendation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4925,7 +4979,7 @@ export namespace enums {
/**
* @name SimulationModificationMethodEnum.SimulationModificationMethod
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SimulationModificationMethodEnum.SimulationModificationMethod
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SimulationModificationMethodEnum.SimulationModificationMethod
*/
export enum SimulationModificationMethod {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4937,7 +4991,7 @@ export namespace enums {
/**
* @name SimulationTypeEnum.SimulationType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SimulationTypeEnum.SimulationType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SimulationTypeEnum.SimulationType
*/
export enum SimulationType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4954,7 +5008,7 @@ export namespace enums {
/**
* @name SmartCampaignNotEligibleReasonEnum.SmartCampaignNotEligibleReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignNotEligibleReasonEnum.SmartCampaignNotEligibleReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignNotEligibleReasonEnum.SmartCampaignNotEligibleReason
*/
export enum SmartCampaignNotEligibleReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4967,7 +5021,7 @@ export namespace enums {
/**
* @name SmartCampaignStatusEnum.SmartCampaignStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignStatusEnum.SmartCampaignStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignStatusEnum.SmartCampaignStatus
*/
export enum SmartCampaignStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4982,7 +5036,7 @@ export namespace enums {
/**
* @name SpendingLimitTypeEnum.SpendingLimitType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SpendingLimitTypeEnum.SpendingLimitType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SpendingLimitTypeEnum.SpendingLimitType
*/
export enum SpendingLimitType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -4992,7 +5046,7 @@ export namespace enums {
/**
* @name SummaryRowSettingEnum.SummaryRowSetting
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SummaryRowSettingEnum.SummaryRowSetting
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SummaryRowSettingEnum.SummaryRowSetting
*/
export enum SummaryRowSetting {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5004,7 +5058,7 @@ export namespace enums {
/**
* @name SystemManagedResourceSourceEnum.SystemManagedResourceSource
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SystemManagedResourceSourceEnum.SystemManagedResourceSource
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SystemManagedResourceSourceEnum.SystemManagedResourceSource
*/
export enum SystemManagedResourceSource {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5014,7 +5068,7 @@ export namespace enums {
/**
* @name TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal
*/
export enum TargetCpaOptInRecommendationGoal {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5027,7 +5081,7 @@ export namespace enums {
/**
* @name TimeTypeEnum.TimeType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TimeTypeEnum.TimeType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TimeTypeEnum.TimeType
*/
export enum TimeType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5038,7 +5092,7 @@ export namespace enums {
/**
* @name UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType
*/
export enum UserInterestTaxonomyType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5052,7 +5106,7 @@ export namespace enums {
/**
* @name UserListAccessStatusEnum.UserListAccessStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListAccessStatusEnum.UserListAccessStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListAccessStatusEnum.UserListAccessStatus
*/
export enum UserListAccessStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5063,7 +5117,7 @@ export namespace enums {
/**
* @name UserListClosingReasonEnum.UserListClosingReason
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListClosingReasonEnum.UserListClosingReason
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListClosingReasonEnum.UserListClosingReason
*/
export enum UserListClosingReason {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5073,7 +5127,7 @@ export namespace enums {
/**
* @name UserListCustomerTypeCategoryEnum.UserListCustomerTypeCategory
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListCustomerTypeCategoryEnum.UserListCustomerTypeCategory
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListCustomerTypeCategoryEnum.UserListCustomerTypeCategory
*/
export enum UserListCustomerTypeCategory {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5098,7 +5152,7 @@ export namespace enums {
/**
* @name UserListMembershipStatusEnum.UserListMembershipStatus
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListMembershipStatusEnum.UserListMembershipStatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListMembershipStatusEnum.UserListMembershipStatus
*/
export enum UserListMembershipStatus {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5109,7 +5163,7 @@ export namespace enums {
/**
* @name UserListSizeRangeEnum.UserListSizeRange
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListSizeRangeEnum.UserListSizeRange
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListSizeRangeEnum.UserListSizeRange
*/
export enum UserListSizeRange {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5134,7 +5188,7 @@ export namespace enums {
/**
* @name UserListTypeEnum.UserListType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListTypeEnum.UserListType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListTypeEnum.UserListType
*/
export enum UserListType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5150,7 +5204,7 @@ export namespace enums {
/**
* @name ValueRuleDeviceTypeEnum.ValueRuleDeviceType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ValueRuleDeviceTypeEnum.ValueRuleDeviceType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ValueRuleDeviceTypeEnum.ValueRuleDeviceType
*/
export enum ValueRuleDeviceType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5162,7 +5216,7 @@ export namespace enums {
/**
* @name ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType
*/
export enum ValueRuleGeoLocationMatchType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5173,7 +5227,7 @@ export namespace enums {
/**
* @name ValueRuleOperationEnum.ValueRuleOperation
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ValueRuleOperationEnum.ValueRuleOperation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ValueRuleOperationEnum.ValueRuleOperation
*/
export enum ValueRuleOperation {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5185,7 +5239,7 @@ export namespace enums {
/**
* @name ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType
*/
export enum ValueRuleSetAttachmentType {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5196,7 +5250,7 @@ export namespace enums {
/**
* @name ValueRuleSetDimensionEnum.ValueRuleSetDimension
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ValueRuleSetDimensionEnum.ValueRuleSetDimension
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ValueRuleSetDimensionEnum.ValueRuleSetDimension
*/
export enum ValueRuleSetDimension {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5210,7 +5264,7 @@ export namespace enums {
/**
* @name VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode
*/
export enum VanityPharmaDisplayUrlMode {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5221,7 +5275,7 @@ export namespace enums {
/**
* @name VanityPharmaTextEnum.VanityPharmaText
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/VanityPharmaTextEnum.VanityPharmaText
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/VanityPharmaTextEnum.VanityPharmaText
*/
export enum VanityPharmaText {
UNSPECIFIED = 0, // UNSPECIFIED
@@ -5239,4 +5293,14 @@ export namespace enums {
PRESCRIPTION_VACCINE_WEBSITE_EN = 12, // PRESCRIPTION_VACCINE_WEBSITE_EN
PRESCRIPTION_VACCINE_WEBSITE_ES = 13, // PRESCRIPTION_VACCINE_WEBSITE_ES
}
+
+ /**
+ * @name VideoAdFormatRestrictionEnum.VideoAdFormatRestriction
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/VideoAdFormatRestrictionEnum.VideoAdFormatRestriction
+ */
+ export enum VideoAdFormatRestriction {
+ UNSPECIFIED = 0, // UNSPECIFIED
+ UNKNOWN = 1, // UNKNOWN
+ NON_SKIPPABLE_IN_STREAM = 2, // NON_SKIPPABLE_IN_STREAM
+ }
}
diff --git a/src/protos/autogen/fields.ts b/src/protos/autogen/fields.ts
index 1170d9ba..26122e01 100644
--- a/src/protos/autogen/fields.ts
+++ b/src/protos/autogen/fields.ts
@@ -1367,6 +1367,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -1476,6 +1479,7 @@ export namespace fields {
| "campaign_criterion.webpage.coverage_percentage"
| "campaign_criterion.webpage.criterion_name"
| "campaign_criterion.webpage.sample.sample_urls"
+ | "campaign_criterion.webpage_list.shared_set"
| "campaign_criterion.youtube_channel.channel_id"
| "campaign_criterion.youtube_video.video_id"
| "campaign_customizer.campaign"
@@ -2218,6 +2222,10 @@ export namespace fields {
| "shared_criterion.resource_name"
| "shared_criterion.shared_set"
| "shared_criterion.type"
+ | "shared_criterion.webpage.conditions"
+ | "shared_criterion.webpage.coverage_percentage"
+ | "shared_criterion.webpage.criterion_name"
+ | "shared_criterion.webpage.sample.sample_urls"
| "shared_criterion.youtube_channel.channel_id"
| "shared_criterion.youtube_video.video_id"
| "shared_set.id"
@@ -2426,11 +2434,13 @@ export namespace fields {
| "metrics.conversions_value"
| "metrics.conversions_value_by_conversion_date"
| "metrics.conversions_value_per_cost"
+ | "metrics.cost_converted_currency_per_platform_comparable_conversion"
| "metrics.cost_micros"
| "metrics.cost_of_goods_sold_micros"
| "metrics.cost_per_all_conversions"
| "metrics.cost_per_conversion"
| "metrics.cost_per_current_model_attributed_conversion"
+ | "metrics.cost_per_platform_comparable_conversion"
| "metrics.coviewed_impressions"
| "metrics.cross_device_conversions"
| "metrics.cross_device_conversions_value_micros"
@@ -2493,6 +2503,13 @@ export namespace fields {
| "metrics.phone_calls"
| "metrics.phone_impressions"
| "metrics.phone_through_rate"
+ | "metrics.platform_comparable_conversions"
+ | "metrics.platform_comparable_conversions_by_conversion_date"
+ | "metrics.platform_comparable_conversions_from_interactions_rate"
+ | "metrics.platform_comparable_conversions_from_interactions_value_per_interaction"
+ | "metrics.platform_comparable_conversions_value"
+ | "metrics.platform_comparable_conversions_value_by_conversion_date"
+ | "metrics.platform_comparable_conversions_value_per_cost"
| "metrics.primary_impressions"
| "metrics.publisher_organic_clicks"
| "metrics.publisher_purchased_clicks"
@@ -2530,6 +2547,8 @@ export namespace fields {
| "metrics.value_per_conversion"
| "metrics.value_per_conversions_by_conversion_date"
| "metrics.value_per_current_model_attributed_conversion"
+ | "metrics.value_per_platform_comparable_conversion"
+ | "metrics.value_per_platform_comparable_conversions_by_conversion_date"
| "metrics.video_quartile_p100_rate"
| "metrics.video_quartile_p25_rate"
| "metrics.video_quartile_p50_rate"
@@ -3095,6 +3114,12 @@ export namespace fields {
"VanityPharmaDisplayUrlMode",
"campaign.vanity_pharma.vanity_pharma_text": "VanityPharmaText",
"campaign.video_brand_safety_suitability": "BrandSafetySuitability",
+ "campaign.video_campaign_settings.video_ad_format_control.format_restriction":
+ "VideoAdFormatRestriction",
+ "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration":
+ "NonSkippableMaxDuration",
+ "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration":
+ "NonSkippableMinDuration",
"campaign_aggregate_asset_view.asset_source": "AssetSource",
"campaign_aggregate_asset_view.field_type": "AssetFieldType",
"campaign_asset.field_type": "AssetFieldType",
@@ -3998,6 +4023,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -4510,6 +4538,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -4999,6 +5030,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -5631,6 +5665,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -6047,6 +6084,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -6477,6 +6517,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -6747,6 +6790,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -7056,6 +7102,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -7369,6 +7418,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -7649,6 +7701,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -7986,6 +8041,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -8275,6 +8333,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -8570,6 +8631,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -8765,6 +8829,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -8961,6 +9028,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -9165,6 +9235,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -9449,6 +9522,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -9595,6 +9671,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -9657,6 +9736,7 @@ export namespace fields {
| "campaign_criterion.webpage.coverage_percentage"
| "campaign_criterion.webpage.criterion_name"
| "campaign_criterion.webpage.sample.sample_urls"
+ | "campaign_criterion.webpage_list.shared_set"
| "campaign_criterion.youtube_channel.channel_id"
| "campaign_criterion.youtube_video.video_id"
| "customer.auto_tagging_enabled"
@@ -10030,6 +10110,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -10716,6 +10799,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -10931,6 +11017,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -10972,19 +11061,24 @@ export namespace fields {
export type AssetGroupMetric =
| "metrics.all_conversions"
+ | "metrics.all_conversions_by_conversion_date"
| "metrics.all_conversions_from_interactions_rate"
| "metrics.all_conversions_from_interactions_value_per_interaction"
| "metrics.all_conversions_value"
+ | "metrics.all_conversions_value_by_conversion_date"
| "metrics.all_conversions_value_per_cost"
+ | "metrics.all_new_customer_lifetime_value"
| "metrics.average_cart_size"
| "metrics.average_cost"
| "metrics.average_cpc"
| "metrics.average_order_value_micros"
| "metrics.clicks"
| "metrics.conversions"
+ | "metrics.conversions_by_conversion_date"
| "metrics.conversions_from_interactions_rate"
| "metrics.conversions_from_interactions_value_per_interaction"
| "metrics.conversions_value"
+ | "metrics.conversions_value_by_conversion_date"
| "metrics.conversions_value_per_cost"
| "metrics.cost_micros"
| "metrics.cost_of_goods_sold_micros"
@@ -11007,19 +11101,35 @@ export namespace fields {
| "metrics.lead_gross_profit_micros"
| "metrics.lead_revenue_micros"
| "metrics.lead_units_sold"
+ | "metrics.new_customer_lifetime_value"
| "metrics.orders"
| "metrics.revenue_micros"
| "metrics.value_per_all_conversions"
+ | "metrics.value_per_all_conversions_by_conversion_date"
| "metrics.value_per_conversion"
+ | "metrics.value_per_conversions_by_conversion_date"
| "metrics.view_through_conversions";
export type AssetGroupMetrics = Array;
export type AssetGroupSegment =
+ | "segments.ad_network_type"
+ | "segments.click_type"
+ | "segments.conversion_action"
+ | "segments.conversion_action_category"
+ | "segments.conversion_action_name"
+ | "segments.conversion_adjustment"
+ | "segments.conversion_attribution_event_type"
+ | "segments.conversion_lag_bucket"
+ | "segments.conversion_or_adjustment_lag_bucket"
| "segments.date"
| "segments.day_of_week"
+ | "segments.device"
+ | "segments.external_conversion_source"
| "segments.month"
+ | "segments.new_versus_returning_customers"
| "segments.quarter"
+ | "segments.slot"
| "segments.week"
| "segments.year";
@@ -11384,6 +11494,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -11577,6 +11690,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -11757,6 +11873,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -11981,6 +12100,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -12141,6 +12263,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -12649,6 +12774,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -12894,6 +13022,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -13597,6 +13728,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -13785,6 +13919,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -13906,11 +14043,13 @@ export namespace fields {
| "metrics.conversions_from_interactions_rate"
| "metrics.conversions_value"
| "metrics.conversions_value_by_conversion_date"
+ | "metrics.cost_converted_currency_per_platform_comparable_conversion"
| "metrics.cost_micros"
| "metrics.cost_of_goods_sold_micros"
| "metrics.cost_per_all_conversions"
| "metrics.cost_per_conversion"
| "metrics.cost_per_current_model_attributed_conversion"
+ | "metrics.cost_per_platform_comparable_conversion"
| "metrics.coviewed_impressions"
| "metrics.cross_device_conversions"
| "metrics.cross_device_conversions_value_micros"
@@ -13952,6 +14091,13 @@ export namespace fields {
| "metrics.phone_calls"
| "metrics.phone_impressions"
| "metrics.phone_through_rate"
+ | "metrics.platform_comparable_conversions"
+ | "metrics.platform_comparable_conversions_by_conversion_date"
+ | "metrics.platform_comparable_conversions_from_interactions_rate"
+ | "metrics.platform_comparable_conversions_from_interactions_value_per_interaction"
+ | "metrics.platform_comparable_conversions_value"
+ | "metrics.platform_comparable_conversions_value_by_conversion_date"
+ | "metrics.platform_comparable_conversions_value_per_cost"
| "metrics.primary_impressions"
| "metrics.publisher_organic_clicks"
| "metrics.publisher_purchased_clicks"
@@ -13981,6 +14127,8 @@ export namespace fields {
| "metrics.value_per_conversion"
| "metrics.value_per_conversions_by_conversion_date"
| "metrics.value_per_current_model_attributed_conversion"
+ | "metrics.value_per_platform_comparable_conversion"
+ | "metrics.value_per_platform_comparable_conversions_by_conversion_date"
| "metrics.video_quartile_p100_rate"
| "metrics.video_quartile_p25_rate"
| "metrics.video_quartile_p50_rate"
@@ -14382,6 +14530,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -14813,6 +14964,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -15045,6 +15199,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -15222,6 +15379,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -15285,6 +15445,7 @@ export namespace fields {
| "campaign_criterion.webpage.coverage_percentage"
| "campaign_criterion.webpage.criterion_name"
| "campaign_criterion.webpage.sample.sample_urls"
+ | "campaign_criterion.webpage_list.shared_set"
| "campaign_criterion.youtube_channel.channel_id"
| "campaign_criterion.youtube_video.video_id"
| "customer.auto_tagging_enabled"
@@ -15539,6 +15700,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -15693,6 +15857,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -15900,6 +16067,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -16050,6 +16220,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -16112,6 +16285,7 @@ export namespace fields {
| "campaign_criterion.webpage.coverage_percentage"
| "campaign_criterion.webpage.criterion_name"
| "campaign_criterion.webpage.sample.sample_urls"
+ | "campaign_criterion.webpage_list.shared_set"
| "campaign_criterion.youtube_channel.channel_id"
| "campaign_criterion.youtube_video.video_id"
| "carrier_constant.country_code"
@@ -16330,6 +16504,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -16486,6 +16663,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -16704,6 +16884,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -16902,6 +17085,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -17074,6 +17260,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -17230,6 +17419,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -17666,6 +17858,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -18107,6 +18302,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -18660,6 +18858,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -19047,6 +19248,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -19392,6 +19596,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -19782,10 +19989,12 @@ export namespace fields {
| "metrics.conversions_from_interactions_rate"
| "metrics.conversions_value"
| "metrics.conversions_value_by_conversion_date"
+ | "metrics.cost_converted_currency_per_platform_comparable_conversion"
| "metrics.cost_micros"
| "metrics.cost_of_goods_sold_micros"
| "metrics.cost_per_all_conversions"
| "metrics.cost_per_conversion"
+ | "metrics.cost_per_platform_comparable_conversion"
| "metrics.cross_device_conversions"
| "metrics.cross_device_conversions_value_micros"
| "metrics.cross_sell_cost_of_goods_sold_micros"
@@ -19814,6 +20023,13 @@ export namespace fields {
| "metrics.optimization_score_uplift"
| "metrics.optimization_score_url"
| "metrics.orders"
+ | "metrics.platform_comparable_conversions"
+ | "metrics.platform_comparable_conversions_by_conversion_date"
+ | "metrics.platform_comparable_conversions_from_interactions_rate"
+ | "metrics.platform_comparable_conversions_from_interactions_value_per_interaction"
+ | "metrics.platform_comparable_conversions_value"
+ | "metrics.platform_comparable_conversions_value_by_conversion_date"
+ | "metrics.platform_comparable_conversions_value_per_cost"
| "metrics.revenue_micros"
| "metrics.search_budget_lost_impression_share"
| "metrics.search_exact_match_impression_share"
@@ -19827,6 +20043,8 @@ export namespace fields {
| "metrics.value_per_all_conversions_by_conversion_date"
| "metrics.value_per_conversion"
| "metrics.value_per_conversions_by_conversion_date"
+ | "metrics.value_per_platform_comparable_conversion"
+ | "metrics.value_per_platform_comparable_conversions_by_conversion_date"
| "metrics.video_view_rate"
| "metrics.video_views"
| "metrics.view_through_conversions"
@@ -20255,6 +20473,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -21166,6 +21387,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -21584,6 +21808,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -21797,6 +22024,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -21985,6 +22215,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -22182,6 +22415,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -22418,6 +22654,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -22911,6 +23150,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -23182,6 +23424,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -23434,6 +23679,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -23777,6 +24025,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -24014,6 +24265,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -24196,6 +24450,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -24498,6 +24755,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -25170,6 +25430,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -25531,6 +25794,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -26217,6 +26483,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -26622,6 +26891,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -26684,6 +26956,7 @@ export namespace fields {
| "campaign_criterion.webpage.coverage_percentage"
| "campaign_criterion.webpage.criterion_name"
| "campaign_criterion.webpage.sample.sample_urls"
+ | "campaign_criterion.webpage_list.shared_set"
| "campaign_criterion.youtube_channel.channel_id"
| "campaign_criterion.youtube_video.video_id"
| "customer.auto_tagging_enabled"
@@ -27039,6 +27312,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -27575,6 +27851,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -27935,6 +28214,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -28147,6 +28429,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -28326,6 +28611,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -28635,6 +28923,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -28988,6 +29279,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -29533,6 +29827,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -29694,6 +29991,10 @@ export namespace fields {
| "shared_criterion.resource_name"
| "shared_criterion.shared_set"
| "shared_criterion.type"
+ | "shared_criterion.webpage.conditions"
+ | "shared_criterion.webpage.coverage_percentage"
+ | "shared_criterion.webpage.criterion_name"
+ | "shared_criterion.webpage.sample.sample_urls"
| "shared_criterion.youtube_channel.channel_id"
| "shared_criterion.youtube_video.video_id"
| "shared_set.id"
@@ -29812,6 +30113,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -30015,6 +30319,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -30293,6 +30600,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -30523,6 +30833,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -30692,6 +31005,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -31068,6 +31384,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -31416,6 +31735,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -31653,6 +31975,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -31993,6 +32318,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -32432,6 +32760,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -32773,6 +33104,9 @@ export namespace fields {
| "campaign.vanity_pharma.vanity_pharma_display_url_mode"
| "campaign.vanity_pharma.vanity_pharma_text"
| "campaign.video_brand_safety_suitability"
+ | "campaign.video_campaign_settings.video_ad_format_control.format_restriction"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.max_duration"
+ | "campaign.video_campaign_settings.video_ad_format_control.non_skippable_in_stream_restrictions.min_duration"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_feed"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_in_stream"
| "campaign.video_campaign_settings.video_ad_inventory_control.allow_shorts"
@@ -32878,3 +33212,6 @@ export namespace fields {
export type WebpageViewSegments = Array;
/* --- End of WebpageView --- */
}
+
+/* -- Field types (represented as circular JSON, used in REST parsing) -- */
+export const fieldDataTypes = `{"GoogleAdsError":{"error_code":{"request_error":{"UNSPECIFIED":0,"UNKNOWN":1,"RESOURCE_NAME_MISSING":3,"RESOURCE_NAME_MALFORMED":4,"BAD_RESOURCE_ID":17,"INVALID_CUSTOMER_ID":16,"OPERATION_REQUIRED":5,"RESOURCE_NOT_FOUND":6,"INVALID_PAGE_TOKEN":7,"EXPIRED_PAGE_TOKEN":8,"INVALID_PAGE_SIZE":22,"PAGE_SIZE_NOT_SUPPORTED":40,"REQUIRED_FIELD_MISSING":9,"IMMUTABLE_FIELD":11,"TOO_MANY_MUTATE_OPERATIONS":13,"CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT":14,"CANNOT_MODIFY_FOREIGN_FIELD":15,"INVALID_ENUM_VALUE":18,"DEVELOPER_TOKEN_PARAMETER_MISSING":19,"LOGIN_CUSTOMER_ID_PARAMETER_MISSING":20,"VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN":21,"CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS":29,"CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS":30,"INCONSISTENT_RETURN_SUMMARY_ROW_VALUE":31,"TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED":32,"RPC_DEADLINE_TOO_SHORT":33,"UNSUPPORTED_VERSION":38,"CLOUD_PROJECT_NOT_FOUND":39},"bidding_strategy_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_NAME":2,"CANNOT_CHANGE_BIDDING_STRATEGY_TYPE":3,"CANNOT_REMOVE_ASSOCIATED_STRATEGY":4,"BIDDING_STRATEGY_NOT_SUPPORTED":5,"INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE":6},"url_field_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_TRACKING_URL_TEMPLATE":2,"INVALID_TAG_IN_TRACKING_URL_TEMPLATE":3,"MISSING_TRACKING_URL_TEMPLATE_TAG":4,"MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE":5,"INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE":6,"MALFORMED_TRACKING_URL_TEMPLATE":7,"MISSING_HOST_IN_TRACKING_URL_TEMPLATE":8,"INVALID_TLD_IN_TRACKING_URL_TEMPLATE":9,"REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG":10,"INVALID_FINAL_URL":11,"INVALID_TAG_IN_FINAL_URL":12,"REDUNDANT_NESTED_FINAL_URL_TAG":13,"MISSING_PROTOCOL_IN_FINAL_URL":14,"INVALID_PROTOCOL_IN_FINAL_URL":15,"MALFORMED_FINAL_URL":16,"MISSING_HOST_IN_FINAL_URL":17,"INVALID_TLD_IN_FINAL_URL":18,"INVALID_FINAL_MOBILE_URL":19,"INVALID_TAG_IN_FINAL_MOBILE_URL":20,"REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG":21,"MISSING_PROTOCOL_IN_FINAL_MOBILE_URL":22,"INVALID_PROTOCOL_IN_FINAL_MOBILE_URL":23,"MALFORMED_FINAL_MOBILE_URL":24,"MISSING_HOST_IN_FINAL_MOBILE_URL":25,"INVALID_TLD_IN_FINAL_MOBILE_URL":26,"INVALID_FINAL_APP_URL":27,"INVALID_TAG_IN_FINAL_APP_URL":28,"REDUNDANT_NESTED_FINAL_APP_URL_TAG":29,"MULTIPLE_APP_URLS_FOR_OSTYPE":30,"INVALID_OSTYPE":31,"INVALID_PROTOCOL_FOR_APP_URL":32,"INVALID_PACKAGE_ID_FOR_APP_URL":33,"URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT":34,"INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY":39,"INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE":40,"INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE":41,"REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG":42,"MISSING_PROTOCOL":43,"INVALID_PROTOCOL":52,"INVALID_URL":44,"DESTINATION_URL_DEPRECATED":45,"INVALID_TAG_IN_URL":46,"MISSING_URL_TAG":47,"DUPLICATE_URL_ID":48,"INVALID_URL_ID":49,"FINAL_URL_SUFFIX_MALFORMED":50,"INVALID_TAG_IN_FINAL_URL_SUFFIX":51,"INVALID_TOP_LEVEL_DOMAIN":53,"MALFORMED_TOP_LEVEL_DOMAIN":54,"MALFORMED_URL":55,"MISSING_HOST":56,"NULL_CUSTOM_PARAMETER_VALUE":57,"VALUE_TRACK_PARAMETER_NOT_SUPPORTED":58,"UNSUPPORTED_APP_STORE":59},"list_operation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"REQUIRED_FIELD_MISSING":7,"DUPLICATE_VALUES":8},"query_error":{"UNSPECIFIED":0,"UNKNOWN":1,"QUERY_ERROR":50,"BAD_ENUM_CONSTANT":18,"BAD_ESCAPE_SEQUENCE":7,"BAD_FIELD_NAME":12,"BAD_LIMIT_VALUE":15,"BAD_NUMBER":5,"BAD_OPERATOR":3,"BAD_PARAMETER_NAME":61,"BAD_PARAMETER_VALUE":62,"BAD_RESOURCE_TYPE_IN_FROM_CLAUSE":45,"BAD_SYMBOL":2,"BAD_VALUE":4,"DATE_RANGE_TOO_WIDE":36,"DATE_RANGE_TOO_NARROW":60,"EXPECTED_AND":30,"EXPECTED_BY":14,"EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE":37,"EXPECTED_FILTERS_ON_DATE_RANGE":55,"EXPECTED_FROM":44,"EXPECTED_LIST":41,"EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE":16,"EXPECTED_SELECT":13,"EXPECTED_SINGLE_VALUE":42,"EXPECTED_VALUE_WITH_BETWEEN_OPERATOR":29,"INVALID_DATE_FORMAT":38,"MISALIGNED_DATE_FOR_FILTER":64,"INVALID_STRING_VALUE":57,"INVALID_VALUE_WITH_BETWEEN_OPERATOR":26,"INVALID_VALUE_WITH_DURING_OPERATOR":22,"INVALID_VALUE_WITH_LIKE_OPERATOR":56,"OPERATOR_FIELD_MISMATCH":35,"PROHIBITED_EMPTY_LIST_IN_CONDITION":28,"PROHIBITED_ENUM_CONSTANT":54,"PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE":31,"PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE":40,"PROHIBITED_FIELD_IN_SELECT_CLAUSE":23,"PROHIBITED_FIELD_IN_WHERE_CLAUSE":24,"PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE":43,"PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE":48,"PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE":58,"PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE":49,"PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE":51,"PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE":53,"LIMIT_VALUE_TOO_LOW":25,"PROHIBITED_NEWLINE_IN_STRING":8,"PROHIBITED_VALUE_COMBINATION_IN_LIST":10,"PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR":21,"STRING_NOT_TERMINATED":6,"TOO_MANY_SEGMENTS":34,"UNEXPECTED_END_OF_QUERY":9,"UNEXPECTED_FROM_CLAUSE":47,"UNRECOGNIZED_FIELD":32,"UNEXPECTED_INPUT":11,"REQUESTED_METRICS_FOR_MANAGER":59,"FILTER_HAS_TOO_MANY_VALUES":63},"mutate_error":{"UNSPECIFIED":0,"UNKNOWN":1,"RESOURCE_NOT_FOUND":3,"ID_EXISTS_IN_MULTIPLE_MUTATES":7,"INCONSISTENT_FIELD_VALUES":8,"MUTATE_NOT_ALLOWED":9,"RESOURCE_NOT_IN_GOOGLE_ADS":10,"RESOURCE_ALREADY_EXISTS":11,"RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY":12,"OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE":16,"RESOURCE_READ_ONLY":13},"field_mask_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FIELD_MASK_MISSING":5,"FIELD_MASK_NOT_ALLOWED":4,"FIELD_NOT_FOUND":2,"FIELD_HAS_SUBFIELDS":3},"authorization_error":{"UNSPECIFIED":0,"UNKNOWN":1,"USER_PERMISSION_DENIED":2,"DEVELOPER_TOKEN_NOT_ON_ALLOWLIST":13,"DEVELOPER_TOKEN_PROHIBITED":4,"PROJECT_DISABLED":5,"AUTHORIZATION_ERROR":6,"ACTION_NOT_PERMITTED":7,"INCOMPLETE_SIGNUP":8,"CUSTOMER_NOT_ENABLED":24,"MISSING_TOS":9,"DEVELOPER_TOKEN_NOT_APPROVED":10,"INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION":11,"SERVICE_ACCESS_DENIED":12,"ACCESS_DENIED_FOR_ACCOUNT_TYPE":25,"METRIC_ACCESS_DENIED":26,"CLOUD_PROJECT_NOT_UNDER_ORGANIZATION":27,"ACTION_NOT_PERMITTED_FOR_SUSPENDED_ACCOUNT":28},"internal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INTERNAL_ERROR":2,"ERROR_CODE_NOT_PUBLISHED":3,"TRANSIENT_ERROR":4,"DEADLINE_EXCEEDED":5},"quota_error":{"UNSPECIFIED":0,"UNKNOWN":1,"RESOURCE_EXHAUSTED":2,"ACCESS_PROHIBITED":3,"RESOURCE_TEMPORARILY_EXHAUSTED":4,"EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION":5,"EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION":6},"ad_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE":2,"APPROXIMATELY_TOO_LONG":3,"APPROXIMATELY_TOO_SHORT":4,"BAD_SNIPPET":5,"CANNOT_MODIFY_AD":6,"CANNOT_SET_BUSINESS_NAME_IF_URL_SET":7,"CANNOT_SET_FIELD":8,"CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET":9,"CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING":10,"CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE":11,"CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING":12,"CANNOT_SET_URL":13,"CANNOT_SET_WITHOUT_FINAL_URLS":14,"CANNOT_SET_WITH_FINAL_URLS":15,"CANNOT_SET_WITH_URL_DATA":17,"CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR":18,"CUSTOMER_NOT_APPROVED_MOBILEADS":19,"CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS":20,"CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS":21,"CUSTOMER_NOT_ELIGIBLE":22,"CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL":23,"DIMENSION_ALREADY_IN_UNION":24,"DIMENSION_MUST_BE_SET":25,"DIMENSION_NOT_IN_UNION":26,"DISPLAY_URL_CANNOT_BE_SPECIFIED":27,"DOMESTIC_PHONE_NUMBER_FORMAT":28,"EMERGENCY_PHONE_NUMBER":29,"EMPTY_FIELD":30,"FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID":31,"FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH":32,"ILLEGAL_AD_CUSTOMIZER_TAG_USE":33,"ILLEGAL_TAG_USE":34,"INCONSISTENT_DIMENSIONS":35,"INCONSISTENT_STATUS_IN_TEMPLATE_UNION":36,"INCORRECT_LENGTH":37,"INELIGIBLE_FOR_UPGRADE":38,"INVALID_AD_ADDRESS_CAMPAIGN_TARGET":39,"INVALID_AD_TYPE":40,"INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE":41,"INVALID_ATTRIBUTES_FOR_MOBILE_TEXT":42,"INVALID_CALL_TO_ACTION_TEXT":43,"INVALID_CHARACTER_FOR_URL":44,"INVALID_COUNTRY_CODE":45,"INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG":47,"INVALID_INPUT":48,"INVALID_MARKUP_LANGUAGE":49,"INVALID_MOBILE_CARRIER":50,"INVALID_MOBILE_CARRIER_TARGET":51,"INVALID_NUMBER_OF_ELEMENTS":52,"INVALID_PHONE_NUMBER_FORMAT":53,"INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID":54,"INVALID_TEMPLATE_DATA":55,"INVALID_TEMPLATE_ELEMENT_FIELD_TYPE":56,"INVALID_TEMPLATE_ID":57,"LINE_TOO_WIDE":58,"MISSING_AD_CUSTOMIZER_MAPPING":59,"MISSING_ADDRESS_COMPONENT":60,"MISSING_ADVERTISEMENT_NAME":61,"MISSING_BUSINESS_NAME":62,"MISSING_DESCRIPTION1":63,"MISSING_DESCRIPTION2":64,"MISSING_DESTINATION_URL_TAG":65,"MISSING_LANDING_PAGE_URL_TAG":66,"MISSING_DIMENSION":67,"MISSING_DISPLAY_URL":68,"MISSING_HEADLINE":69,"MISSING_HEIGHT":70,"MISSING_IMAGE":71,"MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS":72,"MISSING_MARKUP_LANGUAGES":73,"MISSING_MOBILE_CARRIER":74,"MISSING_PHONE":75,"MISSING_REQUIRED_TEMPLATE_FIELDS":76,"MISSING_TEMPLATE_FIELD_VALUE":77,"MISSING_TEXT":78,"MISSING_VISIBLE_URL":79,"MISSING_WIDTH":80,"MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED":81,"MUST_USE_TEMP_AD_UNION_ID_ON_ADD":82,"TOO_LONG":83,"TOO_SHORT":84,"UNION_DIMENSIONS_CANNOT_CHANGE":85,"UNKNOWN_ADDRESS_COMPONENT":86,"UNKNOWN_FIELD_NAME":87,"UNKNOWN_UNIQUE_NAME":88,"UNSUPPORTED_DIMENSIONS":89,"URL_INVALID_SCHEME":90,"URL_INVALID_TOP_LEVEL_DOMAIN":91,"URL_MALFORMED":92,"URL_NO_HOST":93,"URL_NOT_EQUIVALENT":94,"URL_HOST_NAME_TOO_LONG":95,"URL_NO_SCHEME":96,"URL_NO_TOP_LEVEL_DOMAIN":97,"URL_PATH_NOT_ALLOWED":98,"URL_PORT_NOT_ALLOWED":99,"URL_QUERY_NOT_ALLOWED":100,"URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG":102,"USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE":103,"INCONSISTENT_EXPANDABLE_SETTINGS":104,"INVALID_FORMAT":105,"INVALID_FIELD_TEXT":106,"ELEMENT_NOT_PRESENT":107,"IMAGE_ERROR":108,"VALUE_NOT_IN_RANGE":109,"FIELD_NOT_PRESENT":110,"ADDRESS_NOT_COMPLETE":111,"ADDRESS_INVALID":112,"VIDEO_RETRIEVAL_ERROR":113,"AUDIO_ERROR":114,"INVALID_YOUTUBE_DISPLAY_URL":115,"TOO_MANY_PRODUCT_IMAGES":116,"TOO_MANY_PRODUCT_VIDEOS":117,"INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE":118,"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":119,"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":120,"DISALLOWED_NUMBER_TYPE":121,"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":122,"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY":123,"PREMIUM_RATE_NUMBER_NOT_ALLOWED":124,"VANITY_PHONE_NUMBER_NOT_ALLOWED":125,"INVALID_CALL_CONVERSION_TYPE_ID":126,"CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID":127,"CANNOT_SET_PATH2_WITHOUT_PATH1":128,"MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME":129,"INCOMPATIBLE_WITH_RESTRICTION_TYPE":130,"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":131,"MISSING_IMAGE_OR_MEDIA_BUNDLE":132,"PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN":133,"PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE":134,"PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE":135,"PLACEHOLDER_DEFAULT_VALUE_MISSING":136,"UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE":137,"AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT":138,"UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION":139,"CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN":140,"CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY":154,"TOO_MANY_AD_CUSTOMIZERS":141,"INVALID_AD_CUSTOMIZER_FORMAT":142,"NESTED_AD_CUSTOMIZER_SYNTAX":143,"UNSUPPORTED_AD_CUSTOMIZER_SYNTAX":144,"UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG":145,"MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS":146,"DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID":147,"DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST":148,"UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND":149,"CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD":150,"INVALID_CUSTOMIZER_ATTRIBUTE_NAME":151,"STORE_MISMATCH":152,"MISSING_REQUIRED_IMAGE_ASPECT_RATIO":153,"MISMATCHED_ASPECT_RATIOS":155,"DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS":156},"ad_group_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_ADGROUP_NAME":2,"INVALID_ADGROUP_NAME":3,"ADVERTISER_NOT_ON_CONTENT_NETWORK":5,"BID_TOO_BIG":6,"BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH":7,"MISSING_ADGROUP_NAME":8,"ADGROUP_LABEL_DOES_NOT_EXIST":9,"ADGROUP_LABEL_ALREADY_EXISTS":10,"INVALID_CONTENT_BID_CRITERION_TYPE_GROUP":11,"AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE":12,"ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY":13,"CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING":14,"PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER":15,"INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE":16,"INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE":17,"CANNOT_ADD_AD_GROUP_FOR_CAMPAIGN_TYPE":18,"INVALID_STATUS":19},"campaign_budget_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_BUDGET_CANNOT_BE_SHARED":17,"CAMPAIGN_BUDGET_REMOVED":2,"CAMPAIGN_BUDGET_IN_USE":3,"CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE":4,"CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET":6,"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED":7,"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME":8,"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED":9,"CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS":10,"DUPLICATE_NAME":11,"MONEY_AMOUNT_IN_WRONG_CURRENCY":12,"MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC":13,"MONEY_AMOUNT_TOO_LARGE":14,"NEGATIVE_MONEY_AMOUNT":15,"NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT":16,"TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY":18,"INVALID_PERIOD":19,"CANNOT_USE_ACCELERATED_DELIVERY_MODE":20,"BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD":21},"campaign_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_TARGET_CONTENT_NETWORK":3,"CANNOT_TARGET_SEARCH_NETWORK":4,"CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH":5,"CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN":6,"CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK":7,"CANNOT_TARGET_PARTNER_SEARCH_NETWORK":8,"CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY":9,"CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS":10,"CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN":11,"DUPLICATE_CAMPAIGN_NAME":12,"INCOMPATIBLE_CAMPAIGN_FIELD":13,"INVALID_CAMPAIGN_NAME":14,"INVALID_AD_SERVING_OPTIMIZATION_STATUS":15,"INVALID_TRACKING_URL":16,"CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING":17,"MAX_IMPRESSIONS_NOT_IN_RANGE":18,"TIME_UNIT_NOT_SUPPORTED":19,"INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED":20,"BUDGET_CANNOT_BE_SHARED":21,"CAMPAIGN_CANNOT_USE_SHARED_BUDGET":22,"CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS":23,"CAMPAIGN_LABEL_DOES_NOT_EXIST":24,"CAMPAIGN_LABEL_ALREADY_EXISTS":25,"MISSING_SHOPPING_SETTING":26,"INVALID_SHOPPING_SALES_COUNTRY":27,"ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE":31,"INVALID_ADVERTISING_CHANNEL_SUB_TYPE":32,"AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED":33,"CANNOT_SET_AD_ROTATION_MODE":34,"CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED":35,"CANNOT_SET_DATE_TO_PAST":36,"MISSING_HOTEL_CUSTOMER_LINK":37,"INVALID_HOTEL_CUSTOMER_LINK":38,"MISSING_HOTEL_SETTING":39,"CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP":40,"APP_NOT_FOUND":41,"SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE":42,"MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS":43,"INSUFFICIENT_APP_INSTALLS_COUNT":44,"SENSITIVE_CATEGORY_APP":45,"HEC_AGREEMENT_REQUIRED":46,"NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION":49,"INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE":48,"CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP":50,"APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN":51,"INCOMPATIBLE_BUDGET_TYPE":52,"LOCAL_SERVICES_DUPLICATE_CATEGORY_BID":53,"LOCAL_SERVICES_INVALID_CATEGORY_BID":54,"LOCAL_SERVICES_MISSING_CATEGORY_BID":55,"INVALID_STATUS_CHANGE":57,"MISSING_TRAVEL_CUSTOMER_LINK":58,"INVALID_TRAVEL_CUSTOMER_LINK":59,"INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE":62,"ASSET_SET_NOT_A_HOTEL_PROPERTY_ASSET_SET":63,"HOTEL_PROPERTY_ASSET_SET_ONLY_FOR_PERFORMANCE_MAX_FOR_TRAVEL_GOALS":64,"AVERAGE_DAILY_SPEND_TOO_HIGH":65,"CANNOT_ATTACH_TO_REMOVED_CAMPAIGN_GROUP":66,"CANNOT_ATTACH_TO_BIDDING_STRATEGY":67,"CANNOT_CHANGE_BUDGET_PERIOD":68,"NOT_ENOUGH_CONVERSIONS":71,"CANNOT_SET_MORE_THAN_ONE_CONVERSION_ACTION":72,"NOT_COMPATIBLE_WITH_BUDGET_TYPE":73,"NOT_COMPATIBLE_WITH_UPLOAD_CLICKS_CONVERSION":74,"APP_ID_MUST_MATCH_CONVERSION_ACTION_APP_ID":76,"CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_NOT_ALLOWED":77,"CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_REQUIRED":78,"CONVERSION_TRACKING_NOT_ENABLED":79,"NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE":80,"NOT_COMPATIBLE_WITH_GOOGLE_ATTRIBUTION_CONVERSIONS":81,"CONVERSION_LAG_TOO_HIGH":82,"NOT_LINKED_ADVERTISING_PARTNER":83,"INVALID_NUMBER_OF_ADVERTISING_PARTNER_IDS":84,"CANNOT_TARGET_DISPLAY_NETWORK_WITHOUT_YOUTUBE":85,"CANNOT_LINK_TO_COMPARISON_SHOPPING_SERVICE_ACCOUNT":86,"CANNOT_TARGET_NETWORK_FOR_COMPARISON_SHOPPING_SERVICE_LINKED_ACCOUNTS":87,"CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL":88,"DYNAMIC_TEXT_ASSET_CANNOT_OPT_OUT_WITH_FINAL_URL_EXPANSION_OPT_IN":89,"CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE":90,"CANNOT_DISABLE_BROAD_MATCH_WHEN_KEYWORD_CONVERSION_IN_PROCESS":91,"CANNOT_DISABLE_BROAD_MATCH_WHEN_TARGETING_BRANDS":92,"CANNOT_ENABLE_BROAD_MATCH_FOR_BASE_CAMPAIGN_WITH_PROMOTING_TRIAL":93,"CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN":94,"REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED":95,"REQUIRED_LOGO_ASSET_NOT_LINKED":96,"BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN":98,"BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED":99,"BRAND_GUIDELINES_COLOR_INVALID_FORMAT":100,"BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY":101,"BRAND_GUIDELINES_UNSUPPORTED_CHANNEL":102,"CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS":103,"CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES":104},"video_campaign_error":{"UNSPECIFIED":0,"UNKNOWN":1,"MUTATE_REQUIRES_RESERVATION":2},"authentication_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AUTHENTICATION_ERROR":2,"CLIENT_CUSTOMER_ID_INVALID":5,"CUSTOMER_NOT_FOUND":8,"GOOGLE_ACCOUNT_DELETED":9,"GOOGLE_ACCOUNT_COOKIE_INVALID":10,"GOOGLE_ACCOUNT_AUTHENTICATION_FAILED":25,"GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH":12,"LOGIN_COOKIE_REQUIRED":13,"NOT_ADS_USER":14,"OAUTH_TOKEN_INVALID":15,"OAUTH_TOKEN_EXPIRED":16,"OAUTH_TOKEN_DISABLED":17,"OAUTH_TOKEN_REVOKED":18,"OAUTH_TOKEN_HEADER_INVALID":19,"LOGIN_COOKIE_INVALID":20,"USER_ID_INVALID":22,"TWO_STEP_VERIFICATION_NOT_ENROLLED":23,"ADVANCED_PROTECTION_NOT_ENROLLED":24,"ORGANIZATION_NOT_RECOGNIZED":26,"ORGANIZATION_NOT_APPROVED":27,"ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN":28},"ad_group_criterion_customizer_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CRITERION_IS_NOT_KEYWORD":2},"ad_group_criterion_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST":2,"AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS":3,"CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION":4,"TOO_MANY_OPERATIONS":5,"CANT_UPDATE_NEGATIVE":6,"CONCRETE_TYPE_REQUIRED":7,"BID_INCOMPATIBLE_WITH_ADGROUP":8,"CANNOT_TARGET_AND_EXCLUDE":9,"ILLEGAL_URL":10,"INVALID_KEYWORD_TEXT":11,"INVALID_DESTINATION_URL":12,"MISSING_DESTINATION_URL_TAG":13,"KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM":14,"INVALID_USER_STATUS":15,"CANNOT_ADD_CRITERIA_TYPE":16,"CANNOT_EXCLUDE_CRITERIA_TYPE":17,"CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE":27,"OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS":28,"CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS":29,"CANNOT_SET_WITHOUT_FINAL_URLS":30,"CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST":31,"CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST":32,"CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS":33,"CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST":34,"CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS":35,"CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE":36,"FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE":37,"FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE":38},"ad_group_customizer_error":{"UNSPECIFIED":0,"UNKNOWN":1},"ad_customizer_error":{"UNSPECIFIED":0,"UNKNOWN":1,"COUNTDOWN_INVALID_DATE_FORMAT":2,"COUNTDOWN_DATE_IN_PAST":3,"COUNTDOWN_INVALID_LOCALE":4,"COUNTDOWN_INVALID_START_DAYS_BEFORE":5,"UNKNOWN_USER_LIST":6},"ad_group_ad_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP_AD_LABEL_DOES_NOT_EXIST":2,"AD_GROUP_AD_LABEL_ALREADY_EXISTS":3,"AD_NOT_UNDER_ADGROUP":4,"CANNOT_OPERATE_ON_REMOVED_ADGROUPAD":5,"CANNOT_CREATE_DEPRECATED_ADS":6,"CANNOT_CREATE_TEXT_ADS":7,"EMPTY_FIELD":8,"RESOURCE_REFERENCED_IN_MULTIPLE_OPS":9,"AD_TYPE_CANNOT_BE_PAUSED":10,"AD_TYPE_CANNOT_BE_REMOVED":11,"CANNOT_UPDATE_DEPRECATED_ADS":12},"ad_sharing_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP_ALREADY_CONTAINS_AD":2,"INCOMPATIBLE_AD_UNDER_AD_GROUP":3,"CANNOT_SHARE_INACTIVE_AD":4},"adx_error":{"UNSPECIFIED":0,"UNKNOWN":1,"UNSUPPORTED_FEATURE":2},"asset_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE":13,"DUPLICATE_ASSET":3,"DUPLICATE_ASSET_NAME":4,"ASSET_DATA_IS_MISSING":5,"CANNOT_MODIFY_ASSET_NAME":6,"FIELD_INCOMPATIBLE_WITH_ASSET_TYPE":7,"INVALID_CALL_TO_ACTION_TEXT":8,"LEAD_FORM_INVALID_FIELDS_COMBINATION":9,"LEAD_FORM_MISSING_AGREEMENT":10,"INVALID_ASSET_STATUS":11,"FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE":12,"SCHEDULES_CANNOT_OVERLAP":14,"PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF":15,"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT":16,"TOO_MANY_DECIMAL_PLACES_SPECIFIED":17,"DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE":18,"CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":19,"CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":20,"CALL_DISALLOWED_NUMBER_TYPE":21,"CALL_INVALID_CONVERSION_ACTION":22,"CALL_INVALID_COUNTRY_CODE":23,"CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT":24,"CALL_INVALID_PHONE_NUMBER":25,"CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":26,"CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED":27,"CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED":28,"PRICE_HEADER_SAME_AS_DESCRIPTION":29,"MOBILE_APP_INVALID_APP_ID":30,"MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL":31,"NAME_REQUIRED_FOR_ASSET_TYPE":32,"LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED":33,"NAME_CONFLICT_FOR_ASSET_TYPE":34,"CANNOT_MODIFY_ASSET_SOURCE":35,"CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET":36,"LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED":37,"PAGE_FEED_INVALID_LABEL_TEXT":38,"CUSTOMER_NOT_ON_ALLOWLIST_FOR_WHATSAPP_MESSAGE_ASSETS":39,"CUSTOMER_NOT_ON_ALLOWLIST_FOR_APP_DEEP_LINK_ASSETS":40},"asset_group_asset_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_RESOURCE":2,"EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION":3,"AD_CUSTOMIZER_NOT_SUPPORTED":4,"HOTEL_PROPERTY_ASSET_NOT_LINKED_TO_CAMPAIGN":5},"asset_group_listing_group_filter_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TREE_TOO_DEEP":2,"UNIT_CANNOT_HAVE_CHILDREN":3,"SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD":4,"DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS":5,"SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS":6,"SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS":7,"MULTIPLE_ROOTS":8,"INVALID_DIMENSION_VALUE":9,"MUST_REFINE_HIERARCHICAL_PARENT_TYPE":10,"INVALID_PRODUCT_BIDDING_CATEGORY":11,"CHANGING_CASE_VALUE_WITH_CHILDREN":12,"SUBDIVISION_HAS_CHILDREN":13,"CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE":14,"DIMENSION_TYPE_NOT_ALLOWED":15,"DUPLICATE_WEBPAGE_FILTER_UNDER_ASSET_GROUP":16,"LISTING_SOURCE_NOT_ALLOWED":17,"FILTER_EXCLUSION_NOT_ALLOWED":18,"MULTIPLE_LISTING_SOURCES":19,"MULTIPLE_WEBPAGE_CONDITION_TYPES_NOT_ALLOWED":20,"MULTIPLE_WEBPAGE_TYPES_PER_ASSET_GROUP":21,"PAGE_FEED_FILTER_HAS_PARENT":22,"MULTIPLE_OPERATIONS_ON_ONE_NODE":23,"TREE_WAS_INVALID_BEFORE_MUTATION":24},"asset_group_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_NAME":2,"CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE":3,"NOT_ENOUGH_HEADLINE_ASSET":4,"NOT_ENOUGH_LONG_HEADLINE_ASSET":5,"NOT_ENOUGH_DESCRIPTION_ASSET":6,"NOT_ENOUGH_BUSINESS_NAME_ASSET":7,"NOT_ENOUGH_MARKETING_IMAGE_ASSET":8,"NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET":9,"NOT_ENOUGH_LOGO_ASSET":10,"FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER":11,"PATH1_REQUIRED_WHEN_PATH2_IS_SET":12,"SHORT_DESCRIPTION_REQUIRED":13,"FINAL_URL_REQUIRED":14,"FINAL_URL_CONTAINS_INVALID_DOMAIN_NAME":15,"AD_CUSTOMIZER_NOT_SUPPORTED":16,"CANNOT_MUTATE_ASSET_GROUP_FOR_REMOVED_CAMPAIGN":17},"asset_set_asset_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_ASSET_TYPE":2,"INVALID_ASSET_SET_TYPE":3,"DUPLICATE_EXTERNAL_KEY":4,"PARENT_LINKAGE_DOES_NOT_EXIST":5},"asset_set_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE":2,"DUPLICATE_FEED_LINK":3,"INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE":4,"DUPLICATE_ASSET_SET_LINK":5,"ASSET_SET_LINK_CANNOT_BE_REMOVED":6},"asset_set_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_ASSET_SET_NAME":2,"INVALID_PARENT_ASSET_SET_TYPE":3,"ASSET_SET_SOURCE_INCOMPATIBLE_WITH_PARENT_ASSET_SET":4,"ASSET_SET_TYPE_CANNOT_BE_LINKED_TO_CUSTOMER":5,"INVALID_CHAIN_IDS":6,"LOCATION_SYNC_ASSET_SET_DOES_NOT_SUPPORT_RELATIONSHIP_TYPE":7,"NOT_UNIQUE_ENABLED_LOCATION_SYNC_TYPED_ASSET_SET":8,"INVALID_PLACE_IDS":9,"OAUTH_INFO_INVALID":11,"OAUTH_INFO_MISSING":12,"CANNOT_DELETE_AS_ENABLED_LINKAGES_EXIST":10},"bidding_error":{"UNSPECIFIED":0,"UNKNOWN":1,"BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED":2,"CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN":7,"INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE":10,"INVALID_BIDDING_STRATEGY_TYPE":14,"INVALID_BID":17,"BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE":18,"CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY":21,"CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY":23,"BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE":24,"PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER":25,"PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA":26,"BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS":27,"BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS":28,"BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION":29,"BID_TOO_SMALL":30,"BID_TOO_BIG":31,"BID_TOO_MANY_FRACTIONAL_DIGITS":32,"INVALID_DOMAIN_NAME":33,"NOT_COMPATIBLE_WITH_PAYMENT_MODE":34,"BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET":37,"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED":38,"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ATTACHED_TO_THE_SAME_CAMPAIGNS_TO_ALIGN":39,"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_REMOVED_TOGETHER":40,"CPC_BID_FLOOR_MICROS_GREATER_THAN_CPC_BID_CEILING_MICROS":41},"campaign_criterion_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CONCRETE_TYPE_REQUIRED":2,"INVALID_PLACEMENT_URL":3,"CANNOT_EXCLUDE_CRITERIA_TYPE":4,"CANNOT_SET_STATUS_FOR_CRITERIA_TYPE":5,"CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA":6,"CANNOT_TARGET_AND_EXCLUDE":7,"TOO_MANY_OPERATIONS":8,"OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE":9,"SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL":10,"CANNOT_ADD_EXISTING_FIELD":11,"CANNOT_UPDATE_NEGATIVE_CRITERION":12,"CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION":13,"INVALID_KEYWORD_THEME_CONSTANT":14,"MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME":15,"CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN":16,"CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN":17,"LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN":18,"LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN":19,"CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN":20,"LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN":21,"CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN":22,"AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN":23,"AT_LEAST_ONE_LOCAL_SERVICE_ID_CRITERION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN":24,"LOCAL_SERVICE_ID_NOT_FOUND_FOR_CATEGORY":25,"CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN":26,"CANNOT_REMOVE_ALL_LOCATIONS_DUE_TO_TOO_MANY_COUNTRY_EXCLUSIONS":27},"campaign_conversion_goal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN":2,"CANNOT_USE_STORE_SALE_GOAL_FOR_PERFORMANCE_MAX_CAMPAIGN":3},"campaign_customizer_error":{"UNSPECIFIED":0,"UNKNOWN":1},"collection_size_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_FEW":2,"TOO_MANY":3},"conversion_goal_campaign_config_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN":2,"CUSTOM_GOAL_DOES_NOT_BELONG_TO_GOOGLE_ADS_CONVERSION_CUSTOMER":3,"CAMPAIGN_CANNOT_USE_UNIFIED_GOALS":4,"EMPTY_CONVERSION_GOALS":5,"STORE_SALE_STORE_VISIT_CANNOT_BE_BOTH_INCLUDED":6,"PERFORMANCE_MAX_CAMPAIGN_CANNOT_USE_CUSTOM_GOAL_WITH_STORE_SALES":7},"country_code_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_COUNTRY_CODE":2},"criterion_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CONCRETE_TYPE_REQUIRED":2,"INVALID_EXCLUDED_CATEGORY":3,"INVALID_KEYWORD_TEXT":4,"KEYWORD_TEXT_TOO_LONG":5,"KEYWORD_HAS_TOO_MANY_WORDS":6,"KEYWORD_HAS_INVALID_CHARS":7,"INVALID_PLACEMENT_URL":8,"INVALID_USER_LIST":9,"INVALID_USER_INTEREST":10,"INVALID_FORMAT_FOR_PLACEMENT_URL":11,"PLACEMENT_URL_IS_TOO_LONG":12,"PLACEMENT_URL_HAS_ILLEGAL_CHAR":13,"PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE":14,"PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION":15,"INVALID_TOPIC_PATH":16,"INVALID_YOUTUBE_CHANNEL_ID":17,"INVALID_YOUTUBE_VIDEO_ID":18,"YOUTUBE_VERTICAL_CHANNEL_DEPRECATED":19,"YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED":20,"YOUTUBE_URL_UNSUPPORTED":21,"CANNOT_EXCLUDE_CRITERIA_TYPE":22,"CANNOT_ADD_CRITERIA_TYPE":23,"CANNOT_EXCLUDE_SIMILAR_USER_LIST":26,"CANNOT_ADD_CLOSED_USER_LIST":27,"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS":28,"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS":29,"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS":30,"CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS":31,"CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS":32,"CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE":33,"INVALID_COMBINED_AUDIENCE":122,"INVALID_CUSTOM_AFFINITY":96,"INVALID_CUSTOM_INTENT":97,"INVALID_CUSTOM_AUDIENCE":121,"INVALID_IP_ADDRESS":34,"INVALID_IP_FORMAT":35,"INVALID_MOBILE_APP":36,"INVALID_MOBILE_APP_CATEGORY":37,"INVALID_CRITERION_ID":38,"CANNOT_TARGET_CRITERION":39,"CANNOT_TARGET_OBSOLETE_CRITERION":40,"CRITERION_ID_AND_TYPE_MISMATCH":41,"INVALID_PROXIMITY_RADIUS":42,"INVALID_PROXIMITY_RADIUS_UNITS":43,"INVALID_STREETADDRESS_LENGTH":44,"INVALID_CITYNAME_LENGTH":45,"INVALID_REGIONCODE_LENGTH":46,"INVALID_REGIONNAME_LENGTH":47,"INVALID_POSTALCODE_LENGTH":48,"INVALID_COUNTRY_CODE":49,"INVALID_LATITUDE":50,"INVALID_LONGITUDE":51,"PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL":52,"INVALID_PROXIMITY_ADDRESS":53,"INVALID_USER_DOMAIN_NAME":54,"CRITERION_PARAMETER_TOO_LONG":55,"AD_SCHEDULE_TIME_INTERVALS_OVERLAP":56,"AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS":57,"AD_SCHEDULE_INVALID_TIME_INTERVAL":58,"AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT":59,"AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS":60,"CANNOT_BID_MODIFY_CRITERION_TYPE":61,"CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT":62,"CANNOT_BID_MODIFY_NEGATIVE_CRITERION":63,"BID_MODIFIER_ALREADY_EXISTS":64,"FEED_ID_NOT_ALLOWED":65,"ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE":66,"CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY":67,"CANNOT_EXCLUDE_CRITERION":68,"CANNOT_REMOVE_CRITERION":69,"INVALID_PRODUCT_BIDDING_CATEGORY":76,"MISSING_SHOPPING_SETTING":77,"INVALID_MATCHING_FUNCTION":78,"LOCATION_FILTER_NOT_ALLOWED":79,"INVALID_FEED_FOR_LOCATION_FILTER":98,"LOCATION_FILTER_INVALID":80,"CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS":123,"CANNOT_SET_BOTH_ASSET_SET_AND_FEED":140,"CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER":142,"CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER":150,"CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS":143,"CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS":144,"INVALID_LOCATION_GROUP_ASSET_SET":141,"INVALID_LOCATION_GROUP_RADIUS":124,"INVALID_LOCATION_GROUP_RADIUS_UNIT":125,"CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP":81,"HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION":82,"HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION":83,"FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING":84,"INVALID_WEBPAGE_CONDITION":85,"INVALID_WEBPAGE_CONDITION_URL":86,"WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY":87,"WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL":88,"WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS":89,"WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING":90,"WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX":91,"WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX":92,"WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED":93,"WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION":94,"WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP":95,"CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS":99,"CANNOT_TARGET_PLACEMENTS_FOR_SEARCH_CAMPAIGNS":126,"LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES":100,"LISTING_SCOPE_TOO_MANY_IN_OPERATORS":101,"LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED":102,"DUPLICATE_LISTING_DIMENSION_TYPE":103,"DUPLICATE_LISTING_DIMENSION_VALUE":104,"CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION":105,"INVALID_LISTING_GROUP_HIERARCHY":106,"LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN":107,"LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE":108,"LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS":109,"LISTING_GROUP_ALREADY_EXISTS":110,"LISTING_GROUP_DOES_NOT_EXIST":111,"LISTING_GROUP_CANNOT_BE_REMOVED":112,"INVALID_LISTING_GROUP_TYPE":113,"LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID":114,"LISTING_SCOPE_TOO_LONG":115,"LISTING_SCOPE_TOO_MANY_DIMENSIONS":116,"LISTING_GROUP_TOO_LONG":117,"LISTING_GROUP_TREE_TOO_DEEP":118,"INVALID_LISTING_DIMENSION":119,"INVALID_LISTING_DIMENSION_TYPE":120,"ADVERTISER_NOT_ON_ALLOWLIST_FOR_COMBINED_AUDIENCE_ON_DISPLAY":127,"CANNOT_TARGET_REMOVED_COMBINED_AUDIENCE":128,"INVALID_COMBINED_AUDIENCE_ID":129,"CANNOT_TARGET_REMOVED_CUSTOM_AUDIENCE":130,"HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION":131,"HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY":132,"HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE":133,"HOTEL_CHECK_IN_DATE_RANGE_REVERSED":134,"BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED":135,"ONE_AUDIENCE_ALLOWED_PER_ASSET_GROUP":136,"AUDIENCE_NOT_ELIGIBLE_FOR_CAMPAIGN_TYPE":137,"AUDIENCE_NOT_ALLOWED_TO_ATTACH_WHEN_AUDIENCE_GROUPED_SET_TO_FALSE":138,"CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST":139,"NEGATIVE_KEYWORD_SHARED_SET_DOES_NOT_EXIST":145,"CANNOT_ADD_REMOVED_NEGATIVE_KEYWORD_SHARED_SET":146,"CANNOT_HAVE_MULTIPLE_NEGATIVE_KEYWORD_LIST_PER_ACCOUNT":147,"CUSTOMER_CANNOT_ADD_CRITERION_OF_THIS_TYPE":149,"CANNOT_TARGET_SIMILAR_USER_LIST":151,"CANNOT_ADD_AUDIENCE_SEGMENT_CRITERION_WHEN_AUDIENCE_GROUPED_IS_SET":152,"ONE_AUDIENCE_ALLOWED_PER_AD_GROUP":153,"INVALID_DETAILED_DEMOGRAPHIC":154,"CANNOT_RECOGNIZE_BRAND":155,"BRAND_SHARED_SET_DOES_NOT_EXIST":156,"CANNOT_ADD_REMOVED_BRAND_SHARED_SET":157,"ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE":158},"custom_conversion_goal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_CONVERSION_ACTION":2,"CONVERSION_ACTION_NOT_ENABLED":3,"CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL":4,"CUSTOM_GOAL_DUPLICATE_NAME":5,"DUPLICATE_CONVERSION_ACTION_LIST":6,"NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL":7},"customer_customizer_error":{"UNSPECIFIED":0,"UNKNOWN":1},"customer_error":{"UNSPECIFIED":0,"UNKNOWN":1,"STATUS_CHANGE_DISALLOWED":2,"ACCOUNT_NOT_SET_UP":3,"CREATION_DENIED_FOR_POLICY_VIOLATION":4,"CREATION_DENIED_INELIGIBLE_MCC":5},"customizer_attribute_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME":2},"date_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_FIELD_VALUES_IN_DATE":2,"INVALID_FIELD_VALUES_IN_DATE_TIME":3,"INVALID_STRING_DATE":4,"INVALID_STRING_DATE_TIME_MICROS":6,"INVALID_STRING_DATE_TIME_SECONDS":11,"INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET":12,"EARLIER_THAN_MINIMUM_DATE":7,"LATER_THAN_MAXIMUM_DATE":8,"DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE":9,"DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL":10},"date_range_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_DATE":2,"START_DATE_AFTER_END_DATE":3,"CANNOT_SET_DATE_TO_PAST":4,"AFTER_MAXIMUM_ALLOWABLE_DATE":5,"CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED":6},"distinct_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_ELEMENT":2,"DUPLICATE_TYPE":3},"feed_attribute_reference_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_REFERENCE_REMOVED_FEED":2,"INVALID_FEED_NAME":3,"INVALID_FEED_ATTRIBUTE_NAME":4},"function_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_FUNCTION_FORMAT":2,"DATA_TYPE_MISMATCH":3,"INVALID_CONJUNCTION_OPERANDS":4,"INVALID_NUMBER_OF_OPERANDS":5,"INVALID_OPERAND_TYPE":6,"INVALID_OPERATOR":7,"INVALID_REQUEST_CONTEXT_TYPE":8,"INVALID_FUNCTION_FOR_CALL_PLACEHOLDER":9,"INVALID_FUNCTION_FOR_PLACEHOLDER":10,"INVALID_OPERAND":11,"MISSING_CONSTANT_OPERAND_VALUE":12,"INVALID_CONSTANT_OPERAND_VALUE":13,"INVALID_NESTING":14,"MULTIPLE_FEED_IDS_NOT_SUPPORTED":15,"INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA":16,"INVALID_ATTRIBUTE_NAME":17},"function_parsing_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NO_MORE_INPUT":2,"EXPECTED_CHARACTER":3,"UNEXPECTED_SEPARATOR":4,"UNMATCHED_LEFT_BRACKET":5,"UNMATCHED_RIGHT_BRACKET":6,"TOO_MANY_NESTED_FUNCTIONS":7,"MISSING_RIGHT_HAND_OPERAND":8,"INVALID_OPERATOR_NAME":9,"FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER":10,"NO_OPERANDS":11,"TOO_MANY_OPERANDS":12},"id_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_FOUND":2},"image_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_IMAGE":2,"STORAGE_ERROR":3,"BAD_REQUEST":4,"UNEXPECTED_SIZE":5,"ANIMATED_NOT_ALLOWED":6,"ANIMATION_TOO_LONG":7,"SERVER_ERROR":8,"CMYK_JPEG_NOT_ALLOWED":9,"FLASH_NOT_ALLOWED":10,"FLASH_WITHOUT_CLICKTAG":11,"FLASH_ERROR_AFTER_FIXING_CLICK_TAG":12,"ANIMATED_VISUAL_EFFECT":13,"FLASH_ERROR":14,"LAYOUT_PROBLEM":15,"PROBLEM_READING_IMAGE_FILE":16,"ERROR_STORING_IMAGE":17,"ASPECT_RATIO_NOT_ALLOWED":18,"FLASH_HAS_NETWORK_OBJECTS":19,"FLASH_HAS_NETWORK_METHODS":20,"FLASH_HAS_URL":21,"FLASH_HAS_MOUSE_TRACKING":22,"FLASH_HAS_RANDOM_NUM":23,"FLASH_SELF_TARGETS":24,"FLASH_BAD_GETURL_TARGET":25,"FLASH_VERSION_NOT_SUPPORTED":26,"FLASH_WITHOUT_HARD_CODED_CLICK_URL":27,"INVALID_FLASH_FILE":28,"FAILED_TO_FIX_CLICK_TAG_IN_FLASH":29,"FLASH_ACCESSES_NETWORK_RESOURCES":30,"FLASH_EXTERNAL_JS_CALL":31,"FLASH_EXTERNAL_FS_CALL":32,"FILE_TOO_LARGE":33,"IMAGE_DATA_TOO_LARGE":34,"IMAGE_PROCESSING_ERROR":35,"IMAGE_TOO_SMALL":36,"INVALID_INPUT":37,"PROBLEM_READING_FILE":38,"IMAGE_CONSTRAINTS_VIOLATED":39,"FORMAT_NOT_ALLOWED":40},"language_code_error":{"UNSPECIFIED":0,"UNKNOWN":1,"LANGUAGE_CODE_NOT_FOUND":2,"INVALID_LANGUAGE_CODE":3},"media_bundle_error":{"UNSPECIFIED":0,"UNKNOWN":1,"BAD_REQUEST":3,"DOUBLECLICK_BUNDLE_NOT_ALLOWED":4,"EXTERNAL_URL_NOT_ALLOWED":5,"FILE_TOO_LARGE":6,"GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED":7,"INVALID_INPUT":8,"INVALID_MEDIA_BUNDLE":9,"INVALID_MEDIA_BUNDLE_ENTRY":10,"INVALID_MIME_TYPE":11,"INVALID_PATH":12,"INVALID_URL_REFERENCE":13,"MEDIA_DATA_TOO_LARGE":14,"MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY":15,"SERVER_ERROR":16,"STORAGE_ERROR":17,"SWIFFY_BUNDLE_NOT_ALLOWED":18,"TOO_MANY_FILES":19,"UNEXPECTED_SIZE":20,"UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT":21,"UNSUPPORTED_HTML5_FEATURE":22,"URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT":23,"CUSTOM_EXIT_NOT_ALLOWED":24},"media_upload_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FILE_TOO_BIG":2,"UNPARSEABLE_IMAGE":3,"ANIMATED_IMAGE_NOT_ALLOWED":4,"FORMAT_NOT_ALLOWED":5,"EXTERNAL_URL_NOT_ALLOWED":6,"INVALID_URL_REFERENCE":7,"MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY":8,"ANIMATED_VISUAL_EFFECT":9,"ANIMATION_TOO_LONG":10,"ASPECT_RATIO_NOT_ALLOWED":11,"AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE":12,"CMYK_JPEG_NOT_ALLOWED":13,"FLASH_NOT_ALLOWED":14,"FRAME_RATE_TOO_HIGH":15,"GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED":16,"IMAGE_CONSTRAINTS_VIOLATED":17,"INVALID_MEDIA_BUNDLE":18,"INVALID_MEDIA_BUNDLE_ENTRY":19,"INVALID_MIME_TYPE":20,"INVALID_PATH":21,"LAYOUT_PROBLEM":22,"MALFORMED_URL":23,"MEDIA_BUNDLE_NOT_ALLOWED":24,"MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE":25,"MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS":26,"TOO_MANY_FILES_IN_MEDIA_BUNDLE":27,"UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT":28,"UNSUPPORTED_HTML5_FEATURE":29,"URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT":30,"VIDEO_FILE_NAME_TOO_LONG":31,"VIDEO_MULTIPLE_FILES_WITH_SAME_NAME":32,"VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE":33,"CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API":34,"DIMENSIONS_NOT_ALLOWED":35},"media_file_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_CREATE_STANDARD_ICON":2,"CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES":3,"CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA":4,"DUPLICATE_MEDIA":5,"EMPTY_FIELD":6,"RESOURCE_REFERENCED_IN_MULTIPLE_OPS":7,"FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE":8,"INVALID_MEDIA_FILE_ID":9,"INVALID_MEDIA_SUB_TYPE":10,"INVALID_MEDIA_FILE_TYPE":11,"INVALID_MIME_TYPE":12,"INVALID_REFERENCE_ID":13,"INVALID_YOU_TUBE_ID":14,"MEDIA_FILE_FAILED_TRANSCODING":15,"MEDIA_NOT_TRANSCODED":16,"MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE":17,"NO_FIELDS_SPECIFIED":18,"NULL_REFERENCE_ID_AND_MEDIA_ID":19,"TOO_LONG":20,"UNSUPPORTED_TYPE":21,"YOU_TUBE_SERVICE_UNAVAILABLE":22,"YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION":23,"YOU_TUBE_VIDEO_NOT_FOUND":24},"merchant_center_error":{"UNSPECIFIED":0,"UNKNOWN":1,"MERCHANT_ID_CANNOT_BE_ACCESSED":2,"CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX":3},"multiplier_error":{"UNSPECIFIED":0,"UNKNOWN":1,"MULTIPLIER_TOO_HIGH":2,"MULTIPLIER_TOO_LOW":3,"TOO_MANY_FRACTIONAL_DIGITS":4,"MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY":5,"MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING":6,"NO_MULTIPLIER_SPECIFIED":7,"MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET":8,"MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET":9,"MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET":10,"MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID":11,"BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER":12,"MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH":13},"new_resource_creation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_SET_ID_FOR_CREATE":2,"DUPLICATE_TEMP_IDS":3,"TEMP_ID_RESOURCE_HAD_ERRORS":4},"not_empty_error":{"UNSPECIFIED":0,"UNKNOWN":1,"EMPTY_LIST":2},"null_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NULL_CONTENT":2},"operator_error":{"UNSPECIFIED":0,"UNKNOWN":1,"OPERATOR_NOT_SUPPORTED":2},"range_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_LOW":2,"TOO_HIGH":3},"recommendation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"BUDGET_AMOUNT_TOO_SMALL":2,"BUDGET_AMOUNT_TOO_LARGE":3,"INVALID_BUDGET_AMOUNT":4,"POLICY_ERROR":5,"INVALID_BID_AMOUNT":6,"ADGROUP_KEYWORD_LIMIT":7,"RECOMMENDATION_ALREADY_APPLIED":8,"RECOMMENDATION_INVALIDATED":9,"TOO_MANY_OPERATIONS":10,"NO_OPERATIONS":11,"DIFFERENT_TYPES_NOT_SUPPORTED":12,"DUPLICATE_RESOURCE_NAME":13,"RECOMMENDATION_ALREADY_DISMISSED":14,"INVALID_APPLY_REQUEST":15,"RECOMMENDATION_TYPE_APPLY_NOT_SUPPORTED":17,"INVALID_MULTIPLIER":18,"ADVERTISING_CHANNEL_TYPE_GENERATE_NOT_SUPPORTED":19,"RECOMMENDATION_TYPE_GENERATE_NOT_SUPPORTED":20,"RECOMMENDATION_TYPES_CANNOT_BE_EMPTY":21,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_INFO":22,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_STRATEGY_TYPE":23,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO":24,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO_WITH_FINAL_URL":25,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_COUNTRY_CODES_FOR_SEARCH_CHANNEL":26,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_INVALID_COUNTRY_CODE_FOR_SEARCH_CHANNEL":27,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_LANGUAGE_CODES_FOR_SEARCH_CHANNEL":28,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_EITHER_POSITIVE_OR_NEGATIVE_LOCATION_IDS_FOR_SEARCH_CHANNEL":29,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_AD_GROUP_INFO_FOR_SEARCH_CHANNEL":30,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_KEYWORDS_FOR_SEARCH_CHANNEL":31,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_LOCATION":32,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_MICROS":33,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_TARGET_IMPRESSION_SHARE_MICROS_BETWEEN_1_AND_1000000":34,"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_INFO":35},"recommendation_subscription_error":{"UNSPECIFIED":0,"UNKNOWN":1},"region_code_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_REGION_CODE":2},"setting_error":{"UNSPECIFIED":0,"UNKNOWN":1,"SETTING_TYPE_IS_NOT_AVAILABLE":3,"SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN":4,"TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP":5,"TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL":6,"TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP":7,"DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT":8,"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME":9,"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME":10,"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE":11,"TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN":12,"SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN":20,"BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING":21},"string_format_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ILLEGAL_CHARS":2,"INVALID_FORMAT":3},"string_length_error":{"UNSPECIFIED":0,"UNKNOWN":1,"EMPTY":4,"TOO_SHORT":2,"TOO_LONG":3},"operation_access_denied_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ACTION_NOT_PERMITTED":2,"CREATE_OPERATION_NOT_PERMITTED":3,"REMOVE_OPERATION_NOT_PERMITTED":4,"UPDATE_OPERATION_NOT_PERMITTED":5,"MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT":6,"OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE":7,"CREATE_AS_REMOVED_NOT_PERMITTED":8,"OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE":9,"OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE":10,"MUTATE_NOT_PERMITTED_FOR_CUSTOMER":11},"resource_access_denied_error":{"UNSPECIFIED":0,"UNKNOWN":1,"WRITE_ACCESS_DENIED":3},"resource_count_limit_exceeded_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ACCOUNT_LIMIT":2,"CAMPAIGN_LIMIT":3,"ADGROUP_LIMIT":4,"AD_GROUP_AD_LIMIT":5,"AD_GROUP_CRITERION_LIMIT":6,"SHARED_SET_LIMIT":7,"MATCHING_FUNCTION_LIMIT":8,"RESPONSE_ROW_LIMIT_EXCEEDED":9,"RESOURCE_LIMIT":10},"youtube_video_registration_error":{"UNSPECIFIED":0,"UNKNOWN":1,"VIDEO_NOT_FOUND":2,"VIDEO_NOT_ACCESSIBLE":3,"VIDEO_NOT_ELIGIBLE":4},"ad_group_bid_modifier_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CRITERION_ID_NOT_SUPPORTED":2,"CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER":3},"context_error":{"UNSPECIFIED":0,"UNKNOWN":1,"OPERATION_NOT_PERMITTED_FOR_CONTEXT":2,"OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE":3},"field_error":{"UNSPECIFIED":0,"UNKNOWN":1,"REQUIRED":2,"IMMUTABLE_FIELD":3,"INVALID_VALUE":4,"VALUE_MUST_BE_UNSET":5,"REQUIRED_NONEMPTY_LIST":6,"FIELD_CANNOT_BE_CLEARED":7,"BLOCKED_VALUE":9,"FIELD_CAN_ONLY_BE_CLEARED":10},"shared_set_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE":2,"DUPLICATE_NAME":3,"SHARED_SET_REMOVED":4,"SHARED_SET_IN_USE":5},"shared_criterion_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE":2},"campaign_shared_set_error":{"UNSPECIFIED":0,"UNKNOWN":1,"SHARED_SET_ACCESS_DENIED":2},"conversion_action_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_NAME":2,"DUPLICATE_APP_ID":3,"TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD":4,"BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION":5,"DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED":6,"DATA_DRIVEN_MODEL_EXPIRED":7,"DATA_DRIVEN_MODEL_STALE":8,"DATA_DRIVEN_MODEL_UNKNOWN":9,"CREATION_NOT_SUPPORTED":10,"UPDATE_NOT_SUPPORTED":11,"CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS":12},"conversion_adjustment_upload_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_RECENT_CONVERSION_ACTION":2,"CONVERSION_ALREADY_RETRACTED":4,"CONVERSION_NOT_FOUND":5,"CONVERSION_EXPIRED":6,"ADJUSTMENT_PRECEDES_CONVERSION":7,"MORE_RECENT_RESTATEMENT_FOUND":8,"TOO_RECENT_CONVERSION":9,"CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE":10,"TOO_MANY_ADJUSTMENTS_IN_REQUEST":11,"TOO_MANY_ADJUSTMENTS":12,"RESTATEMENT_ALREADY_EXISTS":13,"DUPLICATE_ADJUSTMENT_IN_REQUEST":14,"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS":15,"CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT":16,"INVALID_USER_IDENTIFIER":17,"UNSUPPORTED_USER_IDENTIFIER":18,"GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET":20,"CONVERSION_ALREADY_ENHANCED":21,"DUPLICATE_ENHANCEMENT_IN_REQUEST":22,"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT":23,"MISSING_ORDER_ID_FOR_WEBPAGE":24,"ORDER_ID_CONTAINS_PII":25,"INVALID_JOB_ID":26,"NO_CONVERSION_ACTION_FOUND":27,"INVALID_CONVERSION_ACTION_TYPE":28},"conversion_custom_variable_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_NAME":2,"DUPLICATE_TAG":3,"RESERVED_TAG":4},"conversion_upload_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_MANY_CONVERSIONS_IN_REQUEST":2,"UNPARSEABLE_GCLID":3,"CONVERSION_PRECEDES_EVENT":42,"EXPIRED_EVENT":43,"TOO_RECENT_EVENT":44,"EVENT_NOT_FOUND":45,"UNAUTHORIZED_CUSTOMER":8,"TOO_RECENT_CONVERSION_ACTION":10,"CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME":11,"EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION":12,"EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION":13,"ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION":14,"ORDER_ID_ALREADY_IN_USE":15,"DUPLICATE_ORDER_ID":16,"TOO_RECENT_CALL":17,"EXPIRED_CALL":18,"CALL_NOT_FOUND":19,"CONVERSION_PRECEDES_CALL":20,"CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME":21,"UNPARSEABLE_CALLERS_PHONE_NUMBER":22,"CLICK_CONVERSION_ALREADY_EXISTS":23,"CALL_CONVERSION_ALREADY_EXISTS":24,"DUPLICATE_CLICK_CONVERSION_IN_REQUEST":25,"DUPLICATE_CALL_CONVERSION_IN_REQUEST":26,"CUSTOM_VARIABLE_NOT_ENABLED":28,"CUSTOM_VARIABLE_VALUE_CONTAINS_PII":29,"INVALID_CUSTOMER_FOR_CLICK":30,"INVALID_CUSTOMER_FOR_CALL":31,"CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY":32,"CLICK_NOT_FOUND":33,"INVALID_USER_IDENTIFIER":34,"EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER":35,"UNSUPPORTED_USER_IDENTIFIER":36,"GBRAID_WBRAID_BOTH_SET":38,"UNPARSEABLE_WBRAID":39,"UNPARSEABLE_GBRAID":40,"ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID":46,"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS":47,"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS":48,"ORDER_ID_CONTAINS_PII":49,"CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS":50,"INVALID_JOB_ID":52,"NO_CONVERSION_ACTION_FOUND":53,"INVALID_CONVERSION_ACTION_TYPE":54},"conversion_value_rule_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_GEO_TARGET_CONSTANT":2,"CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET":3,"CONFLICTING_CONDITIONS":4,"CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET":5,"CONDITION_NOT_ALLOWED":6,"FIELD_MUST_BE_UNSET":7,"CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED":8,"UNTARGETABLE_GEO_TARGET":9,"INVALID_AUDIENCE_USER_LIST":10,"INACCESSIBLE_USER_LIST":11,"INVALID_AUDIENCE_USER_INTEREST":12,"CANNOT_ADD_RULE_WITH_STATUS_REMOVED":13,"NO_DAY_OF_WEEK_SELECTED":14},"conversion_value_rule_set_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CONFLICTING_VALUE_RULE_CONDITIONS":2,"INVALID_VALUE_RULE":3,"DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND":4,"CONDITION_TYPE_NOT_ALLOWED":5,"DUPLICATE_DIMENSIONS":6,"INVALID_CAMPAIGN_ID":7,"CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED":8,"SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED":9,"VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE":10,"INELIGIBLE_CONVERSION_ACTION_CATEGORIES":11,"DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS":12,"DIMENSION_NO_CONDITION_NOT_ALLOWED":13,"UNSUPPORTED_CONVERSION_ACTION_CATEGORIES":14,"DIMENSION_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE":15},"header_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_LOGIN_CUSTOMER_ID":3,"INVALID_LINKED_CUSTOMER_ID":7},"database_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CONCURRENT_MODIFICATION":2,"DATA_CONSTRAINT_VIOLATION":3,"REQUEST_TOO_LARGE":4},"policy_finding_error":{"UNSPECIFIED":0,"UNKNOWN":1,"POLICY_FINDING":2,"POLICY_TOPIC_NOT_FOUND":3},"enum_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ENUM_VALUE_NOT_PERMITTED":3},"keyword_plan_error":{"UNSPECIFIED":0,"UNKNOWN":1,"BID_MULTIPLIER_OUT_OF_RANGE":2,"BID_TOO_HIGH":3,"BID_TOO_LOW":4,"BID_TOO_MANY_FRACTIONAL_DIGITS":5,"DAILY_BUDGET_TOO_LOW":6,"DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS":7,"INVALID_VALUE":8,"KEYWORD_PLAN_HAS_NO_KEYWORDS":9,"KEYWORD_PLAN_NOT_ENABLED":10,"KEYWORD_PLAN_NOT_FOUND":11,"MISSING_BID":13,"MISSING_FORECAST_PERIOD":14,"INVALID_FORECAST_DATE_RANGE":15,"INVALID_NAME":16},"keyword_plan_campaign_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_NAME":2,"INVALID_LANGUAGES":3,"INVALID_GEOS":4,"DUPLICATE_NAME":5,"MAX_GEOS_EXCEEDED":6,"MAX_LANGUAGES_EXCEEDED":7},"keyword_plan_campaign_keyword_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_KEYWORD_IS_POSITIVE":8},"keyword_plan_ad_group_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_NAME":2,"DUPLICATE_NAME":3},"keyword_plan_ad_group_keyword_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_KEYWORD_MATCH_TYPE":2,"DUPLICATE_KEYWORD":3,"KEYWORD_TEXT_TOO_LONG":4,"KEYWORD_HAS_INVALID_CHARS":5,"KEYWORD_HAS_TOO_MANY_WORDS":6,"INVALID_KEYWORD_TEXT":7,"NEGATIVE_KEYWORD_HAS_CPC_BID":8,"NEW_BMM_KEYWORDS_NOT_ALLOWED":9},"keyword_plan_idea_error":{"UNSPECIFIED":0,"UNKNOWN":1,"URL_CRAWL_ERROR":2,"INVALID_VALUE":3},"account_budget_proposal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FIELD_MASK_NOT_ALLOWED":2,"IMMUTABLE_FIELD":3,"REQUIRED_FIELD_MISSING":4,"CANNOT_CANCEL_APPROVED_PROPOSAL":5,"CANNOT_REMOVE_UNAPPROVED_BUDGET":6,"CANNOT_REMOVE_RUNNING_BUDGET":7,"CANNOT_END_UNAPPROVED_BUDGET":8,"CANNOT_END_INACTIVE_BUDGET":9,"BUDGET_NAME_REQUIRED":10,"CANNOT_UPDATE_OLD_BUDGET":11,"CANNOT_END_IN_PAST":12,"CANNOT_EXTEND_END_TIME":13,"PURCHASE_ORDER_NUMBER_REQUIRED":14,"PENDING_UPDATE_PROPOSAL_EXISTS":15,"MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP":16,"CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET":17,"SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED":18,"UPDATE_IS_NO_OP":19,"END_TIME_MUST_FOLLOW_START_TIME":20,"BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP":21,"NOT_AUTHORIZED":22,"INVALID_BILLING_SETUP":23,"OVERLAPS_EXISTING_BUDGET":24,"CANNOT_CREATE_BUDGET_THROUGH_API":25,"INVALID_MASTER_SERVICE_AGREEMENT":26,"CANCELED_BILLING_SETUP":27},"user_list_error":{"UNSPECIFIED":0,"UNKNOWN":1,"EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED":2,"CONCRETE_TYPE_REQUIRED":3,"CONVERSION_TYPE_ID_REQUIRED":4,"DUPLICATE_CONVERSION_TYPES":5,"INVALID_CONVERSION_TYPE":6,"INVALID_DESCRIPTION":7,"INVALID_NAME":8,"INVALID_TYPE":9,"CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND":10,"INVALID_USER_LIST_LOGICAL_RULE_OPERAND":11,"NAME_ALREADY_USED":12,"NEW_CONVERSION_TYPE_NAME_REQUIRED":13,"CONVERSION_TYPE_NAME_ALREADY_USED":14,"OWNERSHIP_REQUIRED_FOR_SET":15,"USER_LIST_MUTATE_NOT_SUPPORTED":16,"INVALID_RULE":17,"INVALID_DATE_RANGE":27,"CAN_NOT_MUTATE_SENSITIVE_USERLIST":28,"MAX_NUM_RULEBASED_USERLISTS":29,"CANNOT_MODIFY_BILLABLE_RECORD_COUNT":30,"APP_ID_NOT_SET":31,"USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST":32,"ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA":37,"RULE_TYPE_IS_NOT_SUPPORTED":34,"CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND":35,"CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS":36,"APP_ID_NOT_ALLOWED":39,"CANNOT_MUTATE_SYSTEM_LIST":40,"MOBILE_APP_IS_SENSITIVE":41,"SEED_LIST_DOES_NOT_EXIST":42,"INVALID_SEED_LIST_ACCESS_REASON":43,"INVALID_SEED_LIST_TYPE":44,"INVALID_COUNTRY_CODES":45},"change_event_error":{"UNSPECIFIED":0,"UNKNOWN":1,"START_DATE_TOO_OLD":2,"CHANGE_DATE_RANGE_INFINITE":3,"CHANGE_DATE_RANGE_NEGATIVE":4,"LIMIT_NOT_SPECIFIED":5,"INVALID_LIMIT_CLAUSE":6},"change_status_error":{"UNSPECIFIED":0,"UNKNOWN":1,"START_DATE_TOO_OLD":3,"CHANGE_DATE_RANGE_INFINITE":4,"CHANGE_DATE_RANGE_NEGATIVE":5,"LIMIT_NOT_SPECIFIED":6,"INVALID_LIMIT_CLAUSE":7},"feed_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ATTRIBUTE_NAMES_NOT_UNIQUE":2,"ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES":3,"CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED":4,"CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED":5,"CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED":6,"CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE":7,"FEED_REMOVED":8,"INVALID_ORIGIN_VALUE":9,"FEED_ORIGIN_IS_NOT_USER":10,"INVALID_AUTH_TOKEN_FOR_EMAIL":11,"INVALID_EMAIL":12,"DUPLICATE_FEED_NAME":13,"INVALID_FEED_NAME":14,"MISSING_OAUTH_INFO":15,"NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY":16,"TOO_MANY_ATTRIBUTES":17,"INVALID_BUSINESS_ACCOUNT":18,"BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT":19,"INVALID_AFFILIATE_CHAIN_ID":20,"DUPLICATE_SYSTEM_FEED":21,"GMB_ACCESS_ERROR":22,"CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS":23,"LEGACY_EXTENSION_TYPE_READ_ONLY":24},"geo_target_constant_suggestion_error":{"UNSPECIFIED":0,"UNKNOWN":1,"LOCATION_NAME_SIZE_LIMIT":2,"LOCATION_NAME_LIMIT":3,"INVALID_COUNTRY_CODE":4,"REQUEST_PARAMETERS_UNSET":5},"campaign_draft_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_DRAFT_NAME":2,"INVALID_STATUS_TRANSITION_FROM_REMOVED":3,"INVALID_STATUS_TRANSITION_FROM_PROMOTED":4,"INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED":5,"CUSTOMER_CANNOT_CREATE_DRAFT":6,"CAMPAIGN_CANNOT_CREATE_DRAFT":7,"INVALID_DRAFT_CHANGE":8,"INVALID_STATUS_TRANSITION":9,"MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED":10,"LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY":11},"feed_item_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING":2,"CANNOT_OPERATE_ON_REMOVED_FEED_ITEM":3,"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE":4,"KEY_ATTRIBUTES_NOT_FOUND":5,"INVALID_URL":6,"MISSING_KEY_ATTRIBUTES":7,"KEY_ATTRIBUTES_NOT_UNIQUE":8,"CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE":9,"SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE":10,"LEGACY_FEED_TYPE_READ_ONLY":11},"label_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_APPLY_INACTIVE_LABEL":2,"CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION":3,"CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION":4,"EXCEEDED_LABEL_LIMIT_PER_TYPE":5,"INVALID_RESOURCE_FOR_MANAGER_LABEL":6,"DUPLICATE_NAME":7,"INVALID_LABEL_NAME":8,"CANNOT_ATTACH_LABEL_TO_DRAFT":9,"CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER":10},"billing_setup_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_USE_EXISTING_AND_NEW_ACCOUNT":2,"CANNOT_REMOVE_STARTED_BILLING_SETUP":3,"CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT":4,"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS":5,"INVALID_PAYMENTS_ACCOUNT":6,"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY":7,"INVALID_START_TIME_TYPE":8,"THIRD_PARTY_ALREADY_HAS_BILLING":9,"BILLING_SETUP_IN_PROGRESS":10,"NO_SIGNUP_PERMISSION":11,"CHANGE_OF_BILL_TO_IN_PROGRESS":12,"PAYMENTS_PROFILE_NOT_FOUND":13,"PAYMENTS_ACCOUNT_NOT_FOUND":14,"PAYMENTS_PROFILE_INELIGIBLE":15,"PAYMENTS_ACCOUNT_INELIGIBLE":16,"CUSTOMER_NEEDS_INTERNAL_APPROVAL":17,"PAYMENTS_PROFILE_NEEDS_SERVICE_AGREEMENT_ACCEPTANCE":18,"PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH":19,"FUTURE_START_TIME_PROHIBITED":20,"TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT":21},"customer_client_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CLIENT_ALREADY_INVITED_BY_THIS_MANAGER":2,"CLIENT_ALREADY_MANAGED_IN_HIERARCHY":3,"CYCLIC_LINK_NOT_ALLOWED":4,"CUSTOMER_HAS_TOO_MANY_ACCOUNTS":5,"CLIENT_HAS_TOO_MANY_INVITATIONS":6,"CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS":7,"CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER":8,"CLIENT_HAS_TOO_MANY_MANAGERS":9},"customer_manager_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NO_PENDING_INVITE":2,"SAME_CLIENT_MORE_THAN_ONCE_PER_CALL":3,"MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS":4,"CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER":5,"CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER":6,"CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER":7,"CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT":8,"DUPLICATE_CHILD_FOUND":9,"TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS":10},"feed_mapping_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_PLACEHOLDER_FIELD":2,"INVALID_CRITERION_FIELD":3,"INVALID_PLACEHOLDER_TYPE":4,"INVALID_CRITERION_TYPE":5,"NO_ATTRIBUTE_FIELD_MAPPINGS":7,"FEED_ATTRIBUTE_TYPE_MISMATCH":8,"CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED":9,"MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE":10,"MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE":11,"MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD":12,"MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD":13,"UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS":14,"LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS":15,"CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED":16,"INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED":17,"INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE":18,"ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD":19,"LEGACY_FEED_TYPE_READ_ONLY":20},"customer_feed_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":2,"CANNOT_CREATE_FOR_REMOVED_FEED":3,"CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED":4,"CANNOT_MODIFY_REMOVED_CUSTOMER_FEED":5,"INVALID_PLACEHOLDER_TYPE":6,"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE":7,"PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED":8},"ad_group_feed_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":2,"CANNOT_CREATE_FOR_REMOVED_FEED":3,"ADGROUP_FEED_ALREADY_EXISTS":4,"CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED":5,"INVALID_PLACEHOLDER_TYPE":6,"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE":7,"NO_EXISTING_LOCATION_CUSTOMER_FEED":8},"campaign_feed_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":2,"CANNOT_CREATE_FOR_REMOVED_FEED":4,"CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED":5,"CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED":6,"INVALID_PLACEHOLDER_TYPE":7,"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE":8,"NO_EXISTING_LOCATION_CUSTOMER_FEED":9,"LEGACY_FEED_TYPE_READ_ONLY":10},"custom_interest_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NAME_ALREADY_USED":2,"CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE":3,"TYPE_AND_PARAMETER_NOT_FOUND":4,"TYPE_AND_PARAMETER_ALREADY_EXISTED":5,"INVALID_CUSTOM_INTEREST_MEMBER_TYPE":6,"CANNOT_REMOVE_WHILE_IN_USE":7,"CANNOT_CHANGE_TYPE":8},"campaign_experiment_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DUPLICATE_NAME":2,"INVALID_TRANSITION":3,"CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET":4,"CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN":5,"CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT":6,"CUSTOMER_CANNOT_CREATE_EXPERIMENT":7,"CAMPAIGN_CANNOT_CREATE_EXPERIMENT":8,"EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP":9,"EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION":10,"CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS":11},"extension_feed_item_error":{"UNSPECIFIED":0,"UNKNOWN":1,"VALUE_OUT_OF_RANGE":2,"URL_LIST_TOO_LONG":3,"CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING":4,"CANNOT_SET_WITH_FINAL_URLS":5,"CANNOT_SET_WITHOUT_FINAL_URLS":6,"INVALID_PHONE_NUMBER":7,"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":8,"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":9,"PREMIUM_RATE_NUMBER_NOT_ALLOWED":10,"DISALLOWED_NUMBER_TYPE":11,"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT":12,"VANITY_PHONE_NUMBER_NOT_ALLOWED":13,"INVALID_CALL_CONVERSION_ACTION":14,"CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING":47,"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":16,"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":17,"INVALID_APP_ID":18,"QUOTES_IN_REVIEW_EXTENSION_SNIPPET":19,"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET":20,"REVIEW_EXTENSION_SOURCE_INELIGIBLE":21,"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT":22,"INCONSISTENT_CURRENCY_CODES":23,"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS":24,"PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION":25,"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS":26,"PRICE_EXTENSION_HAS_TOO_MANY_ITEMS":27,"UNSUPPORTED_VALUE":28,"UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE":29,"INVALID_DEVICE_PREFERENCE":30,"INVALID_SCHEDULE_END":31,"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE":32,"INVALID_SNIPPETS_HEADER":33,"CANNOT_OPERATE_ON_REMOVED_FEED_ITEM":34,"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY":35,"CONFLICTING_CALL_CONVERSION_SETTINGS":36,"EXTENSION_TYPE_MISMATCH":37,"EXTENSION_SUBTYPE_REQUIRED":38,"EXTENSION_TYPE_UNSUPPORTED":39,"CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS":40,"CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES":41,"INVALID_PRICE_FORMAT":42,"PROMOTION_INVALID_TIME":43,"TOO_MANY_DECIMAL_PLACES_SPECIFIED":44,"CONCRETE_EXTENSION_TYPE_REQUIRED":45,"SCHEDULE_END_NOT_AFTER_START":46},"ad_parameter_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP_CRITERION_MUST_BE_KEYWORD":2,"INVALID_INSERTION_TEXT_FORMAT":3},"feed_item_validation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"STRING_TOO_SHORT":2,"STRING_TOO_LONG":3,"VALUE_NOT_SPECIFIED":4,"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT":5,"INVALID_PHONE_NUMBER":6,"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":7,"PREMIUM_RATE_NUMBER_NOT_ALLOWED":8,"DISALLOWED_NUMBER_TYPE":9,"VALUE_OUT_OF_RANGE":10,"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":11,"CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING":99,"INVALID_COUNTRY_CODE":13,"INVALID_APP_ID":14,"MISSING_ATTRIBUTES_FOR_FIELDS":15,"INVALID_TYPE_ID":16,"INVALID_EMAIL_ADDRESS":17,"INVALID_HTTPS_URL":18,"MISSING_DELIVERY_ADDRESS":19,"START_DATE_AFTER_END_DATE":20,"MISSING_FEED_ITEM_START_TIME":21,"MISSING_FEED_ITEM_END_TIME":22,"MISSING_FEED_ITEM_ID":23,"VANITY_PHONE_NUMBER_NOT_ALLOWED":24,"INVALID_REVIEW_EXTENSION_SNIPPET":25,"INVALID_NUMBER_FORMAT":26,"INVALID_DATE_FORMAT":27,"INVALID_PRICE_FORMAT":28,"UNKNOWN_PLACEHOLDER_FIELD":29,"MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE":30,"REVIEW_EXTENSION_SOURCE_INELIGIBLE":31,"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET":32,"DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET":33,"QUOTES_IN_REVIEW_EXTENSION_SNIPPET":34,"INVALID_FORM_ENCODED_PARAMS":35,"INVALID_URL_PARAMETER_NAME":36,"NO_GEOCODING_RESULT":37,"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT":38,"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":39,"INVALID_PLACEHOLDER_FIELD_ID":40,"INVALID_URL_TAG":41,"LIST_TOO_LONG":42,"INVALID_ATTRIBUTES_COMBINATION":43,"DUPLICATE_VALUES":44,"INVALID_CALL_CONVERSION_ACTION_ID":45,"CANNOT_SET_WITHOUT_FINAL_URLS":46,"APP_ID_DOESNT_EXIST_IN_APP_STORE":47,"INVALID_FINAL_URL":48,"INVALID_TRACKING_URL":49,"INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL":50,"LIST_TOO_SHORT":51,"INVALID_USER_ACTION":52,"INVALID_TYPE_NAME":53,"INVALID_EVENT_CHANGE_STATUS":54,"INVALID_SNIPPETS_HEADER":55,"INVALID_ANDROID_APP_LINK":56,"NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":57,"RESERVED_KEYWORD_OTHER":58,"DUPLICATE_OPTION_LABELS":59,"DUPLICATE_OPTION_PREFILLS":60,"UNEQUAL_LIST_LENGTHS":61,"INCONSISTENT_CURRENCY_CODES":62,"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS":63,"ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION":64,"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS":65,"UNSUPPORTED_VALUE":66,"INVALID_FINAL_MOBILE_URL":67,"INVALID_KEYWORDLESS_AD_RULE_LABEL":68,"VALUE_TRACK_PARAMETER_NOT_SUPPORTED":69,"UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE":70,"INVALID_IOS_APP_LINK":71,"MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID":72,"PROMOTION_INVALID_TIME":73,"PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF":74,"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT":75,"TOO_MANY_DECIMAL_PLACES_SPECIFIED":76,"AD_CUSTOMIZERS_NOT_ALLOWED":77,"INVALID_LANGUAGE_CODE":78,"UNSUPPORTED_LANGUAGE":79,"IF_FUNCTION_NOT_ALLOWED":80,"INVALID_FINAL_URL_SUFFIX":81,"INVALID_TAG_IN_FINAL_URL_SUFFIX":82,"INVALID_FINAL_URL_SUFFIX_FORMAT":83,"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":84,"ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED":85,"NO_DELIVERY_OPTION_IS_SET":86,"INVALID_CONVERSION_REPORTING_STATE":87,"IMAGE_SIZE_WRONG":88,"EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY":89,"AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY":90,"INVALID_LATITUDE_VALUE":91,"INVALID_LONGITUDE_VALUE":92,"TOO_MANY_LABELS":93,"INVALID_IMAGE_URL":94,"MISSING_LATITUDE_VALUE":95,"MISSING_LONGITUDE_VALUE":96,"ADDRESS_NOT_FOUND":97,"ADDRESS_NOT_TARGETABLE":98,"INVALID_ASSET_ID":100,"INCOMPATIBLE_ASSET_TYPE":101,"IMAGE_ERROR_UNEXPECTED_SIZE":102,"IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED":103,"IMAGE_ERROR_FILE_TOO_LARGE":104,"IMAGE_ERROR_FORMAT_NOT_ALLOWED":105,"IMAGE_ERROR_CONSTRAINTS_VIOLATED":106,"IMAGE_ERROR_SERVER_ERROR":107},"extension_setting_error":{"UNSPECIFIED":0,"UNKNOWN":1,"EXTENSIONS_REQUIRED":2,"FEED_TYPE_EXTENSION_TYPE_MISMATCH":3,"INVALID_FEED_TYPE":4,"INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING":5,"CANNOT_CHANGE_FEED_ITEM_ON_CREATE":6,"CANNOT_UPDATE_NEWLY_CREATED_EXTENSION":7,"NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE":8,"NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE":9,"NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE":10,"AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS":11,"CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS":12,"CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS":13,"AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":14,"CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":15,"CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE":16,"VALUE_OUT_OF_RANGE":17,"CANNOT_SET_FIELD_WITH_FINAL_URLS":18,"FINAL_URLS_NOT_SET":19,"INVALID_PHONE_NUMBER":20,"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY":21,"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED":22,"PREMIUM_RATE_NUMBER_NOT_ALLOWED":23,"DISALLOWED_NUMBER_TYPE":24,"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT":25,"VANITY_PHONE_NUMBER_NOT_ALLOWED":26,"INVALID_COUNTRY_CODE":27,"INVALID_CALL_CONVERSION_TYPE_ID":28,"CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING":69,"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY":30,"INVALID_APP_ID":31,"QUOTES_IN_REVIEW_EXTENSION_SNIPPET":32,"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET":33,"REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE":34,"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT":35,"MISSING_FIELD":36,"INCONSISTENT_CURRENCY_CODES":37,"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS":38,"PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION":39,"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS":40,"PRICE_EXTENSION_HAS_TOO_MANY_ITEMS":41,"UNSUPPORTED_VALUE":42,"INVALID_DEVICE_PREFERENCE":43,"INVALID_SCHEDULE_END":45,"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE":47,"OVERLAPPING_SCHEDULES_NOT_ALLOWED":48,"SCHEDULE_END_NOT_AFTER_START":49,"TOO_MANY_SCHEDULES_PER_DAY":50,"DUPLICATE_EXTENSION_FEED_ITEM_EDIT":51,"INVALID_SNIPPETS_HEADER":52,"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY":53,"CAMPAIGN_TARGETING_MISMATCH":54,"CANNOT_OPERATE_ON_REMOVED_FEED":55,"EXTENSION_TYPE_REQUIRED":56,"INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION":57,"START_DATE_AFTER_END_DATE":58,"INVALID_PRICE_FORMAT":59,"PROMOTION_INVALID_TIME":60,"PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT":61,"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT":62,"TOO_MANY_DECIMAL_PLACES_SPECIFIED":63,"INVALID_LANGUAGE_CODE":64,"UNSUPPORTED_LANGUAGE":65,"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED":66,"EXTENSION_SETTING_UPDATE_IS_A_NOOP":67,"DISALLOWED_TEXT":68},"feed_item_set_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FEED_ITEM_SET_REMOVED":2,"CANNOT_CLEAR_DYNAMIC_FILTER":3,"CANNOT_CREATE_DYNAMIC_FILTER":4,"INVALID_FEED_TYPE":5,"DUPLICATE_NAME":6,"WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE":7,"DYNAMIC_FILTER_INVALID_CHAIN_IDS":8},"feed_item_set_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FEED_ID_MISMATCH":2,"NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET":3},"feed_item_target_error":{"UNSPECIFIED":0,"UNKNOWN":1,"MUST_SET_TARGET_ONEOF_ON_CREATE":2,"FEED_ITEM_TARGET_ALREADY_EXISTS":3,"FEED_ITEM_SCHEDULES_CANNOT_OVERLAP":4,"TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE":5,"TOO_MANY_SCHEDULES_PER_DAY":6,"CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS":7,"DUPLICATE_AD_SCHEDULE":8,"DUPLICATE_KEYWORD":9},"policy_violation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"POLICY_ERROR":2},"partial_failure_error":{"UNSPECIFIED":0,"UNKNOWN":1,"PARTIAL_FAILURE_MODE_REQUIRED":2},"policy_validation_parameter_error":{"UNSPECIFIED":0,"UNKNOWN":1,"UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS":2,"UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS":3,"CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS":4},"size_limit_error":{"UNSPECIFIED":0,"UNKNOWN":1,"REQUEST_SIZE_LIMIT_EXCEEDED":2,"RESPONSE_SIZE_LIMIT_EXCEEDED":3},"offline_user_data_job_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_USER_LIST_ID":3,"INVALID_USER_LIST_TYPE":4,"NOT_ON_ALLOWLIST_FOR_USER_ID":33,"INCOMPATIBLE_UPLOAD_KEY_TYPE":6,"MISSING_USER_IDENTIFIER":7,"INVALID_MOBILE_ID_FORMAT":8,"TOO_MANY_USER_IDENTIFIERS":9,"NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT":31,"NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES":32,"INVALID_PARTNER_ID":11,"INVALID_ENCODING":12,"INVALID_COUNTRY_CODE":13,"INCOMPATIBLE_USER_IDENTIFIER":14,"FUTURE_TRANSACTION_TIME":15,"INVALID_CONVERSION_ACTION":16,"MOBILE_ID_NOT_SUPPORTED":17,"INVALID_OPERATION_ORDER":18,"CONFLICTING_OPERATION":19,"EXTERNAL_UPDATE_ID_ALREADY_EXISTS":21,"JOB_ALREADY_STARTED":22,"REMOVE_NOT_SUPPORTED":23,"REMOVE_ALL_NOT_SUPPORTED":24,"INVALID_SHA256_FORMAT":25,"CUSTOM_KEY_DISABLED":26,"CUSTOM_KEY_NOT_PREDEFINED":27,"CUSTOM_KEY_NOT_SET":29,"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS":30,"ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST":34,"LIFETIME_VALUE_BUCKET_NOT_IN_RANGE":35,"INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES":36,"FUTURE_TIME_NOT_ALLOWED":37,"LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME":38,"CUSTOMER_IDENTIFIER_NOT_ALLOWED":39,"INVALID_ITEM_ID":40,"FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME":42,"INVALID_LIFECYCLE_STAGE":43,"INVALID_EVENT_VALUE":44,"EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED":45,"OPERATION_LEVEL_CONSENT_PROVIDED":48},"not_allowlisted_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE":2},"manager_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING":2,"TOO_MANY_MANAGERS":3,"TOO_MANY_INVITES":4,"ALREADY_INVITED_BY_THIS_MANAGER":5,"ALREADY_MANAGED_BY_THIS_MANAGER":6,"ALREADY_MANAGED_IN_HIERARCHY":7,"DUPLICATE_CHILD_FOUND":8,"CLIENT_HAS_NO_ADMIN_USER":9,"MAX_DEPTH_EXCEEDED":10,"CYCLE_NOT_ALLOWED":11,"TOO_MANY_ACCOUNTS":12,"TOO_MANY_ACCOUNTS_AT_MANAGER":13,"NON_OWNER_USER_CANNOT_MODIFY_LINK":14,"SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS":15,"CLIENT_OUTSIDE_TREE":16,"INVALID_STATUS_CHANGE":17,"INVALID_CHANGE":18,"CUSTOMER_CANNOT_MANAGE_SELF":19,"CREATING_ENABLED_LINK_NOT_ALLOWED":20},"currency_code_error":{"UNSPECIFIED":0,"UNKNOWN":1,"UNSUPPORTED":2},"experiment_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_SET_START_DATE_IN_PAST":2,"END_DATE_BEFORE_START_DATE":3,"START_DATE_TOO_FAR_IN_FUTURE":4,"DUPLICATE_EXPERIMENT_NAME":5,"CANNOT_MODIFY_REMOVED_EXPERIMENT":6,"START_DATE_ALREADY_PASSED":7,"CANNOT_SET_END_DATE_IN_PAST":8,"CANNOT_SET_STATUS_TO_REMOVED":9,"CANNOT_MODIFY_PAST_END_DATE":10,"INVALID_STATUS":11,"INVALID_CAMPAIGN_CHANNEL_TYPE":12,"OVERLAPPING_MEMBERS_AND_DATE_RANGE":13,"INVALID_TRIAL_ARM_TRAFFIC_SPLIT":14,"TRAFFIC_SPLIT_OVERLAPPING":15,"SUM_TRIAL_ARM_TRAFFIC_UNEQUALS_TO_TRIAL_TRAFFIC_SPLIT_DENOMINATOR":16,"CANNOT_MODIFY_TRAFFIC_SPLIT_AFTER_START":17,"EXPERIMENT_NOT_FOUND":18,"EXPERIMENT_NOT_YET_STARTED":19,"CANNOT_HAVE_MULTIPLE_CONTROL_ARMS":20,"IN_DESIGN_CAMPAIGNS_NOT_SET":21,"CANNOT_SET_STATUS_TO_GRADUATED":22,"CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_SHARED_BUDGET":23,"CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_CUSTOM_BUDGET":24,"STATUS_TRANSITION_INVALID":25,"DUPLICATE_EXPERIMENT_CAMPAIGN_NAME":26,"CANNOT_REMOVE_IN_CREATION_EXPERIMENT":27,"CANNOT_ADD_CAMPAIGN_WITH_DEPRECATED_AD_TYPES":28,"CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE":29,"INVALID_DURATION_FOR_AN_EXPERIMENT":30},"access_invitation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_EMAIL_ADDRESS":2,"EMAIL_ADDRESS_ALREADY_HAS_ACCESS":3,"INVALID_INVITATION_STATUS":4,"GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED":5,"INVALID_INVITATION_ID":6,"EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION":7,"PENDING_INVITATIONS_LIMIT_EXCEEDED":8,"EMAIL_DOMAIN_POLICY_VIOLATED":9},"reach_plan_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_FORECASTABLE_MISSING_RATE":2,"NOT_FORECASTABLE_NOT_ENOUGH_INVENTORY":3,"NOT_FORECASTABLE_ACCOUNT_NOT_ENABLED":4},"invoice_error":{"UNSPECIFIED":0,"UNKNOWN":1,"YEAR_MONTH_TOO_OLD":2,"NOT_INVOICED_CUSTOMER":3,"BILLING_SETUP_NOT_APPROVED":4,"BILLING_SETUP_NOT_ON_MONTHLY_INVOICING":5,"NON_SERVING_CUSTOMER":6},"payments_account_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_SUPPORTED_FOR_MANAGER_CUSTOMER":2},"time_zone_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_TIME_ZONE":5},"asset_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"PINNING_UNSUPPORTED":2,"UNSUPPORTED_FIELD_TYPE":3,"FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE":4,"FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE":5,"INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE":6,"IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE":7,"INVALID_PINNED_FIELD":8,"MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE":9,"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION":10,"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK":11,"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION":12,"YOUTUBE_VIDEO_REMOVED":13,"YOUTUBE_VIDEO_TOO_LONG":14,"YOUTUBE_VIDEO_TOO_SHORT":15,"EXCLUDED_PARENT_FIELD_TYPE":16,"INVALID_STATUS":17,"YOUTUBE_VIDEO_DURATION_NOT_DEFINED":18,"CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS":19,"CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET":20,"CANNOT_MODIFY_ASSET_LINK_SOURCE":21,"CANNOT_LINK_LOCATION_LEAD_FORM_WITHOUT_LOCATION_ASSET":22,"CUSTOMER_NOT_VERIFIED":23,"UNSUPPORTED_CALL_TO_ACTION":24,"BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL":25,"BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL":26},"user_data_error":{"UNSPECIFIED":0,"UNKNOWN":1,"OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED":2,"TOO_MANY_USER_IDENTIFIERS":3,"USER_LIST_NOT_APPLICABLE":4},"batch_job_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING":2,"EMPTY_OPERATIONS":3,"INVALID_SEQUENCE_TOKEN":4,"RESULTS_NOT_READY":5,"INVALID_PAGE_SIZE":6,"CAN_ONLY_REMOVE_PENDING_JOB":7,"CANNOT_LIST_RESULTS":8,"ASSET_GROUP_AND_ASSET_GROUP_ASSET_TRANSACTION_FAILURE":9,"ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE":10,"REQUEST_TOO_LARGE":11,"CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE":12},"account_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_STATUS":2,"PERMISSION_DENIED":3},"third_party_app_analytics_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_ANALYTICS_PROVIDER_ID":2,"INVALID_MOBILE_APP_ID":3,"MOBILE_APP_IS_NOT_ENABLED":4,"CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK":5},"customer_user_access_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_USER_ID":2,"REMOVAL_DISALLOWED":3,"DISALLOWED_ACCESS_ROLE":4,"LAST_ADMIN_USER_OF_SERVING_CUSTOMER":5,"LAST_ADMIN_USER_OF_MANAGER":6},"custom_audience_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NAME_ALREADY_USED":2,"CANNOT_REMOVE_WHILE_IN_USE":3,"RESOURCE_ALREADY_REMOVED":4,"MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED":5,"INVALID_MEMBER_TYPE":6,"MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH":7,"POLICY_VIOLATION":8,"INVALID_TYPE_CHANGE":9},"audience_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NAME_ALREADY_IN_USE":2,"DIMENSION_INVALID":3,"AUDIENCE_SEGMENT_NOT_FOUND":4,"AUDIENCE_SEGMENT_TYPE_NOT_SUPPORTED":5,"DUPLICATE_AUDIENCE_SEGMENT":6,"TOO_MANY_SEGMENTS":7,"TOO_MANY_DIMENSIONS_OF_SAME_TYPE":8,"IN_USE":9,"MISSING_ASSET_GROUP_ID":10,"CANNOT_CHANGE_FROM_CUSTOMER_TO_ASSET_GROUP_SCOPE":11},"search_term_insight_error":{"UNSPECIFIED":0,"UNKNOWN":1,"FILTERING_NOT_ALLOWED_WITH_SEGMENTS":2,"LIMIT_NOT_ALLOWED_WITH_SEGMENTS":3,"MISSING_FIELD_IN_SELECT_CLAUSE":4,"REQUIRES_FILTER_BY_SINGLE_RESOURCE":5,"SORTING_NOT_ALLOWED_WITH_SEGMENTS":6,"SUMMARY_ROW_NOT_ALLOWED_WITH_SEGMENTS":7},"smart_campaign_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_BUSINESS_LOCATION_ID":2,"INVALID_CAMPAIGN":3,"BUSINESS_NAME_OR_BUSINESS_LOCATION_ID_MISSING":4,"REQUIRED_SUGGESTION_FIELD_MISSING":5,"GEO_TARGETS_REQUIRED":6,"CANNOT_DETERMINE_SUGGESTION_LOCALE":7,"FINAL_URL_NOT_CRAWLABLE":8},"experiment_arm_error":{"UNSPECIFIED":0,"UNKNOWN":1,"EXPERIMENT_ARM_COUNT_LIMIT_EXCEEDED":2,"INVALID_CAMPAIGN_STATUS":3,"DUPLICATE_EXPERIMENT_ARM_NAME":4,"CANNOT_SET_TREATMENT_ARM_CAMPAIGN":5,"CANNOT_MODIFY_CAMPAIGN_IDS":6,"CANNOT_MODIFY_CAMPAIGN_WITHOUT_SUFFIX_SET":7,"CANNOT_MUTATE_TRAFFIC_SPLIT_AFTER_START":8,"CANNOT_ADD_CAMPAIGN_WITH_SHARED_BUDGET":9,"CANNOT_ADD_CAMPAIGN_WITH_CUSTOM_BUDGET":10,"CANNOT_ADD_CAMPAIGNS_WITH_DYNAMIC_ASSETS_ENABLED":11,"UNSUPPORTED_CAMPAIGN_ADVERTISING_CHANNEL_SUB_TYPE":12,"CANNOT_ADD_BASE_CAMPAIGN_WITH_DATE_RANGE":13,"BIDDING_STRATEGY_NOT_SUPPORTED_IN_EXPERIMENTS":14,"TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE":15},"audience_insights_error":{"UNSPECIFIED":0,"UNKNOWN":1,"DIMENSION_INCOMPATIBLE_WITH_TOPIC_AUDIENCE_COMBINATIONS":2},"product_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_OPERATION":2,"CREATION_NOT_PERMITTED":3,"INVITATION_EXISTS":4,"LINK_EXISTS":5},"data_link_error":{"UNSPECIFIED":0,"UNKNOWN":1,"YOUTUBE_CHANNEL_ID_INVALID":2,"YOUTUBE_VIDEO_ID_INVALID":3,"YOUTUBE_VIDEO_FROM_DIFFERENT_CHANNEL":4,"PERMISSION_DENIED":5,"INVALID_STATUS":6,"INVALID_UPDATE_STATUS":7,"INVALID_RESOURCE_NAME":8},"customer_sk_ad_network_conversion_value_schema_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_LINK_ID":2,"INVALID_APP_ID":3,"INVALID_SCHEMA":4,"LINK_CODE_NOT_FOUND":5,"INVALID_EVENT_COUNTER":7,"INVALID_EVENT_NAME":8},"currency_error":{"UNSPECIFIED":0,"UNKNOWN":1,"VALUE_NOT_MULTIPLE_OF_BILLABLE_UNIT":2},"asset_group_signal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_MANY_WORDS":2,"SEARCH_THEME_POLICY_VIOLATION":3,"AUDIENCE_WITH_WRONG_ASSET_GROUP_ID":4},"product_link_invitation_error":{"UNSPECIFIED":0,"UNKNOWN":1,"INVALID_STATUS":2,"PERMISSION_DENIED":3,"NO_INVITATION_REQUIRED":4,"CUSTOMER_NOT_PERMITTED_TO_CREATE_INVITATION":5},"customer_lifecycle_goal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER_ACQUISITION_VALUE_MISSING":2,"CUSTOMER_ACQUISITION_INVALID_VALUE":3,"CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE":4,"CUSTOMER_ACQUISITION_VALUE_CANNOT_BE_CLEARED":5,"CUSTOMER_ACQUISITION_HIGH_LIFETIME_VALUE_CANNOT_BE_CLEARED":6,"INVALID_EXISTING_USER_LIST":7,"INVALID_HIGH_LIFETIME_VALUE_USER_LIST":8},"campaign_lifecycle_goal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_MISSING":2,"INVALID_CAMPAIGN":3,"CUSTOMER_ACQUISITION_INVALID_OPTIMIZATION_MODE":4,"INCOMPATIBLE_BIDDING_STRATEGY":5,"MISSING_PURCHASE_GOAL":6,"CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE":7,"CUSTOMER_ACQUISITION_UNSUPPORTED_CAMPAIGN_TYPE":8,"CUSTOMER_ACQUISITION_INVALID_VALUE":9,"CUSTOMER_ACQUISITION_VALUE_MISSING":10,"CUSTOMER_ACQUISITION_MISSING_EXISTING_CUSTOMER_DEFINITION":11,"CUSTOMER_ACQUISITION_MISSING_HIGH_VALUE_CUSTOMER_DEFINITION":12},"identity_verification_error":{"UNSPECIFIED":0,"UNKNOWN":1,"NO_EFFECTIVE_BILLING":2,"BILLING_NOT_ON_MONTHLY_INVOICING":3,"VERIFICATION_ALREADY_STARTED":4},"user_list_customer_type_error":{"UNSPECIFIED":0,"UNKNOWN":1,"CONFLICTING_CUSTOMER_TYPES":2,"NO_ACCESS_TO_USER_LIST":3,"USERLIST_NOT_ELIGIBLE":4,"CONVERSION_TRACKING_NOT_ENABLED_OR_NOT_MCC_MANAGER_ACCOUNT":5,"TOO_MANY_USER_LISTS_FOR_THE_CUSTOMER_TYPE":6},"shopping_product_error":{"UNSPECIFIED":0,"UNKNOWN":1,"MISSING_CAMPAIGN_FILTER":2,"MISSING_AD_GROUP_FILTER":3,"UNSUPPORTED_DATE_SEGMENTATION":4},"automatically_created_asset_removal_error":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_DOES_NOT_EXIST":2,"INVALID_AD_TYPE":3,"ASSET_DOES_NOT_EXIST":4,"ASSET_FIELD_TYPE_DOES_NOT_MATCH":5,"NOT_AN_AUTOMATICALLY_CREATED_ASSET":6},"shareable_preview_error":{"UNSPECIFIED":0,"UNKNOWN":1,"TOO_MANY_ASSET_GROUPS_IN_REQUEST":2,"ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER":3},"brand_guidelines_migration_error":{"UNSPECIFIED":0,"UNKNOWN":1,"BRAND_GUIDELINES_ALREADY_ENABLED":2,"CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN":3,"BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED":4,"CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED":5,"AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED":6,"TOO_MANY_ENABLE_OPERATIONS":7}},"message":"STRING","trigger":{"boolean_value":"BOOL","int64_value":"INT64","float_value":"FLOAT","double_value":"DOUBLE","string_value":"STRING"},"location":{"field_path_elements":{"field_name":"STRING","index":"INT32"}},"details":{"unpublished_error_code":"STRING","policy_violation_details":{"external_policy_description":"STRING","key":{"policy_name":"STRING","violating_text":"STRING"},"external_policy_name":"STRING","is_exemptible":"BOOL"},"policy_finding_details":{"policy_topic_entries":{"topic":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"PROHIBITED":2,"LIMITED":4,"FULLY_LIMITED":8,"DESCRIPTIVE":5,"BROADENING":6,"AREA_OF_INTEREST_ONLY":7},"evidences":{"website_list":{"websites":"STRING"},"text_list":{"texts":"STRING"},"language_code":"STRING","destination_text_list":{"destination_texts":"STRING"},"destination_mismatch":{"url_types":{"UNSPECIFIED":0,"UNKNOWN":1,"DISPLAY_URL":2,"FINAL_URL":3,"FINAL_MOBILE_URL":4,"TRACKING_URL":5,"MOBILE_TRACKING_URL":6}},"destination_not_working":{"expanded_url":"STRING","device":{"UNSPECIFIED":0,"UNKNOWN":1,"DESKTOP":2,"ANDROID":3,"IOS":4},"last_checked_date_time":"STRING","dns_error_type":{"UNSPECIFIED":0,"UNKNOWN":1,"HOSTNAME_NOT_FOUND":2,"GOOGLE_CRAWLER_DNS_ISSUE":3},"http_error_code":"INT64"}},"constraints":{"country_constraint_list":{"total_targeted_countries":"INT32","countries":{"country_criterion":"STRING"}},"reseller_constraint":{},"certificate_missing_in_country_list":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints/country_constraint_list"},"certificate_domain_mismatch_in_country_list":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints/country_constraint_list"}}}},"quota_error_details":{"rate_scope":{"UNSPECIFIED":0,"UNKNOWN":1,"ACCOUNT":2,"DEVELOPER":3},"rate_name":"STRING","retry_delay":{"seconds":"INT64","nanos":"INT32"}},"resource_count_details":{"enclosing_id":"STRING","enclosing_resource":"STRING","limit":"INT32","limit_type":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGNS_PER_CUSTOMER":2,"BASE_CAMPAIGNS_PER_CUSTOMER":3,"EXPERIMENT_CAMPAIGNS_PER_CUSTOMER":105,"HOTEL_CAMPAIGNS_PER_CUSTOMER":4,"SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER":5,"AD_GROUPS_PER_CAMPAIGN":6,"AD_GROUPS_PER_SHOPPING_CAMPAIGN":8,"AD_GROUPS_PER_HOTEL_CAMPAIGN":9,"REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN":10,"REPORTING_AD_GROUPS_PER_APP_CAMPAIGN":11,"MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN":52,"AD_GROUP_CRITERIA_PER_CUSTOMER":12,"BASE_AD_GROUP_CRITERIA_PER_CUSTOMER":13,"EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER":107,"AD_GROUP_CRITERIA_PER_CAMPAIGN":14,"CAMPAIGN_CRITERIA_PER_CUSTOMER":15,"BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER":16,"EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER":108,"WEBPAGE_CRITERIA_PER_CUSTOMER":17,"BASE_WEBPAGE_CRITERIA_PER_CUSTOMER":18,"EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER":19,"COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP":20,"CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER":21,"CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER":22,"CRITERIA_PER_AD_GROUP":23,"LISTING_GROUPS_PER_AD_GROUP":24,"EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER":25,"IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER":26,"COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN":27,"NEGATIVE_KEYWORDS_PER_CAMPAIGN":28,"NEGATIVE_PLACEMENTS_PER_CAMPAIGN":29,"GEO_TARGETS_PER_CAMPAIGN":30,"NEGATIVE_IP_BLOCKS_PER_CAMPAIGN":32,"PROXIMITIES_PER_CAMPAIGN":33,"LISTING_SCOPES_PER_SHOPPING_CAMPAIGN":34,"LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN":35,"NEGATIVE_KEYWORDS_PER_SHARED_SET":36,"NEGATIVE_PLACEMENTS_PER_SHARED_SET":37,"SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT":40,"SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER":41,"HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP":44,"BIDDING_STRATEGIES_PER_CUSTOMER":45,"BASIC_USER_LISTS_PER_CUSTOMER":47,"LOGICAL_USER_LISTS_PER_CUSTOMER":48,"RULE_BASED_USER_LISTS_PER_CUSTOMER":153,"BASE_AD_GROUP_ADS_PER_CUSTOMER":53,"EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER":54,"AD_GROUP_ADS_PER_CAMPAIGN":55,"TEXT_AND_OTHER_ADS_PER_AD_GROUP":56,"IMAGE_ADS_PER_AD_GROUP":57,"SHOPPING_SMART_ADS_PER_AD_GROUP":58,"RESPONSIVE_SEARCH_ADS_PER_AD_GROUP":59,"APP_ADS_PER_AD_GROUP":60,"APP_ENGAGEMENT_ADS_PER_AD_GROUP":61,"LOCAL_ADS_PER_AD_GROUP":62,"VIDEO_ADS_PER_AD_GROUP":63,"LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN":143,"PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER":79,"PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN":80,"PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP":81,"CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER":134,"CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN":135,"CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP":136,"SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER":137,"SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN":138,"SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP":139,"STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER":140,"STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN":141,"STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP":142,"MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER":144,"MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN":145,"MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP":146,"HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER":147,"HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN":148,"HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP":149,"CALL_CUSTOMER_ASSETS_PER_CUSTOMER":150,"CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN":151,"CALL_AD_GROUP_ASSETS_PER_AD_GROUP":152,"PRICE_CUSTOMER_ASSETS_PER_CUSTOMER":154,"PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN":155,"PRICE_AD_GROUP_ASSETS_PER_AD_GROUP":156,"AD_IMAGE_CAMPAIGN_ASSETS_PER_CAMPAIGN":175,"AD_IMAGE_AD_GROUP_ASSETS_PER_AD_GROUP":176,"PAGE_FEED_ASSET_SETS_PER_CUSTOMER":157,"DYNAMIC_EDUCATION_FEED_ASSET_SETS_PER_CUSTOMER":158,"ASSETS_PER_PAGE_FEED_ASSET_SET":159,"ASSETS_PER_DYNAMIC_EDUCATION_FEED_ASSET_SET":160,"DYNAMIC_REAL_ESTATE_ASSET_SETS_PER_CUSTOMER":161,"ASSETS_PER_DYNAMIC_REAL_ESTATE_ASSET_SET":162,"DYNAMIC_CUSTOM_ASSET_SETS_PER_CUSTOMER":163,"ASSETS_PER_DYNAMIC_CUSTOM_ASSET_SET":164,"DYNAMIC_HOTELS_AND_RENTALS_ASSET_SETS_PER_CUSTOMER":165,"ASSETS_PER_DYNAMIC_HOTELS_AND_RENTALS_ASSET_SET":166,"DYNAMIC_LOCAL_ASSET_SETS_PER_CUSTOMER":167,"ASSETS_PER_DYNAMIC_LOCAL_ASSET_SET":168,"DYNAMIC_FLIGHTS_ASSET_SETS_PER_CUSTOMER":169,"ASSETS_PER_DYNAMIC_FLIGHTS_ASSET_SET":170,"DYNAMIC_TRAVEL_ASSET_SETS_PER_CUSTOMER":171,"ASSETS_PER_DYNAMIC_TRAVEL_ASSET_SET":172,"DYNAMIC_JOBS_ASSET_SETS_PER_CUSTOMER":173,"ASSETS_PER_DYNAMIC_JOBS_ASSET_SET":174,"BUSINESS_NAME_CAMPAIGN_ASSETS_PER_CAMPAIGN":179,"BUSINESS_LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN":180,"VERSIONS_PER_AD":82,"USER_FEEDS_PER_CUSTOMER":90,"SYSTEM_FEEDS_PER_CUSTOMER":91,"FEED_ATTRIBUTES_PER_FEED":92,"FEED_ITEMS_PER_CUSTOMER":94,"CAMPAIGN_FEEDS_PER_CUSTOMER":95,"BASE_CAMPAIGN_FEEDS_PER_CUSTOMER":96,"EXPERIMENT_CAMPAIGN_FEEDS_PER_CUSTOMER":109,"AD_GROUP_FEEDS_PER_CUSTOMER":97,"BASE_AD_GROUP_FEEDS_PER_CUSTOMER":98,"EXPERIMENT_AD_GROUP_FEEDS_PER_CUSTOMER":110,"AD_GROUP_FEEDS_PER_CAMPAIGN":99,"FEED_ITEM_SETS_PER_CUSTOMER":100,"FEED_ITEMS_PER_FEED_ITEM_SET":101,"CAMPAIGN_EXPERIMENTS_PER_CUSTOMER":112,"EXPERIMENT_ARMS_PER_VIDEO_EXPERIMENT":113,"OWNED_LABELS_PER_CUSTOMER":115,"LABELS_PER_CAMPAIGN":117,"LABELS_PER_AD_GROUP":118,"LABELS_PER_AD_GROUP_AD":119,"LABELS_PER_AD_GROUP_CRITERION":120,"TARGET_CUSTOMERS_PER_LABEL":121,"KEYWORD_PLANS_PER_USER_PER_CUSTOMER":122,"KEYWORD_PLAN_AD_GROUP_KEYWORDS_PER_KEYWORD_PLAN":123,"KEYWORD_PLAN_AD_GROUPS_PER_KEYWORD_PLAN":124,"KEYWORD_PLAN_NEGATIVE_KEYWORDS_PER_KEYWORD_PLAN":125,"KEYWORD_PLAN_CAMPAIGNS_PER_KEYWORD_PLAN":126,"CONVERSION_ACTIONS_PER_CUSTOMER":128,"BATCH_JOB_OPERATIONS_PER_JOB":130,"BATCH_JOBS_PER_CUSTOMER":131,"HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP":132,"SHARED_SETS_PER_ACCOUNT_FOR_ACCOUNT_LEVEL_NEGATIVE_KEYWORDS":177,"ACCOUNT_LEVEL_NEGATIVE_KEYWORDS_PER_SHARED_SET":178,"ENABLED_ASSET_PER_HOTEL_PROPERTY_ASSET_SET":181,"ENABLED_HOTEL_PROPERTY_ASSET_LINKS_PER_ASSET_GROUP":182,"BRANDS_PER_SHARED_SET":183,"ENABLED_BRAND_LIST_CRITERIA_PER_CAMPAIGN":184,"SHARED_SETS_PER_ACCOUNT_FOR_BRAND":185,"LOOKALIKE_USER_LISTS_PER_CUSTOMER":186,"LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN":187,"BUSINESS_MESSAGE_ASSET_LINKS_PER_CUSTOMER":188,"WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_CAMPAIGN":189,"WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_AD_GROUP":190},"existing_count":"INT32"}}},"ErrorCode":{"$ref":"#/GoogleAdsError/error_code"},"Value":{"$ref":"#/GoogleAdsError/trigger"},"ErrorLocation":{"$ref":"#/GoogleAdsError/location"},"FieldPathElement":{"$ref":"#/GoogleAdsError/location/field_path_elements"},"ErrorDetails":{"$ref":"#/GoogleAdsError/details"},"PolicyViolationDetails":{"$ref":"#/GoogleAdsError/details/policy_violation_details"},"PolicyViolationKey":{"$ref":"#/GoogleAdsError/details/policy_violation_details/key"},"PolicyFindingDetails":{"$ref":"#/GoogleAdsError/details/policy_finding_details"},"PolicyTopicEntry":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"PolicyTopicEvidence":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences"},"WebsiteList":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences/website_list"},"TextList":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences/text_list"},"DestinationTextList":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences/destination_text_list"},"DestinationMismatch":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences/destination_mismatch"},"DestinationNotWorking":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/evidences/destination_not_working"},"PolicyTopicConstraint":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints"},"CountryConstraintList":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints/country_constraint_list"},"CountryConstraint":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints/country_constraint_list/countries"},"ResellerConstraint":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries/constraints/reseller_constraint"},"QuotaErrorDetails":{"$ref":"#/GoogleAdsError/details/quota_error_details"},"Duration":{"$ref":"#/GoogleAdsError/details/quota_error_details/retry_delay"},"ResourceCountDetails":{"$ref":"#/GoogleAdsError/details/resource_count_details"},"errors":{"$ref":"#/GoogleAdsError"},"request_id":"STRING","AccessibleBiddingStrategy":{"resource_name":"STRING","id":"INT64","name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"COMMISSION":16,"ENHANCED_CPC":2,"FIXED_CPM":19,"INVALID":17,"MANUAL_CPA":18,"MANUAL_CPC":3,"MANUAL_CPM":4,"MANUAL_CPV":13,"MAXIMIZE_CONVERSIONS":10,"MAXIMIZE_CONVERSION_VALUE":11,"PAGE_ONE_PROMOTED":5,"PERCENT_CPC":12,"TARGET_CPA":6,"TARGET_CPM":14,"TARGET_CPV":20,"TARGET_IMPRESSION_SHARE":15,"TARGET_OUTRANK_SHARE":7,"TARGET_ROAS":8,"TARGET_SPEND":9},"owner_customer_id":"INT64","owner_descriptive_name":"STRING","maximize_conversion_value":{"target_roas":"DOUBLE","cpc_bid_ceiling_micros":"INT64","cpc_bid_floor_micros":"INT64"},"maximize_conversions":{"cpc_bid_ceiling_micros":"INT64","cpc_bid_floor_micros":"INT64","target_cpa_micros":"INT64"},"target_cpa":{"target_cpa_micros":"INT64","cpc_bid_ceiling_micros":"INT64","cpc_bid_floor_micros":"INT64"},"target_impression_share":{"location":{"UNSPECIFIED":0,"UNKNOWN":1,"ANYWHERE_ON_PAGE":2,"TOP_OF_PAGE":3,"ABSOLUTE_TOP_OF_PAGE":4},"location_fraction_micros":"INT64","cpc_bid_ceiling_micros":"INT64"},"target_roas":{"target_roas":"DOUBLE","cpc_bid_ceiling_micros":"INT64","cpc_bid_floor_micros":"INT64"},"target_spend":{"target_spend_micros":"INT64","cpc_bid_ceiling_micros":"INT64"}},"MaximizeConversionValue":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversion_value"},"MaximizeConversions":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversions"},"TargetCpa":{"$ref":"#/AccessibleBiddingStrategy/target_cpa"},"TargetImpressionShare":{"$ref":"#/AccessibleBiddingStrategy/target_impression_share"},"TargetRoas":{"$ref":"#/AccessibleBiddingStrategy/target_roas"},"TargetSpend":{"$ref":"#/AccessibleBiddingStrategy/target_spend"},"accessible_bidding_strategy":{"$ref":"#/AccessibleBiddingStrategy"},"AccountBudget":{"resource_name":"STRING","id":"INT64","billing_setup":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"APPROVED":3,"CANCELLED":4},"name":"STRING","proposed_start_date_time":"STRING","approved_start_date_time":"STRING","total_adjustments_micros":"INT64","amount_served_micros":"INT64","purchase_order_number":"STRING","notes":"STRING","pending_proposal":{"account_budget_proposal":"STRING","proposal_type":{"UNSPECIFIED":0,"UNKNOWN":1,"CREATE":2,"UPDATE":3,"END":4,"REMOVE":5},"name":"STRING","start_date_time":"STRING","purchase_order_number":"STRING","notes":"STRING","creation_date_time":"STRING","end_date_time":"STRING","end_time_type":{"UNSPECIFIED":0,"UNKNOWN":1,"NOW":2,"FOREVER":3},"spending_limit_micros":"INT64","spending_limit_type":{"UNSPECIFIED":0,"UNKNOWN":1,"INFINITE":2}},"proposed_end_date_time":"STRING","proposed_end_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"approved_end_date_time":"STRING","approved_end_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"proposed_spending_limit_micros":"INT64","proposed_spending_limit_type":{"$ref":"#/AccountBudget/pending_proposal/spending_limit_type"},"approved_spending_limit_micros":"INT64","approved_spending_limit_type":{"$ref":"#/AccountBudget/pending_proposal/spending_limit_type"},"adjusted_spending_limit_micros":"INT64","adjusted_spending_limit_type":{"$ref":"#/AccountBudget/pending_proposal/spending_limit_type"}},"PendingAccountBudgetProposal":{"$ref":"#/AccountBudget/pending_proposal"},"account_budget":{"$ref":"#/AccountBudget"},"AccountBudgetProposal":{"resource_name":"STRING","id":"INT64","billing_setup":"STRING","account_budget":"STRING","proposal_type":{"$ref":"#/AccountBudget/pending_proposal/proposal_type"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"APPROVED_HELD":3,"APPROVED":4,"CANCELLED":5,"REJECTED":6},"proposed_name":"STRING","approved_start_date_time":"STRING","proposed_purchase_order_number":"STRING","proposed_notes":"STRING","creation_date_time":"STRING","approval_date_time":"STRING","proposed_start_date_time":"STRING","proposed_start_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"proposed_end_date_time":"STRING","proposed_end_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"approved_end_date_time":"STRING","approved_end_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"proposed_spending_limit_micros":"INT64","proposed_spending_limit_type":{"$ref":"#/AccountBudget/pending_proposal/spending_limit_type"},"approved_spending_limit_micros":"INT64","approved_spending_limit_type":{"$ref":"#/AccountBudget/pending_proposal/spending_limit_type"}},"account_budget_proposal":{"$ref":"#/AccountBudgetProposal"},"AccountLink":{"resource_name":"STRING","account_link_id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"REQUESTED":4,"PENDING_APPROVAL":5,"REJECTED":6,"REVOKED":7},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"THIRD_PARTY_APP_ANALYTICS":2},"third_party_app_analytics":{"app_analytics_provider_id":"INT64","app_id":"STRING","app_vendor":{"UNSPECIFIED":0,"UNKNOWN":1,"APPLE_APP_STORE":2,"GOOGLE_APP_STORE":3}}},"ThirdPartyAppAnalyticsLinkIdentifier":{"$ref":"#/AccountLink/third_party_app_analytics"},"account_link":{"$ref":"#/AccountLink"},"Ad":{"resource_name":"STRING","id":"INT64","final_urls":"STRING","final_app_urls":{"os_type":{"UNSPECIFIED":0,"UNKNOWN":1,"IOS":2,"ANDROID":3},"url":"STRING"},"final_mobile_urls":"STRING","tracking_url_template":"STRING","final_url_suffix":"STRING","url_custom_parameters":{"key":"STRING","value":"STRING"},"display_url":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"TEXT_AD":2,"EXPANDED_TEXT_AD":3,"EXPANDED_DYNAMIC_SEARCH_AD":7,"HOTEL_AD":8,"SHOPPING_SMART_AD":9,"SHOPPING_PRODUCT_AD":10,"VIDEO_AD":12,"IMAGE_AD":14,"RESPONSIVE_SEARCH_AD":15,"LEGACY_RESPONSIVE_DISPLAY_AD":16,"APP_AD":17,"LEGACY_APP_INSTALL_AD":18,"RESPONSIVE_DISPLAY_AD":19,"LOCAL_AD":20,"HTML5_UPLOAD_AD":21,"DYNAMIC_HTML5_AD":22,"APP_ENGAGEMENT_AD":23,"SHOPPING_COMPARISON_LISTING_AD":24,"VIDEO_BUMPER_AD":25,"VIDEO_NON_SKIPPABLE_IN_STREAM_AD":26,"VIDEO_TRUEVIEW_IN_STREAM_AD":29,"VIDEO_RESPONSIVE_AD":30,"SMART_CAMPAIGN_AD":31,"CALL_AD":32,"APP_PRE_REGISTRATION_AD":33,"IN_FEED_VIDEO_AD":34,"DEMAND_GEN_MULTI_ASSET_AD":40,"DEMAND_GEN_CAROUSEL_AD":41,"TRAVEL_AD":37,"DEMAND_GEN_VIDEO_RESPONSIVE_AD":42,"DEMAND_GEN_PRODUCT_AD":39},"added_by_google_ads":"BOOL","device_preference":{"UNSPECIFIED":0,"UNKNOWN":1,"MOBILE":2,"TABLET":3,"DESKTOP":4,"CONNECTED_TV":6,"OTHER":5},"url_collections":{"url_collection_id":"STRING","final_urls":"STRING","final_mobile_urls":"STRING","tracking_url_template":"STRING"},"name":"STRING","system_managed_resource_source":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_VARIATIONS":2},"text_ad":{"headline":"STRING","description1":"STRING","description2":"STRING"},"expanded_text_ad":{"headline_part1":"STRING","headline_part2":"STRING","headline_part3":"STRING","description":"STRING","description2":"STRING","path1":"STRING","path2":"STRING"},"call_ad":{"country_code":"STRING","phone_number":"STRING","business_name":"STRING","headline1":"STRING","headline2":"STRING","description1":"STRING","description2":"STRING","call_tracked":"BOOL","disable_call_conversion":"BOOL","phone_number_verification_url":"STRING","conversion_action":"STRING","conversion_reporting_state":{"UNSPECIFIED":0,"UNKNOWN":1,"DISABLED":2,"USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION":3,"USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION":4},"path1":"STRING","path2":"STRING"},"expanded_dynamic_search_ad":{"description":"STRING","description2":"STRING"},"hotel_ad":{},"shopping_smart_ad":{},"shopping_product_ad":{},"image_ad":{"pixel_width":"INT64","pixel_height":"INT64","image_url":"STRING","preview_pixel_width":"INT64","preview_pixel_height":"INT64","preview_image_url":"STRING","mime_type":{"UNSPECIFIED":0,"UNKNOWN":1,"IMAGE_JPEG":2,"IMAGE_GIF":3,"IMAGE_PNG":4,"FLASH":5,"TEXT_HTML":6,"PDF":7,"MSWORD":8,"MSEXCEL":9,"RTF":10,"AUDIO_WAV":11,"AUDIO_MP3":12,"HTML5_AD_ZIP":13},"name":"STRING","image_asset":{"asset":"STRING"},"data":"BYTES","ad_id_to_copy_image_from":"INT64"},"video_ad":{"video":{"asset":"STRING","ad_video_asset_info":{"ad_video_asset_inventory_preferences":{"in_feed_preference":"BOOL","in_stream_preference":"BOOL","shorts_preference":"BOOL"}}},"in_stream":{"action_button_label":"STRING","action_headline":"STRING","companion_banner":{"$ref":"#/Ad/image_ad/image_asset"}},"bumper":{"companion_banner":{"$ref":"#/Ad/image_ad/image_asset"},"action_button_label":"STRING","action_headline":"STRING"},"out_stream":{"headline":"STRING","description":"STRING"},"non_skippable":{"companion_banner":{"$ref":"#/Ad/image_ad/image_asset"},"action_button_label":"STRING","action_headline":"STRING"},"in_feed":{"headline":"STRING","description1":"STRING","description2":"STRING","thumbnail":{"UNSPECIFIED":0,"UNKNOWN":1,"DEFAULT_THUMBNAIL":2,"THUMBNAIL_1":3,"THUMBNAIL_2":4,"THUMBNAIL_3":5}}},"video_responsive_ad":{"headlines":{"text":"STRING","pinned_field":{"UNSPECIFIED":0,"UNKNOWN":1,"HEADLINE_1":2,"HEADLINE_2":3,"HEADLINE_3":4,"DESCRIPTION_1":5,"DESCRIPTION_2":6,"HEADLINE":7,"HEADLINE_IN_PORTRAIT":8,"LONG_HEADLINE":9,"DESCRIPTION":10,"DESCRIPTION_IN_PORTRAIT":11,"BUSINESS_NAME_IN_PORTRAIT":12,"BUSINESS_NAME":13,"MARKETING_IMAGE":14,"MARKETING_IMAGE_IN_PORTRAIT":15,"SQUARE_MARKETING_IMAGE":16,"PORTRAIT_MARKETING_IMAGE":17,"LOGO":18,"LANDSCAPE_LOGO":19,"CALL_TO_ACTION":20,"YOU_TUBE_VIDEO":21,"SITELINK":22,"CALL":23,"MOBILE_APP":24,"CALLOUT":25,"STRUCTURED_SNIPPET":26,"PRICE":27,"PROMOTION":28,"AD_IMAGE":29,"LEAD_FORM":30,"BUSINESS_LOGO":31},"asset_performance_label":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"LEARNING":3,"LOW":4,"GOOD":5,"BEST":6},"policy_summary_info":{"policy_topic_entries":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"review_status":{"UNSPECIFIED":0,"UNKNOWN":1,"REVIEW_IN_PROGRESS":2,"REVIEWED":3,"UNDER_APPEAL":4,"ELIGIBLE_MAY_SERVE":5},"approval_status":{"UNSPECIFIED":0,"UNKNOWN":1,"DISAPPROVED":2,"APPROVED_LIMITED":3,"APPROVED":4,"AREA_OF_INTEREST_ONLY":5}}},"long_headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"call_to_actions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"videos":{"$ref":"#/Ad/video_ad/video"},"companion_banners":{"$ref":"#/Ad/image_ad/image_asset"},"breadcrumb1":"STRING","breadcrumb2":"STRING"},"responsive_search_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"path1":"STRING","path2":"STRING"},"legacy_responsive_display_ad":{"short_headline":"STRING","long_headline":"STRING","description":"STRING","business_name":"STRING","allow_flexible_color":"BOOL","accent_color":"STRING","main_color":"STRING","call_to_action_text":"STRING","logo_image":"STRING","square_logo_image":"STRING","marketing_image":"STRING","square_marketing_image":"STRING","format_setting":{"UNSPECIFIED":0,"UNKNOWN":1,"ALL_FORMATS":2,"NON_NATIVE":3,"NATIVE":4},"price_prefix":"STRING","promo_text":"STRING"},"app_ad":{"mandatory_ad_text":{"$ref":"#/Ad/video_responsive_ad/headlines"},"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"images":{"$ref":"#/Ad/image_ad/image_asset"},"youtube_videos":{"$ref":"#/Ad/video_ad/video"},"html5_media_bundles":{"asset":"STRING"},"app_deep_link":{"asset":"STRING"}},"legacy_app_install_ad":{"app_id":"STRING","app_store":{"UNSPECIFIED":0,"UNKNOWN":1,"APPLE_APP_STORE":2,"GOOGLE_PLAY":3,"WINDOWS_STORE":4,"WINDOWS_PHONE_STORE":5,"CN_APP_STORE":6},"headline":"STRING","description1":"STRING","description2":"STRING"},"responsive_display_ad":{"marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"square_marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"logo_images":{"$ref":"#/Ad/image_ad/image_asset"},"square_logo_images":{"$ref":"#/Ad/image_ad/image_asset"},"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"long_headline":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"youtube_videos":{"$ref":"#/Ad/video_ad/video"},"business_name":"STRING","main_color":"STRING","accent_color":"STRING","allow_flexible_color":"BOOL","call_to_action_text":"STRING","price_prefix":"STRING","promo_text":"STRING","format_setting":{"$ref":"#/Ad/legacy_responsive_display_ad/format_setting"},"control_spec":{"enable_asset_enhancements":"BOOL","enable_autogen_video":"BOOL"}},"local_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"call_to_actions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"logo_images":{"$ref":"#/Ad/image_ad/image_asset"},"videos":{"$ref":"#/Ad/video_ad/video"},"path1":"STRING","path2":"STRING"},"display_upload_ad":{"display_upload_product_type":{"UNSPECIFIED":0,"UNKNOWN":1,"HTML5_UPLOAD_AD":2,"DYNAMIC_HTML5_EDUCATION_AD":3,"DYNAMIC_HTML5_FLIGHT_AD":4,"DYNAMIC_HTML5_HOTEL_RENTAL_AD":5,"DYNAMIC_HTML5_JOB_AD":6,"DYNAMIC_HTML5_LOCAL_AD":7,"DYNAMIC_HTML5_REAL_ESTATE_AD":8,"DYNAMIC_HTML5_CUSTOM_AD":9,"DYNAMIC_HTML5_TRAVEL_AD":10,"DYNAMIC_HTML5_HOTEL_AD":11},"media_bundle":{"$ref":"#/Ad/app_ad/html5_media_bundles"}},"app_engagement_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"images":{"$ref":"#/Ad/image_ad/image_asset"},"videos":{"$ref":"#/Ad/video_ad/video"}},"shopping_comparison_listing_ad":{"headline":"STRING"},"smart_campaign_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"}},"app_pre_registration_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"images":{"$ref":"#/Ad/image_ad/image_asset"},"youtube_videos":{"$ref":"#/Ad/video_ad/video"}},"demand_gen_multi_asset_ad":{"marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"square_marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"portrait_marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"tall_portrait_marketing_images":{"$ref":"#/Ad/image_ad/image_asset"},"logo_images":{"$ref":"#/Ad/image_ad/image_asset"},"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"business_name":"STRING","call_to_action_text":"STRING","lead_form_only":"BOOL"},"demand_gen_carousel_ad":{"business_name":"STRING","logo_image":{"$ref":"#/Ad/image_ad/image_asset"},"headline":{"$ref":"#/Ad/video_responsive_ad/headlines"},"description":{"$ref":"#/Ad/video_responsive_ad/headlines"},"call_to_action_text":"STRING","carousel_cards":{"asset":"STRING"}},"demand_gen_video_responsive_ad":{"headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"long_headlines":{"$ref":"#/Ad/video_responsive_ad/headlines"},"descriptions":{"$ref":"#/Ad/video_responsive_ad/headlines"},"videos":{"$ref":"#/Ad/video_ad/video"},"logo_images":{"$ref":"#/Ad/image_ad/image_asset"},"breadcrumb1":"STRING","breadcrumb2":"STRING","business_name":{"$ref":"#/Ad/video_responsive_ad/headlines"},"call_to_actions":{"asset":"STRING"}},"demand_gen_product_ad":{"headline":{"$ref":"#/Ad/video_responsive_ad/headlines"},"description":{"$ref":"#/Ad/video_responsive_ad/headlines"},"logo_image":{"$ref":"#/Ad/image_ad/image_asset"},"breadcrumb1":"STRING","breadcrumb2":"STRING","business_name":{"$ref":"#/Ad/video_responsive_ad/headlines"},"call_to_action":{"$ref":"#/Ad/demand_gen_video_responsive_ad/call_to_actions"}},"travel_ad":{}},"FinalAppUrl":{"$ref":"#/Ad/final_app_urls"},"CustomParameter":{"$ref":"#/Ad/url_custom_parameters"},"UrlCollection":{"$ref":"#/Ad/url_collections"},"TextAdInfo":{"$ref":"#/Ad/text_ad"},"ExpandedTextAdInfo":{"$ref":"#/Ad/expanded_text_ad"},"CallAdInfo":{"$ref":"#/Ad/call_ad"},"ExpandedDynamicSearchAdInfo":{"$ref":"#/Ad/expanded_dynamic_search_ad"},"HotelAdInfo":{"$ref":"#/Ad/hotel_ad"},"ShoppingSmartAdInfo":{"$ref":"#/Ad/shopping_smart_ad"},"ShoppingProductAdInfo":{"$ref":"#/Ad/shopping_product_ad"},"ImageAdInfo":{"$ref":"#/Ad/image_ad"},"AdImageAsset":{"$ref":"#/Ad/image_ad/image_asset"},"VideoAdInfo":{"$ref":"#/Ad/video_ad"},"AdVideoAsset":{"$ref":"#/Ad/video_ad/video"},"AdVideoAssetInfo":{"$ref":"#/Ad/video_ad/video/ad_video_asset_info"},"AdVideoAssetInventoryPreferences":{"$ref":"#/Ad/video_ad/video/ad_video_asset_info/ad_video_asset_inventory_preferences"},"VideoTrueViewInStreamAdInfo":{"$ref":"#/Ad/video_ad/in_stream"},"VideoBumperInStreamAdInfo":{"$ref":"#/Ad/video_ad/bumper"},"VideoOutstreamAdInfo":{"$ref":"#/Ad/video_ad/out_stream"},"VideoNonSkippableInStreamAdInfo":{"$ref":"#/Ad/video_ad/non_skippable"},"InFeedVideoAdInfo":{"$ref":"#/Ad/video_ad/in_feed"},"VideoResponsiveAdInfo":{"$ref":"#/Ad/video_responsive_ad"},"AdTextAsset":{"$ref":"#/Ad/video_responsive_ad/headlines"},"AdAssetPolicySummary":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info"},"ResponsiveSearchAdInfo":{"$ref":"#/Ad/responsive_search_ad"},"LegacyResponsiveDisplayAdInfo":{"$ref":"#/Ad/legacy_responsive_display_ad"},"AppAdInfo":{"$ref":"#/Ad/app_ad"},"AdMediaBundleAsset":{"$ref":"#/Ad/app_ad/html5_media_bundles"},"AdAppDeepLinkAsset":{"$ref":"#/Ad/app_ad/app_deep_link"},"LegacyAppInstallAdInfo":{"$ref":"#/Ad/legacy_app_install_ad"},"ResponsiveDisplayAdInfo":{"$ref":"#/Ad/responsive_display_ad"},"ResponsiveDisplayAdControlSpec":{"$ref":"#/Ad/responsive_display_ad/control_spec"},"LocalAdInfo":{"$ref":"#/Ad/local_ad"},"DisplayUploadAdInfo":{"$ref":"#/Ad/display_upload_ad"},"AppEngagementAdInfo":{"$ref":"#/Ad/app_engagement_ad"},"ShoppingComparisonListingAdInfo":{"$ref":"#/Ad/shopping_comparison_listing_ad"},"SmartCampaignAdInfo":{"$ref":"#/Ad/smart_campaign_ad"},"AppPreRegistrationAdInfo":{"$ref":"#/Ad/app_pre_registration_ad"},"DemandGenMultiAssetAdInfo":{"$ref":"#/Ad/demand_gen_multi_asset_ad"},"DemandGenCarouselAdInfo":{"$ref":"#/Ad/demand_gen_carousel_ad"},"AdDemandGenCarouselCardAsset":{"$ref":"#/Ad/demand_gen_carousel_ad/carousel_cards"},"DemandGenVideoResponsiveAdInfo":{"$ref":"#/Ad/demand_gen_video_responsive_ad"},"AdCallToActionAsset":{"$ref":"#/Ad/demand_gen_video_responsive_ad/call_to_actions"},"DemandGenProductAdInfo":{"$ref":"#/Ad/demand_gen_product_ad"},"TravelAdInfo":{"$ref":"#/Ad/travel_ad"},"ad":{"$ref":"#/Ad"},"AdGroup":{"resource_name":"STRING","id":"INT64","name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"SEARCH_STANDARD":2,"DISPLAY_STANDARD":3,"SHOPPING_PRODUCT_ADS":4,"HOTEL_ADS":6,"SHOPPING_SMART_ADS":7,"VIDEO_BUMPER":8,"VIDEO_TRUE_VIEW_IN_STREAM":9,"VIDEO_TRUE_VIEW_IN_DISPLAY":10,"VIDEO_NON_SKIPPABLE_IN_STREAM":11,"SEARCH_DYNAMIC_ADS":13,"SHOPPING_COMPARISON_LISTING_ADS":14,"PROMOTED_HOTEL_ADS":15,"VIDEO_RESPONSIVE":16,"VIDEO_EFFICIENT_REACH":17,"SMART_CAMPAIGN_ADS":18,"TRAVEL_ADS":19},"ad_rotation_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"OPTIMIZE":2,"ROTATE_FOREVER":3},"base_ad_group":"STRING","tracking_url_template":"STRING","url_custom_parameters":{"$ref":"#/Ad/url_custom_parameters"},"campaign":"STRING","cpc_bid_micros":"INT64","effective_cpc_bid_micros":"INT64","cpm_bid_micros":"INT64","target_cpa_micros":"INT64","cpv_bid_micros":"INT64","target_cpm_micros":"INT64","target_roas":"DOUBLE","percent_cpc_bid_micros":"INT64","fixed_cpm_micros":"INT64","target_cpv_micros":"INT64","optimized_targeting_enabled":"BOOL","exclude_demographic_expansion":"BOOL","display_custom_bid_dimension":{"UNSPECIFIED":0,"UNKNOWN":1,"KEYWORD":2,"AUDIENCE":3,"TOPIC":4,"GENDER":5,"AGE_RANGE":6,"PLACEMENT":7,"PARENTAL_STATUS":8,"INCOME_RANGE":9},"final_url_suffix":"STRING","targeting_setting":{"target_restrictions":{"targeting_dimension":{"$ref":"#/AdGroup/display_custom_bid_dimension"},"bid_only":"BOOL"},"target_restriction_operations":{"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"ADD":2,"REMOVE":3},"value":{"$ref":"#/AdGroup/targeting_setting/target_restrictions"}}},"audience_setting":{"use_audience_grouped":"BOOL"},"effective_target_cpa_micros":"INT64","effective_target_cpa_source":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_BIDDING_STRATEGY":5,"AD_GROUP":6,"AD_GROUP_CRITERION":7},"effective_target_roas":"DOUBLE","effective_target_roas_source":{"$ref":"#/AdGroup/effective_target_cpa_source"},"labels":"STRING","excluded_parent_asset_field_types":{"UNSPECIFIED":0,"UNKNOWN":1,"HEADLINE":2,"DESCRIPTION":3,"MANDATORY_AD_TEXT":4,"MARKETING_IMAGE":5,"MEDIA_BUNDLE":6,"YOUTUBE_VIDEO":7,"BOOK_ON_GOOGLE":8,"LEAD_FORM":9,"PROMOTION":10,"CALLOUT":11,"STRUCTURED_SNIPPET":12,"SITELINK":13,"MOBILE_APP":14,"HOTEL_CALLOUT":15,"CALL":16,"PRICE":24,"LONG_HEADLINE":17,"BUSINESS_NAME":18,"SQUARE_MARKETING_IMAGE":19,"PORTRAIT_MARKETING_IMAGE":20,"LOGO":21,"LANDSCAPE_LOGO":22,"VIDEO":23,"CALL_TO_ACTION_SELECTION":25,"AD_IMAGE":26,"BUSINESS_LOGO":27,"HOTEL_PROPERTY":28,"DEMAND_GEN_CAROUSEL_CARD":30,"BUSINESS_MESSAGE":31},"excluded_parent_asset_set_types":{"UNSPECIFIED":0,"UNKNOWN":1,"PAGE_FEED":2,"DYNAMIC_EDUCATION":3,"MERCHANT_CENTER_FEED":4,"DYNAMIC_REAL_ESTATE":5,"DYNAMIC_CUSTOM":6,"DYNAMIC_HOTELS_AND_RENTALS":7,"DYNAMIC_FLIGHTS":8,"DYNAMIC_TRAVEL":9,"DYNAMIC_LOCAL":10,"DYNAMIC_JOBS":11,"LOCATION_SYNC":12,"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP":13,"CHAIN_DYNAMIC_LOCATION_GROUP":14,"STATIC_LOCATION_GROUP":15,"HOTEL_PROPERTY":16,"TRAVEL_FEED":17},"primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"PENDING":5,"NOT_ELIGIBLE":6,"LIMITED":7},"primary_status_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_REMOVED":2,"CAMPAIGN_PAUSED":3,"CAMPAIGN_PENDING":4,"CAMPAIGN_ENDED":5,"AD_GROUP_PAUSED":6,"AD_GROUP_REMOVED":7,"AD_GROUP_INCOMPLETE":8,"KEYWORDS_PAUSED":9,"NO_KEYWORDS":10,"AD_GROUP_ADS_PAUSED":11,"NO_AD_GROUP_ADS":12,"HAS_ADS_DISAPPROVED":13,"HAS_ADS_LIMITED_BY_POLICY":14,"MOST_ADS_UNDER_REVIEW":15,"CAMPAIGN_DRAFT":16,"AD_GROUP_PAUSED_DUE_TO_LOW_ACTIVITY":19}},"TargetingSetting":{"$ref":"#/AdGroup/targeting_setting"},"TargetRestriction":{"$ref":"#/AdGroup/targeting_setting/target_restrictions"},"TargetRestrictionOperation":{"$ref":"#/AdGroup/targeting_setting/target_restriction_operations"},"AudienceSetting":{"$ref":"#/AdGroup/audience_setting"},"ad_group":{"$ref":"#/AdGroup"},"AdGroupAd":{"resource_name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"ad_group":"STRING","ad":{"$ref":"#/Ad"},"policy_summary":{"policy_topic_entries":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"review_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/review_status"},"approval_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/approval_status"}},"ad_strength":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"NO_ADS":3,"POOR":4,"AVERAGE":5,"GOOD":6,"EXCELLENT":7},"action_items":"STRING","labels":"STRING","primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"PENDING":5,"LIMITED":6,"NOT_ELIGIBLE":7},"primary_status_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_REMOVED":2,"CAMPAIGN_PAUSED":3,"CAMPAIGN_PENDING":4,"CAMPAIGN_ENDED":5,"AD_GROUP_PAUSED":6,"AD_GROUP_REMOVED":7,"AD_GROUP_AD_PAUSED":8,"AD_GROUP_AD_REMOVED":9,"AD_GROUP_AD_DISAPPROVED":10,"AD_GROUP_AD_UNDER_REVIEW":11,"AD_GROUP_AD_POOR_QUALITY":12,"AD_GROUP_AD_NO_ADS":13,"AD_GROUP_AD_APPROVED_LABELED":14,"AD_GROUP_AD_AREA_OF_INTEREST_ONLY":15,"AD_GROUP_AD_UNDER_APPEAL":16},"ad_group_ad_asset_automation_settings":{"asset_automation_type":{"UNSPECIFIED":0,"UNKNOWN":1,"TEXT_ASSET_AUTOMATION":2,"GENERATE_VERTICAL_YOUTUBE_VIDEOS":3,"GENERATE_SHORTER_YOUTUBE_VIDEOS":4,"GENERATE_LANDING_PAGE_PREVIEW":5,"GENERATE_ENHANCED_YOUTUBE_VIDEOS":6},"asset_automation_status":{"UNSPECIFIED":0,"UNKNOWN":1,"OPTED_IN":2,"OPTED_OUT":3}}},"AdGroupAdPolicySummary":{"$ref":"#/AdGroupAd/policy_summary"},"AdGroupAdAssetAutomationSetting":{"$ref":"#/AdGroupAd/ad_group_ad_asset_automation_settings"},"ad_group_ad":{"$ref":"#/AdGroupAd"},"AdGroupAdAssetCombinationView":{"resource_name":"STRING","served_assets":{"asset":"STRING","served_asset_field_type":{"$ref":"#/Ad/video_responsive_ad/headlines/pinned_field"}},"enabled":"BOOL"},"AssetUsage":{"$ref":"#/AdGroupAdAssetCombinationView/served_assets"},"ad_group_ad_asset_combination_view":{"$ref":"#/AdGroupAdAssetCombinationView"},"AdGroupAdAssetView":{"resource_name":"STRING","ad_group_ad":"STRING","asset":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"enabled":"BOOL","policy_summary":{"policy_topic_entries":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"review_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/review_status"},"approval_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/approval_status"}},"performance_label":{"$ref":"#/Ad/video_responsive_ad/headlines/asset_performance_label"},"pinned_field":{"$ref":"#/Ad/video_responsive_ad/headlines/pinned_field"},"source":{"UNSPECIFIED":0,"UNKNOWN":1,"ADVERTISER":2,"AUTOMATICALLY_CREATED":3}},"AdGroupAdAssetPolicySummary":{"$ref":"#/AdGroupAdAssetView/policy_summary"},"ad_group_ad_asset_view":{"$ref":"#/AdGroupAdAssetView"},"AdGroupAdLabel":{"resource_name":"STRING","ad_group_ad":"STRING","label":"STRING"},"ad_group_ad_label":{"$ref":"#/AdGroupAdLabel"},"AdGroupAsset":{"resource_name":"STRING","ad_group":"STRING","asset":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"source":{"$ref":"#/AdGroupAdAssetView/source"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"PAUSED":4},"primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"PENDING":5,"LIMITED":6,"NOT_ELIGIBLE":7},"primary_status_details":{"reason":{"UNSPECIFIED":0,"UNKNOWN":1,"ASSET_LINK_PAUSED":2,"ASSET_LINK_REMOVED":3,"ASSET_DISAPPROVED":4,"ASSET_UNDER_REVIEW":5,"ASSET_APPROVED_LABELED":6},"status":{"$ref":"#/AdGroupAsset/primary_status"},"asset_disapproved":{"offline_evaluation_error_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"PRICE_ASSET_DESCRIPTION_REPEATS_ROW_HEADER":2,"PRICE_ASSET_REPETITIVE_HEADERS":3,"PRICE_ASSET_HEADER_INCOMPATIBLE_WITH_PRICE_TYPE":4,"PRICE_ASSET_DESCRIPTION_INCOMPATIBLE_WITH_ITEM_HEADER":5,"PRICE_ASSET_DESCRIPTION_HAS_PRICE_QUALIFIER":6,"PRICE_ASSET_UNSUPPORTED_LANGUAGE":7,"PRICE_ASSET_OTHER_ERROR":8}}},"primary_status_reasons":{"$ref":"#/AdGroupAsset/primary_status_details/reason"}},"AssetLinkPrimaryStatusDetails":{"$ref":"#/AdGroupAsset/primary_status_details"},"AssetDisapproved":{"$ref":"#/AdGroupAsset/primary_status_details/asset_disapproved"},"ad_group_asset":{"$ref":"#/AdGroupAsset"},"AdGroupAssetSet":{"resource_name":"STRING","ad_group":"STRING","asset_set":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"ad_group_asset_set":{"$ref":"#/AdGroupAssetSet"},"AdGroupAudienceView":{"resource_name":"STRING"},"ad_group_audience_view":{"$ref":"#/AdGroupAudienceView"},"AdGroupBidModifier":{"resource_name":"STRING","ad_group":"STRING","criterion_id":"INT64","bid_modifier":"DOUBLE","base_ad_group":"STRING","bid_modifier_source":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN":2,"AD_GROUP":3},"hotel_date_selection_type":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"DEFAULT_SELECTION":50,"USER_SELECTED":51}},"hotel_advance_booking_window":{"min_days":"INT64","max_days":"INT64"},"hotel_length_of_stay":{"min_nights":"INT64","max_nights":"INT64"},"hotel_check_in_day":{"day_of_week":{"UNSPECIFIED":0,"UNKNOWN":1,"MONDAY":2,"TUESDAY":3,"WEDNESDAY":4,"THURSDAY":5,"FRIDAY":6,"SATURDAY":7,"SUNDAY":8}},"device":{"type":{"$ref":"#/Ad/device_preference"}},"hotel_check_in_date_range":{"start_date":"STRING","end_date":"STRING"}},"HotelDateSelectionTypeInfo":{"$ref":"#/AdGroupBidModifier/hotel_date_selection_type"},"HotelAdvanceBookingWindowInfo":{"$ref":"#/AdGroupBidModifier/hotel_advance_booking_window"},"HotelLengthOfStayInfo":{"$ref":"#/AdGroupBidModifier/hotel_length_of_stay"},"HotelCheckInDayInfo":{"$ref":"#/AdGroupBidModifier/hotel_check_in_day"},"DeviceInfo":{"$ref":"#/AdGroupBidModifier/device"},"HotelCheckInDateRangeInfo":{"$ref":"#/AdGroupBidModifier/hotel_check_in_date_range"},"ad_group_bid_modifier":{"$ref":"#/AdGroupBidModifier"},"AdGroupCriterion":{"resource_name":"STRING","criterion_id":"INT64","display_name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"quality_info":{"quality_score":"INT32","creative_quality_score":{"UNSPECIFIED":0,"UNKNOWN":1,"BELOW_AVERAGE":2,"AVERAGE":3,"ABOVE_AVERAGE":4},"post_click_quality_score":{"$ref":"#/AdGroupCriterion/quality_info/creative_quality_score"},"search_predicted_ctr":{"$ref":"#/AdGroupCriterion/quality_info/creative_quality_score"}},"ad_group":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"KEYWORD":2,"PLACEMENT":3,"MOBILE_APP_CATEGORY":4,"MOBILE_APPLICATION":5,"DEVICE":6,"LOCATION":7,"LISTING_GROUP":8,"AD_SCHEDULE":9,"AGE_RANGE":10,"GENDER":11,"INCOME_RANGE":12,"PARENTAL_STATUS":13,"YOUTUBE_VIDEO":14,"YOUTUBE_CHANNEL":15,"USER_LIST":16,"PROXIMITY":17,"TOPIC":18,"LISTING_SCOPE":19,"LANGUAGE":20,"IP_BLOCK":21,"CONTENT_LABEL":22,"CARRIER":23,"USER_INTEREST":24,"WEBPAGE":25,"OPERATING_SYSTEM_VERSION":26,"APP_PAYMENT_MODEL":27,"MOBILE_DEVICE":28,"CUSTOM_AFFINITY":29,"CUSTOM_INTENT":30,"LOCATION_GROUP":31,"CUSTOM_AUDIENCE":32,"COMBINED_AUDIENCE":33,"KEYWORD_THEME":34,"AUDIENCE":35,"NEGATIVE_KEYWORD_LIST":36,"LOCAL_SERVICE_ID":37,"SEARCH_THEME":38,"BRAND":39,"BRAND_LIST":40,"LIFE_EVENT":41},"negative":"BOOL","system_serving_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"RARELY_SERVED":3},"approval_status":{"UNSPECIFIED":0,"UNKNOWN":1,"APPROVED":2,"DISAPPROVED":3,"PENDING_REVIEW":4,"UNDER_REVIEW":5},"disapproval_reasons":"STRING","labels":"STRING","bid_modifier":"DOUBLE","cpc_bid_micros":"INT64","cpm_bid_micros":"INT64","cpv_bid_micros":"INT64","percent_cpc_bid_micros":"INT64","effective_cpc_bid_micros":"INT64","effective_cpm_bid_micros":"INT64","effective_cpv_bid_micros":"INT64","effective_percent_cpc_bid_micros":"INT64","effective_cpc_bid_source":{"$ref":"#/AdGroup/effective_target_cpa_source"},"effective_cpm_bid_source":{"$ref":"#/AdGroup/effective_target_cpa_source"},"effective_cpv_bid_source":{"$ref":"#/AdGroup/effective_target_cpa_source"},"effective_percent_cpc_bid_source":{"$ref":"#/AdGroup/effective_target_cpa_source"},"position_estimates":{"first_page_cpc_micros":"INT64","first_position_cpc_micros":"INT64","top_of_page_cpc_micros":"INT64","estimated_add_clicks_at_first_position_cpc":"INT64","estimated_add_cost_at_first_position_cpc":"INT64"},"final_urls":"STRING","final_mobile_urls":"STRING","final_url_suffix":"STRING","tracking_url_template":"STRING","url_custom_parameters":{"$ref":"#/Ad/url_custom_parameters"},"primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"PENDING":5,"NOT_ELIGIBLE":6},"primary_status_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_PENDING":2,"CAMPAIGN_CRITERION_NEGATIVE":3,"CAMPAIGN_PAUSED":4,"CAMPAIGN_REMOVED":5,"CAMPAIGN_ENDED":6,"AD_GROUP_PAUSED":7,"AD_GROUP_REMOVED":8,"AD_GROUP_CRITERION_DISAPPROVED":9,"AD_GROUP_CRITERION_RARELY_SERVED":10,"AD_GROUP_CRITERION_LOW_QUALITY":11,"AD_GROUP_CRITERION_UNDER_REVIEW":12,"AD_GROUP_CRITERION_PENDING_REVIEW":13,"AD_GROUP_CRITERION_BELOW_FIRST_PAGE_BID":14,"AD_GROUP_CRITERION_NEGATIVE":15,"AD_GROUP_CRITERION_RESTRICTED":16,"AD_GROUP_CRITERION_PAUSED":17,"AD_GROUP_CRITERION_PAUSED_DUE_TO_LOW_ACTIVITY":18,"AD_GROUP_CRITERION_REMOVED":19},"keyword":{"text":"STRING","match_type":{"UNSPECIFIED":0,"UNKNOWN":1,"EXACT":2,"PHRASE":3,"BROAD":4}},"placement":{"url":"STRING"},"mobile_app_category":{"mobile_app_category_constant":"STRING"},"mobile_application":{"app_id":"STRING","name":"STRING"},"listing_group":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"SUBDIVISION":2,"UNIT":3},"case_value":{"hotel_id":{"value":"STRING"},"hotel_class":{"value":"INT64"},"hotel_country_region":{"country_region_criterion":"STRING"},"hotel_state":{"state_criterion":"STRING"},"hotel_city":{"city_criterion":"STRING"},"product_category":{"category_id":"INT64","level":{"UNSPECIFIED":0,"UNKNOWN":1,"LEVEL1":2,"LEVEL2":3,"LEVEL3":4,"LEVEL4":5,"LEVEL5":6}},"product_brand":{"value":"STRING"},"product_channel":{"channel":{"UNSPECIFIED":0,"UNKNOWN":1,"ONLINE":2,"LOCAL":3,"channel":"ENUM"}},"product_channel_exclusivity":{"channel_exclusivity":{"UNSPECIFIED":0,"UNKNOWN":1,"SINGLE_CHANNEL":2,"MULTI_CHANNEL":3}},"product_condition":{"condition":{"UNSPECIFIED":0,"UNKNOWN":1,"NEW":3,"REFURBISHED":4,"USED":5,"condition":"ENUM"}},"product_custom_attribute":{"value":"STRING","index":{"UNSPECIFIED":0,"UNKNOWN":1,"INDEX0":7,"INDEX1":8,"INDEX2":9,"INDEX3":10,"INDEX4":11}},"product_item_id":{"value":"STRING"},"product_type":{"value":"STRING","level":{"UNSPECIFIED":0,"UNKNOWN":1,"LEVEL1":7,"LEVEL2":8,"LEVEL3":9,"LEVEL4":10,"LEVEL5":11}},"product_grouping":{"value":"STRING"},"product_labels":{"value":"STRING"},"product_legacy_condition":{"value":"STRING"},"product_type_full":{"value":"STRING"},"activity_id":{"value":"STRING"},"activity_rating":{"value":"INT64"},"activity_country":{"value":"STRING"},"activity_state":{"value":"STRING"},"activity_city":{"value":"STRING"},"unknown_listing_dimension":{}},"parent_ad_group_criterion":"STRING","path":{"dimensions":{"$ref":"#/AdGroupCriterion/listing_group/case_value"}}},"age_range":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"AGE_RANGE_18_24":503001,"AGE_RANGE_25_34":503002,"AGE_RANGE_35_44":503003,"AGE_RANGE_45_54":503004,"AGE_RANGE_55_64":503005,"AGE_RANGE_65_UP":503006,"AGE_RANGE_UNDETERMINED":503999}},"gender":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"MALE":10,"FEMALE":11,"UNDETERMINED":20}},"income_range":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"INCOME_RANGE_0_50":510001,"INCOME_RANGE_50_60":510002,"INCOME_RANGE_60_70":510003,"INCOME_RANGE_70_80":510004,"INCOME_RANGE_80_90":510005,"INCOME_RANGE_90_UP":510006,"INCOME_RANGE_UNDETERMINED":510000}},"parental_status":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"PARENT":300,"NOT_A_PARENT":301,"UNDETERMINED":302}},"user_list":{"user_list":"STRING"},"youtube_video":{"video_id":"STRING"},"youtube_channel":{"channel_id":"STRING"},"topic":{"topic_constant":"STRING","path":"STRING"},"user_interest":{"user_interest_category":"STRING"},"webpage":{"criterion_name":"STRING","conditions":{"operand":{"UNSPECIFIED":0,"UNKNOWN":1,"URL":2,"CATEGORY":3,"PAGE_TITLE":4,"PAGE_CONTENT":5,"CUSTOM_LABEL":6},"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"EQUALS":2,"CONTAINS":3},"argument":"STRING"},"coverage_percentage":"DOUBLE","sample":{"sample_urls":"STRING"}},"app_payment_model":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"PAID":30}},"custom_affinity":{"custom_affinity":"STRING"},"custom_intent":{"custom_intent":"STRING"},"custom_audience":{"custom_audience":"STRING"},"combined_audience":{"combined_audience":"STRING"},"audience":{"audience":"STRING"},"location":{"geo_target_constant":"STRING"},"language":{"language_constant":"STRING"}},"QualityInfo":{"$ref":"#/AdGroupCriterion/quality_info"},"PositionEstimates":{"$ref":"#/AdGroupCriterion/position_estimates"},"KeywordInfo":{"$ref":"#/AdGroupCriterion/keyword"},"PlacementInfo":{"$ref":"#/AdGroupCriterion/placement"},"MobileAppCategoryInfo":{"$ref":"#/AdGroupCriterion/mobile_app_category"},"MobileApplicationInfo":{"$ref":"#/AdGroupCriterion/mobile_application"},"ListingGroupInfo":{"$ref":"#/AdGroupCriterion/listing_group"},"ListingDimensionInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value"},"HotelIdInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/hotel_id"},"HotelClassInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/hotel_class"},"HotelCountryRegionInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/hotel_country_region"},"HotelStateInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/hotel_state"},"HotelCityInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/hotel_city"},"ProductCategoryInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_category"},"ProductBrandInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_brand"},"ProductChannelInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_channel"},"ProductChannelExclusivityInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_channel_exclusivity"},"ProductConditionInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_condition"},"ProductCustomAttributeInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_custom_attribute"},"ProductItemIdInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_item_id"},"ProductTypeInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_type"},"ProductGroupingInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_grouping"},"ProductLabelsInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_labels"},"ProductLegacyConditionInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_legacy_condition"},"ProductTypeFullInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_type_full"},"ActivityIdInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/activity_id"},"ActivityRatingInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/activity_rating"},"ActivityCountryInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/activity_country"},"ActivityStateInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/activity_state"},"ActivityCityInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/activity_city"},"UnknownListingDimensionInfo":{"$ref":"#/AdGroupCriterion/listing_group/case_value/unknown_listing_dimension"},"ListingDimensionPath":{"$ref":"#/AdGroupCriterion/listing_group/path"},"AgeRangeInfo":{"$ref":"#/AdGroupCriterion/age_range"},"GenderInfo":{"$ref":"#/AdGroupCriterion/gender"},"IncomeRangeInfo":{"$ref":"#/AdGroupCriterion/income_range"},"ParentalStatusInfo":{"$ref":"#/AdGroupCriterion/parental_status"},"UserListInfo":{"$ref":"#/AdGroupCriterion/user_list"},"YouTubeVideoInfo":{"$ref":"#/AdGroupCriterion/youtube_video"},"YouTubeChannelInfo":{"$ref":"#/AdGroupCriterion/youtube_channel"},"TopicInfo":{"$ref":"#/AdGroupCriterion/topic"},"UserInterestInfo":{"$ref":"#/AdGroupCriterion/user_interest"},"WebpageInfo":{"$ref":"#/AdGroupCriterion/webpage"},"WebpageConditionInfo":{"$ref":"#/AdGroupCriterion/webpage/conditions"},"WebpageSampleInfo":{"$ref":"#/AdGroupCriterion/webpage/sample"},"AppPaymentModelInfo":{"$ref":"#/AdGroupCriterion/app_payment_model"},"CustomAffinityInfo":{"$ref":"#/AdGroupCriterion/custom_affinity"},"CustomIntentInfo":{"$ref":"#/AdGroupCriterion/custom_intent"},"CustomAudienceInfo":{"$ref":"#/AdGroupCriterion/custom_audience"},"CombinedAudienceInfo":{"$ref":"#/AdGroupCriterion/combined_audience"},"AudienceInfo":{"$ref":"#/AdGroupCriterion/audience"},"LocationInfo":{"$ref":"#/AdGroupCriterion/location"},"LanguageInfo":{"$ref":"#/AdGroupCriterion/language"},"ad_group_criterion":{"$ref":"#/AdGroupCriterion"},"AdGroupCriterionCustomizer":{"resource_name":"STRING","ad_group_criterion":"STRING","customizer_attribute":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"value":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"TEXT":2,"NUMBER":3,"PRICE":4,"PERCENT":5},"string_value":"STRING"}},"CustomizerValue":{"$ref":"#/AdGroupCriterionCustomizer/value"},"ad_group_criterion_customizer":{"$ref":"#/AdGroupCriterionCustomizer"},"AdGroupCriterionLabel":{"resource_name":"STRING","ad_group_criterion":"STRING","label":"STRING"},"ad_group_criterion_label":{"$ref":"#/AdGroupCriterionLabel"},"AdGroupCriterionSimulation":{"resource_name":"STRING","ad_group_id":"INT64","criterion_id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"CPC_BID":2,"CPV_BID":3,"TARGET_CPA":4,"BID_MODIFIER":5,"TARGET_ROAS":6,"PERCENT_CPC_BID":7,"TARGET_IMPRESSION_SHARE":8,"BUDGET":9},"modification_method":{"UNSPECIFIED":0,"UNKNOWN":1,"UNIFORM":2,"DEFAULT":3,"SCALING":4},"start_date":"STRING","end_date":"STRING","cpc_bid_point_list":{"points":{"required_budget_amount_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64","cpc_bid_micros":"INT64","cpc_bid_scaling_modifier":"DOUBLE"}},"percent_cpc_bid_point_list":{"points":{"percent_cpc_bid_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64"}}},"CpcBidSimulationPointList":{"$ref":"#/AdGroupCriterionSimulation/cpc_bid_point_list"},"CpcBidSimulationPoint":{"$ref":"#/AdGroupCriterionSimulation/cpc_bid_point_list/points"},"PercentCpcBidSimulationPointList":{"$ref":"#/AdGroupCriterionSimulation/percent_cpc_bid_point_list"},"PercentCpcBidSimulationPoint":{"$ref":"#/AdGroupCriterionSimulation/percent_cpc_bid_point_list/points"},"ad_group_criterion_simulation":{"$ref":"#/AdGroupCriterionSimulation"},"AdGroupCustomizer":{"resource_name":"STRING","ad_group":"STRING","customizer_attribute":"STRING","status":{"$ref":"#/AdGroupCriterionCustomizer/status"},"value":{"$ref":"#/AdGroupCriterionCustomizer/value"}},"ad_group_customizer":{"$ref":"#/AdGroupCustomizer"},"AdGroupLabel":{"resource_name":"STRING","ad_group":"STRING","label":"STRING"},"ad_group_label":{"$ref":"#/AdGroupLabel"},"AdGroupSimulation":{"resource_name":"STRING","ad_group_id":"INT64","type":{"$ref":"#/AdGroupCriterionSimulation/type"},"modification_method":{"$ref":"#/AdGroupCriterionSimulation/modification_method"},"start_date":"STRING","end_date":"STRING","cpc_bid_point_list":{"$ref":"#/AdGroupCriterionSimulation/cpc_bid_point_list"},"cpv_bid_point_list":{"points":{"cpv_bid_micros":"INT64","cost_micros":"INT64","impressions":"INT64","views":"INT64"}},"target_cpa_point_list":{"points":{"required_budget_amount_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","app_installs":"DOUBLE","in_app_actions":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64","interactions":"INT64","target_cpa_micros":"INT64","target_cpa_scaling_modifier":"DOUBLE"}},"target_roas_point_list":{"points":{"target_roas":"DOUBLE","required_budget_amount_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64"}}},"CpvBidSimulationPointList":{"$ref":"#/AdGroupSimulation/cpv_bid_point_list"},"CpvBidSimulationPoint":{"$ref":"#/AdGroupSimulation/cpv_bid_point_list/points"},"TargetCpaSimulationPointList":{"$ref":"#/AdGroupSimulation/target_cpa_point_list"},"TargetCpaSimulationPoint":{"$ref":"#/AdGroupSimulation/target_cpa_point_list/points"},"TargetRoasSimulationPointList":{"$ref":"#/AdGroupSimulation/target_roas_point_list"},"TargetRoasSimulationPoint":{"$ref":"#/AdGroupSimulation/target_roas_point_list/points"},"ad_group_simulation":{"$ref":"#/AdGroupSimulation"},"AdParameter":{"resource_name":"STRING","ad_group_criterion":"STRING","parameter_index":"INT64","insertion_text":"STRING"},"ad_parameter":{"$ref":"#/AdParameter"},"AdScheduleView":{"resource_name":"STRING"},"ad_schedule_view":{"$ref":"#/AdScheduleView"},"AgeRangeView":{"resource_name":"STRING"},"age_range_view":{"$ref":"#/AgeRangeView"},"AndroidPrivacySharedKeyGoogleAdGroup":{"resource_name":"STRING","campaign_id":"INT64","android_privacy_interaction_type":{"UNSPECIFIED":0,"UNKNOWN":1,"CLICK":2,"ENGAGED_VIEW":3,"VIEW":4},"android_privacy_interaction_date":"STRING","android_privacy_network_type":{"UNSPECIFIED":0,"UNKNOWN":1,"SEARCH":2,"DISPLAY":3,"YOUTUBE":4},"ad_group_id":"INT64","shared_ad_group_key":"STRING"},"android_privacy_shared_key_google_ad_group":{"$ref":"#/AndroidPrivacySharedKeyGoogleAdGroup"},"AndroidPrivacySharedKeyGoogleCampaign":{"resource_name":"STRING","campaign_id":"INT64","android_privacy_interaction_type":{"$ref":"#/AndroidPrivacySharedKeyGoogleAdGroup/android_privacy_interaction_type"},"android_privacy_interaction_date":"STRING","shared_campaign_key":"STRING"},"android_privacy_shared_key_google_campaign":{"$ref":"#/AndroidPrivacySharedKeyGoogleCampaign"},"AndroidPrivacySharedKeyGoogleNetworkType":{"resource_name":"STRING","campaign_id":"INT64","android_privacy_interaction_type":{"$ref":"#/AndroidPrivacySharedKeyGoogleAdGroup/android_privacy_interaction_type"},"android_privacy_interaction_date":"STRING","android_privacy_network_type":{"$ref":"#/AndroidPrivacySharedKeyGoogleAdGroup/android_privacy_network_type"},"shared_network_type_key":"STRING"},"android_privacy_shared_key_google_network_type":{"$ref":"#/AndroidPrivacySharedKeyGoogleNetworkType"},"Asset":{"resource_name":"STRING","id":"INT64","name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"YOUTUBE_VIDEO":2,"MEDIA_BUNDLE":3,"IMAGE":4,"TEXT":5,"LEAD_FORM":6,"BOOK_ON_GOOGLE":7,"PROMOTION":8,"CALLOUT":9,"STRUCTURED_SNIPPET":10,"SITELINK":11,"PAGE_FEED":12,"DYNAMIC_EDUCATION":13,"MOBILE_APP":14,"HOTEL_CALLOUT":15,"CALL":16,"PRICE":17,"CALL_TO_ACTION":18,"DYNAMIC_REAL_ESTATE":19,"DYNAMIC_CUSTOM":20,"DYNAMIC_HOTELS_AND_RENTALS":21,"DYNAMIC_FLIGHTS":22,"DYNAMIC_TRAVEL":24,"DYNAMIC_LOCAL":25,"DYNAMIC_JOBS":26,"LOCATION":27,"HOTEL_PROPERTY":28,"DEMAND_GEN_CAROUSEL_CARD":29,"BUSINESS_MESSAGE":30,"APP_DEEP_LINK":31},"final_urls":"STRING","final_mobile_urls":"STRING","tracking_url_template":"STRING","url_custom_parameters":{"$ref":"#/Ad/url_custom_parameters"},"final_url_suffix":"STRING","source":{"$ref":"#/AdGroupAdAssetView/source"},"policy_summary":{"policy_topic_entries":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"review_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/review_status"},"approval_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/approval_status"}},"field_type_policy_summaries":{"asset_field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"asset_source":{"$ref":"#/AdGroupAdAssetView/source"},"policy_summary_info":{"$ref":"#/Asset/policy_summary"}},"youtube_video_asset":{"youtube_video_id":"STRING","youtube_video_title":"STRING"},"media_bundle_asset":{"data":"BYTES"},"image_asset":{"data":"BYTES","file_size":"INT64","mime_type":{"$ref":"#/Ad/image_ad/mime_type"},"full_size":{"height_pixels":"INT64","width_pixels":"INT64","url":"STRING"}},"text_asset":{"text":"STRING"},"lead_form_asset":{"business_name":"STRING","call_to_action_type":{"UNSPECIFIED":0,"UNKNOWN":1,"LEARN_MORE":2,"GET_QUOTE":3,"APPLY_NOW":4,"SIGN_UP":5,"CONTACT_US":6,"SUBSCRIBE":7,"DOWNLOAD":8,"BOOK_NOW":9,"GET_OFFER":10,"REGISTER":11,"GET_INFO":12,"REQUEST_DEMO":13,"JOIN_NOW":14,"GET_STARTED":15},"call_to_action_description":"STRING","headline":"STRING","description":"STRING","privacy_policy_url":"STRING","post_submit_headline":"STRING","post_submit_description":"STRING","fields":{"input_type":{"UNSPECIFIED":0,"UNKNOWN":1,"FULL_NAME":2,"EMAIL":3,"PHONE_NUMBER":4,"POSTAL_CODE":5,"STREET_ADDRESS":8,"CITY":9,"REGION":10,"COUNTRY":11,"WORK_EMAIL":12,"COMPANY_NAME":13,"WORK_PHONE":14,"JOB_TITLE":15,"GOVERNMENT_ISSUED_ID_CPF_BR":16,"GOVERNMENT_ISSUED_ID_DNI_AR":17,"GOVERNMENT_ISSUED_ID_DNI_PE":18,"GOVERNMENT_ISSUED_ID_RUT_CL":19,"GOVERNMENT_ISSUED_ID_CC_CO":20,"GOVERNMENT_ISSUED_ID_CI_EC":21,"GOVERNMENT_ISSUED_ID_RFC_MX":22,"FIRST_NAME":23,"LAST_NAME":24,"VEHICLE_MODEL":1001,"VEHICLE_TYPE":1002,"PREFERRED_DEALERSHIP":1003,"VEHICLE_PURCHASE_TIMELINE":1004,"VEHICLE_OWNERSHIP":1005,"VEHICLE_PAYMENT_TYPE":1009,"VEHICLE_CONDITION":1010,"COMPANY_SIZE":1006,"ANNUAL_SALES":1007,"YEARS_IN_BUSINESS":1008,"JOB_DEPARTMENT":1011,"JOB_ROLE":1012,"OVER_18_AGE":1078,"OVER_19_AGE":1079,"OVER_20_AGE":1080,"OVER_21_AGE":1081,"OVER_22_AGE":1082,"OVER_23_AGE":1083,"OVER_24_AGE":1084,"OVER_25_AGE":1085,"OVER_26_AGE":1086,"OVER_27_AGE":1087,"OVER_28_AGE":1088,"OVER_29_AGE":1089,"OVER_30_AGE":1090,"OVER_31_AGE":1091,"OVER_32_AGE":1092,"OVER_33_AGE":1093,"OVER_34_AGE":1094,"OVER_35_AGE":1095,"OVER_36_AGE":1096,"OVER_37_AGE":1097,"OVER_38_AGE":1098,"OVER_39_AGE":1099,"OVER_40_AGE":1100,"OVER_41_AGE":1101,"OVER_42_AGE":1102,"OVER_43_AGE":1103,"OVER_44_AGE":1104,"OVER_45_AGE":1105,"OVER_46_AGE":1106,"OVER_47_AGE":1107,"OVER_48_AGE":1108,"OVER_49_AGE":1109,"OVER_50_AGE":1110,"OVER_51_AGE":1111,"OVER_52_AGE":1112,"OVER_53_AGE":1113,"OVER_54_AGE":1114,"OVER_55_AGE":1115,"OVER_56_AGE":1116,"OVER_57_AGE":1117,"OVER_58_AGE":1118,"OVER_59_AGE":1119,"OVER_60_AGE":1120,"OVER_61_AGE":1121,"OVER_62_AGE":1122,"OVER_63_AGE":1123,"OVER_64_AGE":1124,"OVER_65_AGE":1125,"EDUCATION_PROGRAM":1013,"EDUCATION_COURSE":1014,"PRODUCT":1016,"SERVICE":1017,"OFFER":1018,"CATEGORY":1019,"PREFERRED_CONTACT_METHOD":1020,"PREFERRED_LOCATION":1021,"PREFERRED_CONTACT_TIME":1022,"PURCHASE_TIMELINE":1023,"YEARS_OF_EXPERIENCE":1048,"JOB_INDUSTRY":1049,"LEVEL_OF_EDUCATION":1050,"PROPERTY_TYPE":1024,"REALTOR_HELP_GOAL":1025,"PROPERTY_COMMUNITY":1026,"PRICE_RANGE":1027,"NUMBER_OF_BEDROOMS":1028,"FURNISHED_PROPERTY":1029,"PETS_ALLOWED_PROPERTY":1030,"NEXT_PLANNED_PURCHASE":1031,"EVENT_SIGNUP_INTEREST":1033,"PREFERRED_SHOPPING_PLACES":1034,"FAVORITE_BRAND":1035,"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE":1036,"EVENT_BOOKING_INTEREST":1038,"DESTINATION_COUNTRY":1039,"DESTINATION_CITY":1040,"DEPARTURE_COUNTRY":1041,"DEPARTURE_CITY":1042,"DEPARTURE_DATE":1043,"RETURN_DATE":1044,"NUMBER_OF_TRAVELERS":1045,"TRAVEL_BUDGET":1046,"TRAVEL_ACCOMMODATION":1047},"single_choice_answers":{"answers":"STRING"},"has_location_answer":"BOOL"},"custom_question_fields":{"custom_question_text":"STRING","single_choice_answers":{"$ref":"#/Asset/lead_form_asset/fields/single_choice_answers"},"has_location_answer":"BOOL"},"delivery_methods":{"webhook":{"advertiser_webhook_url":"STRING","google_secret":"STRING","payload_schema_version":"INT64"}},"post_submit_call_to_action_type":{"UNSPECIFIED":0,"UNKNOWN":1,"VISIT_SITE":2,"DOWNLOAD":3,"LEARN_MORE":4,"SHOP_NOW":5},"background_image_asset":"STRING","desired_intent":{"UNSPECIFIED":0,"UNKNOWN":1,"LOW_INTENT":2,"HIGH_INTENT":3},"custom_disclosure":"STRING"},"book_on_google_asset":{},"promotion_asset":{"promotion_target":"STRING","discount_modifier":{"UNSPECIFIED":0,"UNKNOWN":1,"UP_TO":2},"redemption_start_date":"STRING","redemption_end_date":"STRING","occasion":{"UNSPECIFIED":0,"UNKNOWN":1,"NEW_YEARS":2,"CHINESE_NEW_YEAR":3,"VALENTINES_DAY":4,"EASTER":5,"MOTHERS_DAY":6,"FATHERS_DAY":7,"LABOR_DAY":8,"BACK_TO_SCHOOL":9,"HALLOWEEN":10,"BLACK_FRIDAY":11,"CYBER_MONDAY":12,"CHRISTMAS":13,"BOXING_DAY":14,"INDEPENDENCE_DAY":15,"NATIONAL_DAY":16,"END_OF_SEASON":17,"WINTER_SALE":18,"SUMMER_SALE":19,"FALL_SALE":20,"SPRING_SALE":21,"RAMADAN":22,"EID_AL_FITR":23,"EID_AL_ADHA":24,"SINGLES_DAY":25,"WOMENS_DAY":26,"HOLI":27,"PARENTS_DAY":28,"ST_NICHOLAS_DAY":29,"CARNIVAL":30,"EPIPHANY":31,"ROSH_HASHANAH":32,"PASSOVER":33,"HANUKKAH":34,"DIWALI":35,"NAVRATRI":36,"SONGKRAN":37,"YEAR_END_GIFT":38},"language_code":"STRING","start_date":"STRING","end_date":"STRING","ad_schedule_targets":{"start_minute":{"UNSPECIFIED":0,"UNKNOWN":1,"ZERO":2,"FIFTEEN":3,"THIRTY":4,"FORTY_FIVE":5},"end_minute":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets/start_minute"},"start_hour":"INT32","end_hour":"INT32","day_of_week":{"$ref":"#/AdGroupBidModifier/hotel_check_in_day/day_of_week"}},"percent_off":"INT64","money_amount_off":{"currency_code":"STRING","amount_micros":"INT64"},"promotion_code":"STRING","orders_over_amount":{"$ref":"#/Asset/promotion_asset/money_amount_off"}},"callout_asset":{"callout_text":"STRING","start_date":"STRING","end_date":"STRING","ad_schedule_targets":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets"}},"structured_snippet_asset":{"header":"STRING","values":"STRING"},"sitelink_asset":{"link_text":"STRING","description1":"STRING","description2":"STRING","start_date":"STRING","end_date":"STRING","ad_schedule_targets":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets"}},"page_feed_asset":{"page_url":"STRING","labels":"STRING"},"dynamic_education_asset":{"program_id":"STRING","location_id":"STRING","program_name":"STRING","subject":"STRING","program_description":"STRING","school_name":"STRING","address":"STRING","contextual_keywords":"STRING","android_app_link":"STRING","similar_program_ids":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64","thumbnail_image_url":"STRING","image_url":"STRING"},"mobile_app_asset":{"app_id":"STRING","app_store":{"$ref":"#/AccountLink/third_party_app_analytics/app_vendor"},"link_text":"STRING","start_date":"STRING","end_date":"STRING"},"hotel_callout_asset":{"text":"STRING","language_code":"STRING"},"call_asset":{"country_code":"STRING","phone_number":"STRING","call_conversion_reporting_state":{"$ref":"#/Ad/call_ad/conversion_reporting_state"},"call_conversion_action":"STRING","ad_schedule_targets":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets"}},"price_asset":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"BRANDS":2,"EVENTS":3,"LOCATIONS":4,"NEIGHBORHOODS":5,"PRODUCT_CATEGORIES":6,"PRODUCT_TIERS":7,"SERVICES":8,"SERVICE_CATEGORIES":9,"SERVICE_TIERS":10},"price_qualifier":{"UNSPECIFIED":0,"UNKNOWN":1,"FROM":2,"UP_TO":3,"AVERAGE":4},"language_code":"STRING","price_offerings":{"header":"STRING","description":"STRING","price":{"$ref":"#/Asset/promotion_asset/money_amount_off"},"unit":{"UNSPECIFIED":0,"UNKNOWN":1,"PER_HOUR":2,"PER_DAY":3,"PER_WEEK":4,"PER_MONTH":5,"PER_YEAR":6,"PER_NIGHT":7},"final_url":"STRING","final_mobile_url":"STRING"}},"call_to_action_asset":{"call_to_action":{"UNSPECIFIED":0,"UNKNOWN":1,"LEARN_MORE":2,"GET_QUOTE":3,"APPLY_NOW":4,"SIGN_UP":5,"CONTACT_US":6,"SUBSCRIBE":7,"DOWNLOAD":8,"BOOK_NOW":9,"SHOP_NOW":10,"BUY_NOW":11,"DONATE_NOW":12,"ORDER_NOW":13,"PLAY_NOW":14,"SEE_MORE":15,"START_NOW":16,"VISIT_SITE":17,"WATCH_NOW":18}},"dynamic_real_estate_asset":{"listing_id":"STRING","listing_name":"STRING","city_name":"STRING","description":"STRING","address":"STRING","price":"STRING","image_url":"STRING","property_type":"STRING","listing_type":"STRING","contextual_keywords":"STRING","formatted_price":"STRING","android_app_link":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64","similar_listing_ids":"STRING"},"dynamic_custom_asset":{"id":"STRING","id2":"STRING","item_title":"STRING","item_subtitle":"STRING","item_description":"STRING","item_address":"STRING","item_category":"STRING","price":"STRING","sale_price":"STRING","formatted_price":"STRING","formatted_sale_price":"STRING","image_url":"STRING","contextual_keywords":"STRING","android_app_link":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64","similar_ids":"STRING"},"dynamic_hotels_and_rentals_asset":{"property_id":"STRING","property_name":"STRING","image_url":"STRING","destination_name":"STRING","description":"STRING","price":"STRING","sale_price":"STRING","star_rating":"INT64","category":"STRING","contextual_keywords":"STRING","address":"STRING","android_app_link":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64","formatted_price":"STRING","formatted_sale_price":"STRING","similar_property_ids":"STRING"},"dynamic_flights_asset":{"destination_id":"STRING","origin_id":"STRING","flight_description":"STRING","image_url":"STRING","destination_name":"STRING","origin_name":"STRING","flight_price":"STRING","flight_sale_price":"STRING","formatted_price":"STRING","formatted_sale_price":"STRING","android_app_link":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64","similar_destination_ids":"STRING","custom_mapping":"STRING"},"demand_gen_carousel_card_asset":{"marketing_image_asset":"STRING","square_marketing_image_asset":"STRING","portrait_marketing_image_asset":"STRING","headline":"STRING","call_to_action_text":"STRING"},"dynamic_travel_asset":{"destination_id":"STRING","origin_id":"STRING","title":"STRING","destination_name":"STRING","destination_address":"STRING","origin_name":"STRING","price":"STRING","sale_price":"STRING","formatted_price":"STRING","formatted_sale_price":"STRING","category":"STRING","contextual_keywords":"STRING","similar_destination_ids":"STRING","image_url":"STRING","android_app_link":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64"},"dynamic_local_asset":{"deal_id":"STRING","deal_name":"STRING","subtitle":"STRING","description":"STRING","price":"STRING","sale_price":"STRING","image_url":"STRING","address":"STRING","category":"STRING","contextual_keywords":"STRING","formatted_price":"STRING","formatted_sale_price":"STRING","android_app_link":"STRING","similar_deal_ids":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64"},"dynamic_jobs_asset":{"job_id":"STRING","location_id":"STRING","job_title":"STRING","job_subtitle":"STRING","description":"STRING","image_url":"STRING","job_category":"STRING","contextual_keywords":"STRING","address":"STRING","salary":"STRING","android_app_link":"STRING","similar_job_ids":"STRING","ios_app_link":"STRING","ios_app_store_id":"INT64"},"location_asset":{"place_id":"STRING","business_profile_locations":{"labels":"STRING","store_code":"STRING","listing_id":"INT64"},"location_ownership_type":{"UNSPECIFIED":0,"UNKNOWN":1,"BUSINESS_OWNER":2,"AFFILIATE":3}},"hotel_property_asset":{"place_id":"STRING","hotel_address":"STRING","hotel_name":"STRING"},"business_message_asset":{"message_provider":{"UNSPECIFIED":0,"UNKNOWN":1,"WHATSAPP":2},"starter_message":"STRING","call_to_action":{"call_to_action_selection":{"UNSPECIFIED":0,"UNKNOWN":1,"APPLY_NOW":2,"BOOK_NOW":3,"CONTACT_US":4,"GET_INFO":5,"GET_OFFER":6,"GET_QUOTE":7,"GET_STARTED":8,"LEARN_MORE":9},"call_to_action_description":"STRING"},"whatsapp_info":{"country_code":"STRING","phone_number":"STRING"}},"app_deep_link_asset":{"app_deep_link_uri":"STRING"}},"AssetPolicySummary":{"$ref":"#/Asset/policy_summary"},"AssetFieldTypePolicySummary":{"$ref":"#/Asset/field_type_policy_summaries"},"YoutubeVideoAsset":{"$ref":"#/Asset/youtube_video_asset"},"MediaBundleAsset":{"$ref":"#/Asset/media_bundle_asset"},"ImageAsset":{"$ref":"#/Asset/image_asset"},"ImageDimension":{"$ref":"#/Asset/image_asset/full_size"},"TextAsset":{"$ref":"#/Asset/text_asset"},"LeadFormAsset":{"$ref":"#/Asset/lead_form_asset"},"LeadFormField":{"$ref":"#/Asset/lead_form_asset/fields"},"LeadFormSingleChoiceAnswers":{"$ref":"#/Asset/lead_form_asset/fields/single_choice_answers"},"LeadFormCustomQuestionField":{"$ref":"#/Asset/lead_form_asset/custom_question_fields"},"LeadFormDeliveryMethod":{"$ref":"#/Asset/lead_form_asset/delivery_methods"},"WebhookDelivery":{"$ref":"#/Asset/lead_form_asset/delivery_methods/webhook"},"BookOnGoogleAsset":{"$ref":"#/Asset/book_on_google_asset"},"PromotionAsset":{"$ref":"#/Asset/promotion_asset"},"AdScheduleInfo":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets"},"Money":{"$ref":"#/Asset/promotion_asset/money_amount_off"},"CalloutAsset":{"$ref":"#/Asset/callout_asset"},"StructuredSnippetAsset":{"$ref":"#/Asset/structured_snippet_asset"},"SitelinkAsset":{"$ref":"#/Asset/sitelink_asset"},"PageFeedAsset":{"$ref":"#/Asset/page_feed_asset"},"DynamicEducationAsset":{"$ref":"#/Asset/dynamic_education_asset"},"MobileAppAsset":{"$ref":"#/Asset/mobile_app_asset"},"HotelCalloutAsset":{"$ref":"#/Asset/hotel_callout_asset"},"CallAsset":{"$ref":"#/Asset/call_asset"},"PriceAsset":{"$ref":"#/Asset/price_asset"},"PriceOffering":{"$ref":"#/Asset/price_asset/price_offerings"},"CallToActionAsset":{"$ref":"#/Asset/call_to_action_asset"},"DynamicRealEstateAsset":{"$ref":"#/Asset/dynamic_real_estate_asset"},"DynamicCustomAsset":{"$ref":"#/Asset/dynamic_custom_asset"},"DynamicHotelsAndRentalsAsset":{"$ref":"#/Asset/dynamic_hotels_and_rentals_asset"},"DynamicFlightsAsset":{"$ref":"#/Asset/dynamic_flights_asset"},"DemandGenCarouselCardAsset":{"$ref":"#/Asset/demand_gen_carousel_card_asset"},"DynamicTravelAsset":{"$ref":"#/Asset/dynamic_travel_asset"},"DynamicLocalAsset":{"$ref":"#/Asset/dynamic_local_asset"},"DynamicJobsAsset":{"$ref":"#/Asset/dynamic_jobs_asset"},"LocationAsset":{"$ref":"#/Asset/location_asset"},"BusinessProfileLocation":{"$ref":"#/Asset/location_asset/business_profile_locations"},"HotelPropertyAsset":{"$ref":"#/Asset/hotel_property_asset"},"BusinessMessageAsset":{"$ref":"#/Asset/business_message_asset"},"BusinessMessageCallToActionInfo":{"$ref":"#/Asset/business_message_asset/call_to_action"},"WhatsappBusinessMessageInfo":{"$ref":"#/Asset/business_message_asset/whatsapp_info"},"AppDeepLinkAsset":{"$ref":"#/Asset/app_deep_link_asset"},"asset":{"$ref":"#/Asset"},"AssetFieldTypeView":{"resource_name":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"}},"asset_field_type_view":{"$ref":"#/AssetFieldTypeView"},"AssetGroup":{"resource_name":"STRING","id":"INT64","campaign":"STRING","name":"STRING","final_urls":"STRING","final_mobile_urls":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"NOT_ELIGIBLE":5,"LIMITED":6,"PENDING":7},"primary_status_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"ASSET_GROUP_PAUSED":2,"ASSET_GROUP_REMOVED":3,"CAMPAIGN_REMOVED":4,"CAMPAIGN_PAUSED":5,"CAMPAIGN_PENDING":6,"CAMPAIGN_ENDED":7,"ASSET_GROUP_LIMITED":8,"ASSET_GROUP_DISAPPROVED":9,"ASSET_GROUP_UNDER_REVIEW":10},"path1":"STRING","path2":"STRING","ad_strength":{"$ref":"#/AdGroupAd/ad_strength"}},"asset_group":{"$ref":"#/AssetGroup"},"AssetGroupAsset":{"resource_name":"STRING","asset_group":"STRING","asset":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"status":{"$ref":"#/AdGroupAsset/status"},"primary_status":{"$ref":"#/AdGroupAsset/primary_status"},"primary_status_reasons":{"$ref":"#/AdGroupAsset/primary_status_details/reason"},"primary_status_details":{"$ref":"#/AdGroupAsset/primary_status_details"},"performance_label":{"$ref":"#/Ad/video_responsive_ad/headlines/asset_performance_label"},"policy_summary":{"policy_topic_entries":{"$ref":"#/GoogleAdsError/details/policy_finding_details/policy_topic_entries"},"review_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/review_status"},"approval_status":{"$ref":"#/Ad/video_responsive_ad/headlines/policy_summary_info/approval_status"}},"source":{"$ref":"#/AdGroupAdAssetView/source"}},"PolicySummary":{"$ref":"#/AssetGroupAsset/policy_summary"},"asset_group_asset":{"$ref":"#/AssetGroupAsset"},"AssetGroupListingGroupFilter":{"resource_name":"STRING","asset_group":"STRING","id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"SUBDIVISION":2,"UNIT_INCLUDED":3,"UNIT_EXCLUDED":4},"listing_source":{"UNSPECIFIED":0,"UNKNOWN":1,"SHOPPING":2,"WEBPAGE":3},"case_value":{"product_category":{"category_id":"INT64","level":{"UNSPECIFIED":0,"UNKNOWN":1,"LEVEL1":2,"LEVEL2":3,"LEVEL3":4,"LEVEL4":5,"LEVEL5":6}},"product_brand":{"value":"STRING"},"product_channel":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_channel/channel"},"product_condition":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_condition/condition"},"product_custom_attribute":{"value":"STRING","index":{"UNSPECIFIED":0,"UNKNOWN":1,"INDEX0":2,"INDEX1":3,"INDEX2":4,"INDEX3":5,"INDEX4":6}},"product_item_id":{"value":"STRING"},"product_type":{"value":"STRING","level":{"UNSPECIFIED":0,"UNKNOWN":1,"LEVEL1":2,"LEVEL2":3,"LEVEL3":4,"LEVEL4":5,"LEVEL5":6}},"webpage":{"conditions":{"custom_label":"STRING","url_contains":"STRING"}}},"parent_listing_group_filter":"STRING","path":{"dimensions":{"$ref":"#/AssetGroupListingGroupFilter/case_value"}}},"ListingGroupFilterDimension":{"$ref":"#/AssetGroupListingGroupFilter/case_value"},"ProductCategory":{"$ref":"#/AssetGroupListingGroupFilter/case_value/product_category"},"ProductBrand":{"$ref":"#/AssetGroupListingGroupFilter/case_value/product_brand"},"ProductCustomAttribute":{"$ref":"#/AssetGroupListingGroupFilter/case_value/product_custom_attribute"},"ProductItemId":{"$ref":"#/AssetGroupListingGroupFilter/case_value/product_item_id"},"ProductType":{"$ref":"#/AssetGroupListingGroupFilter/case_value/product_type"},"Webpage":{"$ref":"#/AssetGroupListingGroupFilter/case_value/webpage"},"WebpageCondition":{"$ref":"#/AssetGroupListingGroupFilter/case_value/webpage/conditions"},"ListingGroupFilterDimensionPath":{"$ref":"#/AssetGroupListingGroupFilter/path"},"asset_group_listing_group_filter":{"$ref":"#/AssetGroupListingGroupFilter"},"AssetGroupProductGroupView":{"resource_name":"STRING","asset_group":"STRING","asset_group_listing_group_filter":"STRING"},"asset_group_product_group_view":{"$ref":"#/AssetGroupProductGroupView"},"AssetGroupSignal":{"resource_name":"STRING","asset_group":"STRING","approval_status":{"UNSPECIFIED":0,"UNKNOWN":1,"APPROVED":2,"LIMITED":3,"DISAPPROVED":4,"UNDER_REVIEW":5},"disapproval_reasons":"STRING","audience":{"$ref":"#/AdGroupCriterion/audience"},"search_theme":{"text":"STRING"}},"SearchThemeInfo":{"$ref":"#/AssetGroupSignal/search_theme"},"asset_group_signal":{"$ref":"#/AssetGroupSignal"},"AssetGroupTopCombinationView":{"resource_name":"STRING","asset_group_top_combinations":{"asset_combination_served_assets":{"$ref":"#/AdGroupAdAssetCombinationView/served_assets"}}},"AssetGroupAssetCombinationData":{"$ref":"#/AssetGroupTopCombinationView/asset_group_top_combinations"},"asset_group_top_combination_view":{"$ref":"#/AssetGroupTopCombinationView"},"AssetSet":{"id":"INT64","resource_name":"STRING","name":"STRING","type":{"$ref":"#/AdGroup/excluded_parent_asset_set_types"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"merchant_center_feed":{"merchant_id":"INT64","feed_label":"STRING"},"location_group_parent_asset_set_id":"INT64","hotel_property_data":{"hotel_center_id":"INT64","partner_name":"STRING"},"location_set":{"location_ownership_type":{"$ref":"#/Asset/location_asset/location_ownership_type"},"business_profile_location_set":{"http_authorization_token":"STRING","email_address":"STRING","business_name_filter":"STRING","label_filters":"STRING","listing_id_filters":"INT64","business_account_id":"STRING"},"chain_location_set":{"relationship_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AUTO_DEALERS":2,"GENERAL_RETAILERS":3},"chains":{"chain_id":"INT64","location_attributes":"STRING"}},"maps_location_set":{"maps_locations":{"place_id":"STRING"}}},"business_profile_location_group":{"dynamic_business_profile_location_group_filter":{"label_filters":"STRING","business_name_filter":{"business_name":"STRING","filter_type":{"UNSPECIFIED":0,"UNKNOWN":1,"EXACT":2}},"listing_id_filters":"INT64"}},"chain_location_group":{"dynamic_chain_location_group_filters":{"$ref":"#/AssetSet/location_set/chain_location_set/chains"}}},"MerchantCenterFeed":{"$ref":"#/AssetSet/merchant_center_feed"},"HotelPropertyData":{"$ref":"#/AssetSet/hotel_property_data"},"LocationSet":{"$ref":"#/AssetSet/location_set"},"BusinessProfileLocationSet":{"$ref":"#/AssetSet/location_set/business_profile_location_set"},"ChainSet":{"$ref":"#/AssetSet/location_set/chain_location_set"},"ChainFilter":{"$ref":"#/AssetSet/location_set/chain_location_set/chains"},"MapsLocationSet":{"$ref":"#/AssetSet/location_set/maps_location_set"},"MapsLocationInfo":{"$ref":"#/AssetSet/location_set/maps_location_set/maps_locations"},"BusinessProfileLocationGroup":{"$ref":"#/AssetSet/business_profile_location_group"},"DynamicBusinessProfileLocationGroupFilter":{"$ref":"#/AssetSet/business_profile_location_group/dynamic_business_profile_location_group_filter"},"BusinessProfileBusinessNameFilter":{"$ref":"#/AssetSet/business_profile_location_group/dynamic_business_profile_location_group_filter/business_name_filter"},"ChainLocationGroup":{"$ref":"#/AssetSet/chain_location_group"},"asset_set":{"$ref":"#/AssetSet"},"AssetSetAsset":{"resource_name":"STRING","asset_set":"STRING","asset":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"asset_set_asset":{"$ref":"#/AssetSetAsset"},"AssetSetTypeView":{"resource_name":"STRING","asset_set_type":{"$ref":"#/AdGroup/excluded_parent_asset_set_types"}},"asset_set_type_view":{"$ref":"#/AssetSetTypeView"},"Audience":{"resource_name":"STRING","id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"name":"STRING","description":"STRING","dimensions":{"age":{"age_ranges":{"min_age":"INT32","max_age":"INT32"},"include_undetermined":"BOOL"},"gender":{"genders":{"$ref":"#/AdGroupCriterion/gender/type"},"include_undetermined":"BOOL"},"household_income":{"income_ranges":{"$ref":"#/AdGroupCriterion/income_range/type"},"include_undetermined":"BOOL"},"parental_status":{"parental_statuses":{"$ref":"#/AdGroupCriterion/parental_status/type"},"include_undetermined":"BOOL"},"audience_segments":{"segments":{"user_list":{"user_list":"STRING"},"user_interest":{"user_interest_category":"STRING"},"life_event":{"life_event":"STRING"},"detailed_demographic":{"detailed_demographic":"STRING"},"custom_audience":{"custom_audience":"STRING"}}}},"exclusion_dimension":{"exclusions":{"user_list":{"$ref":"#/Audience/dimensions/audience_segments/segments/user_list"}}},"scope":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER":2,"ASSET_GROUP":3},"asset_group":"STRING"},"AudienceDimension":{"$ref":"#/Audience/dimensions"},"AgeDimension":{"$ref":"#/Audience/dimensions/age"},"AgeSegment":{"$ref":"#/Audience/dimensions/age/age_ranges"},"GenderDimension":{"$ref":"#/Audience/dimensions/gender"},"HouseholdIncomeDimension":{"$ref":"#/Audience/dimensions/household_income"},"ParentalStatusDimension":{"$ref":"#/Audience/dimensions/parental_status"},"AudienceSegmentDimension":{"$ref":"#/Audience/dimensions/audience_segments"},"AudienceSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments"},"UserListSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments/user_list"},"UserInterestSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments/user_interest"},"LifeEventSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments/life_event"},"DetailedDemographicSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments/detailed_demographic"},"CustomAudienceSegment":{"$ref":"#/Audience/dimensions/audience_segments/segments/custom_audience"},"AudienceExclusionDimension":{"$ref":"#/Audience/exclusion_dimension"},"ExclusionSegment":{"$ref":"#/Audience/exclusion_dimension/exclusions"},"audience":{"$ref":"#/Audience"},"BatchJob":{"resource_name":"STRING","id":"INT64","next_add_sequence_token":"STRING","metadata":{"creation_date_time":"STRING","start_date_time":"STRING","completion_date_time":"STRING","estimated_completion_ratio":"DOUBLE","operation_count":"INT64","executed_operation_count":"INT64","execution_limit_seconds":"INT32"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"RUNNING":3,"DONE":4},"long_running_operation":"STRING"},"BatchJobMetadata":{"$ref":"#/BatchJob/metadata"},"batch_job":{"$ref":"#/BatchJob"},"BiddingDataExclusion":{"resource_name":"STRING","data_exclusion_id":"INT64","scope":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER":2,"CAMPAIGN":4,"CHANNEL":5},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":4},"start_date_time":"STRING","end_date_time":"STRING","name":"STRING","description":"STRING","devices":{"$ref":"#/Ad/device_preference"},"campaigns":"STRING","advertising_channel_types":{"UNSPECIFIED":0,"UNKNOWN":1,"SEARCH":2,"DISPLAY":3,"SHOPPING":4,"HOTEL":5,"VIDEO":6,"MULTI_CHANNEL":7,"LOCAL":8,"SMART":9,"PERFORMANCE_MAX":10,"LOCAL_SERVICES":11,"TRAVEL":13,"DEMAND_GEN":14}},"bidding_data_exclusion":{"$ref":"#/BiddingDataExclusion"},"BiddingSeasonalityAdjustment":{"resource_name":"STRING","seasonality_adjustment_id":"INT64","scope":{"$ref":"#/BiddingDataExclusion/scope"},"status":{"$ref":"#/BiddingDataExclusion/status"},"start_date_time":"STRING","end_date_time":"STRING","name":"STRING","description":"STRING","devices":{"$ref":"#/Ad/device_preference"},"conversion_rate_modifier":"DOUBLE","campaigns":"STRING","advertising_channel_types":{"$ref":"#/BiddingDataExclusion/advertising_channel_types"}},"bidding_seasonality_adjustment":{"$ref":"#/BiddingSeasonalityAdjustment"},"BiddingStrategy":{"resource_name":"STRING","id":"INT64","name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":4},"type":{"$ref":"#/AccessibleBiddingStrategy/type"},"currency_code":"STRING","effective_currency_code":"STRING","aligned_campaign_budget_id":"INT64","campaign_count":"INT64","non_removed_campaign_count":"INT64","enhanced_cpc":{},"maximize_conversion_value":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversion_value"},"maximize_conversions":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversions"},"target_cpa":{"$ref":"#/AccessibleBiddingStrategy/target_cpa"},"target_impression_share":{"$ref":"#/AccessibleBiddingStrategy/target_impression_share"},"target_roas":{"$ref":"#/AccessibleBiddingStrategy/target_roas"},"target_spend":{"$ref":"#/AccessibleBiddingStrategy/target_spend"}},"EnhancedCpc":{"$ref":"#/BiddingStrategy/enhanced_cpc"},"bidding_strategy":{"$ref":"#/BiddingStrategy"},"BiddingStrategySimulation":{"resource_name":"STRING","bidding_strategy_id":"INT64","type":{"$ref":"#/AdGroupCriterionSimulation/type"},"modification_method":{"$ref":"#/AdGroupCriterionSimulation/modification_method"},"start_date":"STRING","end_date":"STRING","target_cpa_point_list":{"$ref":"#/AdGroupSimulation/target_cpa_point_list"},"target_roas_point_list":{"$ref":"#/AdGroupSimulation/target_roas_point_list"}},"bidding_strategy_simulation":{"$ref":"#/BiddingStrategySimulation"},"BillingSetup":{"resource_name":"STRING","id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"APPROVED_HELD":3,"APPROVED":4,"CANCELLED":5},"payments_account":"STRING","payments_account_info":{"payments_account_id":"STRING","payments_account_name":"STRING","payments_profile_id":"STRING","payments_profile_name":"STRING","secondary_payments_profile_id":"STRING"},"start_date_time":"STRING","start_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"},"end_date_time":"STRING","end_time_type":{"$ref":"#/AccountBudget/pending_proposal/end_time_type"}},"PaymentsAccountInfo":{"$ref":"#/BillingSetup/payments_account_info"},"billing_setup":{"$ref":"#/BillingSetup"},"CallView":{"resource_name":"STRING","caller_country_code":"STRING","caller_area_code":"STRING","call_duration_seconds":"INT64","start_call_date_time":"STRING","end_call_date_time":"STRING","call_tracking_display_location":{"UNSPECIFIED":0,"UNKNOWN":1,"AD":2,"LANDING_PAGE":3},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"MANUALLY_DIALED":2,"HIGH_END_MOBILE_SEARCH":3},"call_status":{"UNSPECIFIED":0,"UNKNOWN":1,"MISSED":2,"RECEIVED":3}},"call_view":{"$ref":"#/CallView"},"Campaign":{"resource_name":"STRING","id":"INT64","name":"STRING","primary_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ELIGIBLE":2,"PAUSED":3,"REMOVED":4,"ENDED":5,"PENDING":6,"MISCONFIGURED":7,"LIMITED":8,"LEARNING":9,"NOT_ELIGIBLE":10},"primary_status_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_REMOVED":2,"CAMPAIGN_PAUSED":3,"CAMPAIGN_PENDING":4,"CAMPAIGN_ENDED":5,"CAMPAIGN_DRAFT":6,"BIDDING_STRATEGY_MISCONFIGURED":7,"BIDDING_STRATEGY_LIMITED":8,"BIDDING_STRATEGY_LEARNING":9,"BIDDING_STRATEGY_CONSTRAINED":10,"BUDGET_CONSTRAINED":11,"BUDGET_MISCONFIGURED":12,"SEARCH_VOLUME_LIMITED":13,"AD_GROUPS_PAUSED":14,"NO_AD_GROUPS":15,"KEYWORDS_PAUSED":16,"NO_KEYWORDS":17,"AD_GROUP_ADS_PAUSED":18,"NO_AD_GROUP_ADS":19,"HAS_ADS_LIMITED_BY_POLICY":20,"HAS_ADS_DISAPPROVED":21,"MOST_ADS_UNDER_REVIEW":22,"MISSING_LEAD_FORM_EXTENSION":23,"MISSING_CALL_EXTENSION":24,"LEAD_FORM_EXTENSION_UNDER_REVIEW":25,"LEAD_FORM_EXTENSION_DISAPPROVED":26,"CALL_EXTENSION_UNDER_REVIEW":27,"CALL_EXTENSION_DISAPPROVED":28,"NO_MOBILE_APPLICATION_AD_GROUP_CRITERIA":29,"CAMPAIGN_GROUP_PAUSED":30,"CAMPAIGN_GROUP_ALL_GROUP_BUDGETS_ENDED":31,"APP_NOT_RELEASED":32,"APP_PARTIALLY_RELEASED":33,"HAS_ASSET_GROUPS_DISAPPROVED":34,"HAS_ASSET_GROUPS_LIMITED_BY_POLICY":35,"MOST_ASSET_GROUPS_UNDER_REVIEW":36,"NO_ASSET_GROUPS":37,"ASSET_GROUPS_PAUSED":38},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"serving_status":{"UNSPECIFIED":0,"UNKNOWN":1,"SERVING":2,"NONE":3,"ENDED":4,"PENDING":5,"SUSPENDED":6},"bidding_strategy_system_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"LEARNING_NEW":3,"LEARNING_SETTING_CHANGE":4,"LEARNING_BUDGET_CHANGE":5,"LEARNING_COMPOSITION_CHANGE":6,"LEARNING_CONVERSION_TYPE_CHANGE":7,"LEARNING_CONVERSION_SETTING_CHANGE":8,"LIMITED_BY_CPC_BID_CEILING":9,"LIMITED_BY_CPC_BID_FLOOR":10,"LIMITED_BY_DATA":11,"LIMITED_BY_BUDGET":12,"LIMITED_BY_LOW_PRIORITY_SPEND":13,"LIMITED_BY_LOW_QUALITY":14,"LIMITED_BY_INVENTORY":15,"MISCONFIGURED_ZERO_ELIGIBILITY":16,"MISCONFIGURED_CONVERSION_TYPES":17,"MISCONFIGURED_CONVERSION_SETTINGS":18,"MISCONFIGURED_SHARED_BUDGET":19,"MISCONFIGURED_STRATEGY_TYPE":20,"PAUSED":21,"UNAVAILABLE":22,"MULTIPLE_LEARNING":23,"MULTIPLE_LIMITED":24,"MULTIPLE_MISCONFIGURED":25,"MULTIPLE":26},"ad_serving_optimization_status":{"UNSPECIFIED":0,"UNKNOWN":1,"OPTIMIZE":2,"CONVERSION_OPTIMIZE":3,"ROTATE":4,"ROTATE_INDEFINITELY":5,"UNAVAILABLE":6},"advertising_channel_type":{"$ref":"#/BiddingDataExclusion/advertising_channel_types"},"advertising_channel_sub_type":{"UNSPECIFIED":0,"UNKNOWN":1,"SEARCH_MOBILE_APP":2,"DISPLAY_MOBILE_APP":3,"SEARCH_EXPRESS":4,"DISPLAY_EXPRESS":5,"SHOPPING_SMART_ADS":6,"DISPLAY_GMAIL_AD":7,"DISPLAY_SMART_CAMPAIGN":8,"VIDEO_ACTION":10,"VIDEO_NON_SKIPPABLE":11,"APP_CAMPAIGN":12,"APP_CAMPAIGN_FOR_ENGAGEMENT":13,"LOCAL_CAMPAIGN":14,"SHOPPING_COMPARISON_LISTING_ADS":15,"SMART_CAMPAIGN":16,"VIDEO_SEQUENCE":17,"APP_CAMPAIGN_FOR_PRE_REGISTRATION":18,"VIDEO_REACH_TARGET_FREQUENCY":19,"TRAVEL_ACTIVITIES":20},"tracking_url_template":"STRING","url_custom_parameters":{"$ref":"#/Ad/url_custom_parameters"},"local_services_campaign_settings":{"category_bids":{"category_id":"STRING","manual_cpa_bid_micros":"INT64","target_cpa_bid_micros":"INT64"}},"travel_campaign_settings":{"travel_account_id":"INT64"},"demand_gen_campaign_settings":{"upgraded_targeting":"BOOL"},"video_campaign_settings":{"video_ad_inventory_control":{"allow_in_stream":"BOOL","allow_in_feed":"BOOL","allow_shorts":"BOOL"}},"real_time_bidding_setting":{"opt_in":"BOOL"},"network_settings":{"target_google_search":"BOOL","target_search_network":"BOOL","target_content_network":"BOOL","target_partner_search_network":"BOOL","target_youtube":"BOOL","target_google_tv_network":"BOOL"},"hotel_setting":{"hotel_center_id":"INT64"},"dynamic_search_ads_setting":{"domain_name":"STRING","language_code":"STRING","use_supplied_urls_only":"BOOL"},"shopping_setting":{"merchant_id":"INT64","feed_label":"STRING","campaign_priority":"INT32","enable_local":"BOOL","use_vehicle_inventory":"BOOL","advertising_partner_ids":"INT64","disable_product_feed":"BOOL"},"targeting_setting":{"$ref":"#/AdGroup/targeting_setting"},"audience_setting":{"$ref":"#/AdGroup/audience_setting"},"geo_target_type_setting":{"positive_geo_target_type":{"UNSPECIFIED":0,"UNKNOWN":1,"PRESENCE_OR_INTEREST":5,"SEARCH_INTEREST":6,"PRESENCE":7},"negative_geo_target_type":{"UNSPECIFIED":0,"UNKNOWN":1,"PRESENCE_OR_INTEREST":4,"PRESENCE":5}},"local_campaign_setting":{"location_source_type":{"UNSPECIFIED":0,"UNKNOWN":1,"GOOGLE_MY_BUSINESS":2,"AFFILIATE":3}},"app_campaign_setting":{"bidding_strategy_goal_type":{"UNSPECIFIED":0,"UNKNOWN":1,"OPTIMIZE_INSTALLS_TARGET_INSTALL_COST":2,"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST":3,"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST":4,"OPTIMIZE_RETURN_ON_ADVERTISING_SPEND":5,"OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME":6,"OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST":7},"app_id":"STRING","app_store":{"UNSPECIFIED":0,"UNKNOWN":1,"APPLE_APP_STORE":2,"GOOGLE_APP_STORE":3}},"labels":"STRING","experiment_type":{"UNSPECIFIED":0,"UNKNOWN":1,"BASE":2,"DRAFT":3,"EXPERIMENT":4},"base_campaign":"STRING","campaign_budget":"STRING","bidding_strategy_type":{"$ref":"#/AccessibleBiddingStrategy/type"},"accessible_bidding_strategy":"STRING","start_date":"STRING","campaign_group":"STRING","end_date":"STRING","final_url_suffix":"STRING","frequency_caps":{"key":{"level":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP_AD":2,"AD_GROUP":3,"CAMPAIGN":4},"event_type":{"UNSPECIFIED":0,"UNKNOWN":1,"IMPRESSION":2,"VIDEO_VIEW":3},"time_unit":{"UNSPECIFIED":0,"UNKNOWN":1,"DAY":2,"WEEK":3,"MONTH":4},"time_length":"INT32"},"cap":"INT32"},"video_brand_safety_suitability":{"UNSPECIFIED":0,"UNKNOWN":1,"EXPANDED_INVENTORY":2,"STANDARD_INVENTORY":3,"LIMITED_INVENTORY":4},"vanity_pharma":{"vanity_pharma_display_url_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"MANUFACTURER_WEBSITE_URL":2,"WEBSITE_DESCRIPTION":3},"vanity_pharma_text":{"UNSPECIFIED":0,"UNKNOWN":1,"PRESCRIPTION_TREATMENT_WEBSITE_EN":2,"PRESCRIPTION_TREATMENT_WEBSITE_ES":3,"PRESCRIPTION_DEVICE_WEBSITE_EN":4,"PRESCRIPTION_DEVICE_WEBSITE_ES":5,"MEDICAL_DEVICE_WEBSITE_EN":6,"MEDICAL_DEVICE_WEBSITE_ES":7,"PREVENTATIVE_TREATMENT_WEBSITE_EN":8,"PREVENTATIVE_TREATMENT_WEBSITE_ES":9,"PRESCRIPTION_CONTRACEPTION_WEBSITE_EN":10,"PRESCRIPTION_CONTRACEPTION_WEBSITE_ES":11,"PRESCRIPTION_VACCINE_WEBSITE_EN":12,"PRESCRIPTION_VACCINE_WEBSITE_ES":13}},"selective_optimization":{"conversion_actions":"STRING"},"optimization_goal_setting":{"optimization_goal_types":{"UNSPECIFIED":0,"UNKNOWN":1,"CALL_CLICKS":2,"DRIVING_DIRECTIONS":3,"APP_PRE_REGISTRATION":4}},"tracking_setting":{"tracking_url":"STRING"},"payment_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"CLICKS":4,"CONVERSION_VALUE":5,"CONVERSIONS":6,"GUEST_STAY":7},"optimization_score":"DOUBLE","excluded_parent_asset_field_types":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"excluded_parent_asset_set_types":{"$ref":"#/AdGroup/excluded_parent_asset_set_types"},"url_expansion_opt_out":"BOOL","performance_max_upgrade":{"performance_max_campaign":"STRING","pre_upgrade_campaign":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"UPGRADE_IN_PROGRESS":3,"UPGRADE_COMPLETE":4,"UPGRADE_FAILED":5,"UPGRADE_ELIGIBLE":6}},"hotel_property_asset_set":"STRING","listing_type":{"UNSPECIFIED":0,"UNKNOWN":1,"VEHICLES":2},"asset_automation_settings":{"asset_automation_type":{"$ref":"#/AdGroupAd/ad_group_ad_asset_automation_settings/asset_automation_type"},"asset_automation_status":{"$ref":"#/AdGroupAd/ad_group_ad_asset_automation_settings/asset_automation_status"}},"keyword_match_type":{"UNSPECIFIED":0,"UNKNOWN":1,"BROAD":2},"brand_guidelines_enabled":"BOOL","brand_guidelines":{"main_color":"STRING","accent_color":"STRING","predefined_font_family":"STRING"},"bidding_strategy":"STRING","commission":{"commission_rate_micros":"INT64"},"manual_cpa":{},"manual_cpc":{"enhanced_cpc_enabled":"BOOL"},"manual_cpm":{},"manual_cpv":{},"maximize_conversions":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversions"},"maximize_conversion_value":{"$ref":"#/AccessibleBiddingStrategy/maximize_conversion_value"},"target_cpa":{"$ref":"#/AccessibleBiddingStrategy/target_cpa"},"target_impression_share":{"$ref":"#/AccessibleBiddingStrategy/target_impression_share"},"target_roas":{"$ref":"#/AccessibleBiddingStrategy/target_roas"},"target_spend":{"$ref":"#/AccessibleBiddingStrategy/target_spend"},"percent_cpc":{"cpc_bid_ceiling_micros":"INT64","enhanced_cpc_enabled":"BOOL"},"target_cpm":{"target_frequency_goal":{"target_count":"INT64","time_unit":{"UNSPECIFIED":0,"UNKNOWN":1,"WEEKLY":2}}},"fixed_cpm":{"goal":{"UNSPECIFIED":0,"UNKNOWN":1,"REACH":2,"TARGET_FREQUENCY":3},"target_frequency_info":{"target_count":"INT64","time_unit":{"UNSPECIFIED":0,"UNKNOWN":1,"MONTHLY":2}}},"target_cpv":{}},"LocalServicesCampaignSettings":{"$ref":"#/Campaign/local_services_campaign_settings"},"CategoryBid":{"$ref":"#/Campaign/local_services_campaign_settings/category_bids"},"TravelCampaignSettings":{"$ref":"#/Campaign/travel_campaign_settings"},"DemandGenCampaignSettings":{"$ref":"#/Campaign/demand_gen_campaign_settings"},"VideoCampaignSettings":{"$ref":"#/Campaign/video_campaign_settings"},"VideoAdInventoryControl":{"$ref":"#/Campaign/video_campaign_settings/video_ad_inventory_control"},"RealTimeBiddingSetting":{"$ref":"#/Campaign/real_time_bidding_setting"},"NetworkSettings":{"$ref":"#/Campaign/network_settings"},"HotelSettingInfo":{"$ref":"#/Campaign/hotel_setting"},"DynamicSearchAdsSetting":{"$ref":"#/Campaign/dynamic_search_ads_setting"},"ShoppingSetting":{"$ref":"#/Campaign/shopping_setting"},"GeoTargetTypeSetting":{"$ref":"#/Campaign/geo_target_type_setting"},"LocalCampaignSetting":{"$ref":"#/Campaign/local_campaign_setting"},"AppCampaignSetting":{"$ref":"#/Campaign/app_campaign_setting"},"FrequencyCapEntry":{"$ref":"#/Campaign/frequency_caps"},"FrequencyCapKey":{"$ref":"#/Campaign/frequency_caps/key"},"VanityPharma":{"$ref":"#/Campaign/vanity_pharma"},"SelectiveOptimization":{"$ref":"#/Campaign/selective_optimization"},"OptimizationGoalSetting":{"$ref":"#/Campaign/optimization_goal_setting"},"TrackingSetting":{"$ref":"#/Campaign/tracking_setting"},"PerformanceMaxUpgrade":{"$ref":"#/Campaign/performance_max_upgrade"},"AssetAutomationSetting":{"$ref":"#/Campaign/asset_automation_settings"},"BrandGuidelines":{"$ref":"#/Campaign/brand_guidelines"},"Commission":{"$ref":"#/Campaign/commission"},"ManualCpa":{"$ref":"#/Campaign/manual_cpa"},"ManualCpc":{"$ref":"#/Campaign/manual_cpc"},"ManualCpm":{"$ref":"#/Campaign/manual_cpm"},"ManualCpv":{"$ref":"#/Campaign/manual_cpv"},"PercentCpc":{"$ref":"#/Campaign/percent_cpc"},"TargetCpm":{"$ref":"#/Campaign/target_cpm"},"TargetCpmTargetFrequencyGoal":{"$ref":"#/Campaign/target_cpm/target_frequency_goal"},"FixedCpm":{"$ref":"#/Campaign/fixed_cpm"},"FixedCpmTargetFrequencyGoalInfo":{"$ref":"#/Campaign/fixed_cpm/target_frequency_info"},"TargetCpv":{"$ref":"#/Campaign/target_cpv"},"campaign":{"$ref":"#/Campaign"},"CampaignAggregateAssetView":{"resource_name":"STRING","campaign":"STRING","asset":"STRING","asset_source":{"$ref":"#/AdGroupAdAssetView/source"},"field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"}},"campaign_aggregate_asset_view":{"$ref":"#/CampaignAggregateAssetView"},"CampaignAsset":{"resource_name":"STRING","campaign":"STRING","asset":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"source":{"$ref":"#/AdGroupAdAssetView/source"},"status":{"$ref":"#/AdGroupAsset/status"},"primary_status":{"$ref":"#/AdGroupAsset/primary_status"},"primary_status_details":{"$ref":"#/AdGroupAsset/primary_status_details"},"primary_status_reasons":{"$ref":"#/AdGroupAsset/primary_status_details/reason"}},"campaign_asset":{"$ref":"#/CampaignAsset"},"CampaignAssetSet":{"resource_name":"STRING","campaign":"STRING","asset_set":"STRING","status":{"$ref":"#/AdGroupAssetSet/status"}},"campaign_asset_set":{"$ref":"#/CampaignAssetSet"},"CampaignAudienceView":{"resource_name":"STRING"},"campaign_audience_view":{"$ref":"#/CampaignAudienceView"},"CampaignBidModifier":{"resource_name":"STRING","campaign":"STRING","criterion_id":"INT64","bid_modifier":"DOUBLE","interaction_type":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"CALLS":8000}}},"InteractionTypeInfo":{"$ref":"#/CampaignBidModifier/interaction_type"},"campaign_bid_modifier":{"$ref":"#/CampaignBidModifier"},"CampaignBudget":{"resource_name":"STRING","id":"INT64","name":"STRING","amount_micros":"INT64","total_amount_micros":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"delivery_method":{"UNSPECIFIED":0,"UNKNOWN":1,"STANDARD":2,"ACCELERATED":3},"explicitly_shared":"BOOL","reference_count":"INT64","has_recommended_budget":"BOOL","recommended_budget_amount_micros":"INT64","period":{"UNSPECIFIED":0,"UNKNOWN":1,"DAILY":2,"CUSTOM_PERIOD":5},"recommended_budget_estimated_change_weekly_clicks":"INT64","recommended_budget_estimated_change_weekly_cost_micros":"INT64","recommended_budget_estimated_change_weekly_interactions":"INT64","recommended_budget_estimated_change_weekly_views":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"STANDARD":2,"FIXED_CPA":4,"SMART_CAMPAIGN":5,"LOCAL_SERVICES":6},"aligned_bidding_strategy_id":"INT64"},"campaign_budget":{"$ref":"#/CampaignBudget"},"CampaignConversionGoal":{"resource_name":"STRING","campaign":"STRING","category":{"UNSPECIFIED":0,"UNKNOWN":1,"DEFAULT":2,"PAGE_VIEW":3,"PURCHASE":4,"SIGNUP":5,"DOWNLOAD":7,"ADD_TO_CART":8,"BEGIN_CHECKOUT":9,"SUBSCRIBE_PAID":10,"PHONE_CALL_LEAD":11,"IMPORTED_LEAD":12,"SUBMIT_LEAD_FORM":13,"BOOK_APPOINTMENT":14,"REQUEST_QUOTE":15,"GET_DIRECTIONS":16,"OUTBOUND_CLICK":17,"CONTACT":18,"ENGAGEMENT":19,"STORE_VISIT":20,"STORE_SALE":21,"QUALIFIED_LEAD":22,"CONVERTED_LEAD":23},"origin":{"UNSPECIFIED":0,"UNKNOWN":1,"WEBSITE":2,"GOOGLE_HOSTED":3,"APP":4,"CALL_FROM_ADS":5,"STORE":6,"YOUTUBE_HOSTED":7},"biddable":"BOOL"},"campaign_conversion_goal":{"$ref":"#/CampaignConversionGoal"},"CampaignCriterion":{"resource_name":"STRING","campaign":"STRING","criterion_id":"INT64","display_name":"STRING","bid_modifier":"FLOAT","negative":"BOOL","type":{"$ref":"#/AdGroupCriterion/type"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3,"REMOVED":4},"keyword":{"$ref":"#/AdGroupCriterion/keyword"},"placement":{"$ref":"#/AdGroupCriterion/placement"},"mobile_app_category":{"$ref":"#/AdGroupCriterion/mobile_app_category"},"mobile_application":{"$ref":"#/AdGroupCriterion/mobile_application"},"location":{"$ref":"#/AdGroupCriterion/location"},"device":{"$ref":"#/AdGroupBidModifier/device"},"ad_schedule":{"$ref":"#/Asset/promotion_asset/ad_schedule_targets"},"age_range":{"$ref":"#/AdGroupCriterion/age_range"},"gender":{"$ref":"#/AdGroupCriterion/gender"},"income_range":{"$ref":"#/AdGroupCriterion/income_range"},"parental_status":{"$ref":"#/AdGroupCriterion/parental_status"},"user_list":{"$ref":"#/AdGroupCriterion/user_list"},"youtube_video":{"$ref":"#/AdGroupCriterion/youtube_video"},"youtube_channel":{"$ref":"#/AdGroupCriterion/youtube_channel"},"proximity":{"geo_point":{"longitude_in_micro_degrees":"INT32","latitude_in_micro_degrees":"INT32"},"radius":"DOUBLE","radius_units":{"UNSPECIFIED":0,"UNKNOWN":1,"MILES":2,"KILOMETERS":3},"address":{"postal_code":"STRING","province_code":"STRING","country_code":"STRING","province_name":"STRING","street_address":"STRING","street_address2":"STRING","city_name":"STRING"}},"topic":{"$ref":"#/AdGroupCriterion/topic"},"listing_scope":{"dimensions":{"$ref":"#/AdGroupCriterion/listing_group/case_value"}},"language":{"$ref":"#/AdGroupCriterion/language"},"ip_block":{"ip_address":"STRING"},"content_label":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"SEXUALLY_SUGGESTIVE":2,"BELOW_THE_FOLD":3,"PARKED_DOMAIN":4,"JUVENILE":6,"PROFANITY":7,"TRAGEDY":8,"VIDEO":9,"VIDEO_RATING_DV_G":10,"VIDEO_RATING_DV_PG":11,"VIDEO_RATING_DV_T":12,"VIDEO_RATING_DV_MA":13,"VIDEO_NOT_YET_RATED":14,"EMBEDDED_VIDEO":15,"LIVE_STREAMING_VIDEO":16,"SOCIAL_ISSUES":17,"BRAND_SUITABILITY_CONTENT_FOR_FAMILIES":18,"BRAND_SUITABILITY_GAMES_FIGHTING":19,"BRAND_SUITABILITY_GAMES_MATURE":20,"BRAND_SUITABILITY_HEALTH_SENSITIVE":21,"BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED":22,"BRAND_SUITABILITY_NEWS_RECENT":23,"BRAND_SUITABILITY_NEWS_SENSITIVE":24,"BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED":25,"BRAND_SUITABILITY_POLITICS":26,"BRAND_SUITABILITY_RELIGION":27}},"carrier":{"carrier_constant":"STRING"},"user_interest":{"$ref":"#/AdGroupCriterion/user_interest"},"webpage":{"$ref":"#/AdGroupCriterion/webpage"},"operating_system_version":{"operating_system_version_constant":"STRING"},"mobile_device":{"mobile_device_constant":"STRING"},"location_group":{"geo_target_constants":"STRING","radius":"INT64","radius_units":{"UNSPECIFIED":0,"UNKNOWN":1,"METERS":2,"MILES":3,"MILLI_MILES":4},"feed_item_sets":"STRING","enable_customer_level_location_asset_set":"BOOL","location_group_asset_sets":"STRING"},"custom_affinity":{"$ref":"#/AdGroupCriterion/custom_affinity"},"custom_audience":{"$ref":"#/AdGroupCriterion/custom_audience"},"combined_audience":{"$ref":"#/AdGroupCriterion/combined_audience"},"keyword_theme":{"keyword_theme_constant":"STRING","free_form_keyword_theme":"STRING"},"local_service_id":{"service_id":"STRING"},"brand_list":{"shared_set":"STRING"}},"ProximityInfo":{"$ref":"#/CampaignCriterion/proximity"},"GeoPointInfo":{"$ref":"#/CampaignCriterion/proximity/geo_point"},"AddressInfo":{"$ref":"#/CampaignCriterion/proximity/address"},"ListingScopeInfo":{"$ref":"#/CampaignCriterion/listing_scope"},"IpBlockInfo":{"$ref":"#/CampaignCriterion/ip_block"},"ContentLabelInfo":{"$ref":"#/CampaignCriterion/content_label"},"CarrierInfo":{"$ref":"#/CampaignCriterion/carrier"},"OperatingSystemVersionInfo":{"$ref":"#/CampaignCriterion/operating_system_version"},"MobileDeviceInfo":{"$ref":"#/CampaignCriterion/mobile_device"},"LocationGroupInfo":{"$ref":"#/CampaignCriterion/location_group"},"KeywordThemeInfo":{"$ref":"#/CampaignCriterion/keyword_theme"},"LocalServiceIdInfo":{"$ref":"#/CampaignCriterion/local_service_id"},"BrandListInfo":{"$ref":"#/CampaignCriterion/brand_list"},"campaign_criterion":{"$ref":"#/CampaignCriterion"},"CampaignCustomizer":{"resource_name":"STRING","campaign":"STRING","customizer_attribute":"STRING","status":{"$ref":"#/AdGroupCriterionCustomizer/status"},"value":{"$ref":"#/AdGroupCriterionCustomizer/value"}},"campaign_customizer":{"$ref":"#/CampaignCustomizer"},"CampaignDraft":{"resource_name":"STRING","draft_id":"INT64","base_campaign":"STRING","name":"STRING","draft_campaign":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"PROPOSED":2,"REMOVED":3,"PROMOTING":5,"PROMOTED":4,"PROMOTE_FAILED":6},"has_experiment_running":"BOOL","long_running_operation":"STRING"},"campaign_draft":{"$ref":"#/CampaignDraft"},"CampaignGroup":{"resource_name":"STRING","id":"INT64","name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"campaign_group":{"$ref":"#/CampaignGroup"},"CampaignLabel":{"resource_name":"STRING","campaign":"STRING","label":"STRING"},"campaign_label":{"$ref":"#/CampaignLabel"},"CampaignLifecycleGoal":{"resource_name":"STRING","campaign":"STRING","customer_acquisition_goal_settings":{"optimization_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"TARGET_ALL_EQUALLY":2,"BID_HIGHER_FOR_NEW_CUSTOMER":3,"TARGET_NEW_CUSTOMER":4},"value_settings":{"value":"DOUBLE","high_lifetime_value":"DOUBLE"}}},"CustomerAcquisitionGoalSettings":{"$ref":"#/CampaignLifecycleGoal/customer_acquisition_goal_settings"},"LifecycleGoalValueSettings":{"$ref":"#/CampaignLifecycleGoal/customer_acquisition_goal_settings/value_settings"},"campaign_lifecycle_goal":{"$ref":"#/CampaignLifecycleGoal"},"CampaignSearchTermInsight":{"resource_name":"STRING","category_label":"STRING","id":"INT64","campaign_id":"INT64"},"campaign_search_term_insight":{"$ref":"#/CampaignSearchTermInsight"},"CampaignSharedSet":{"resource_name":"STRING","campaign":"STRING","shared_set":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"campaign_shared_set":{"$ref":"#/CampaignSharedSet"},"CampaignSimulation":{"resource_name":"STRING","campaign_id":"INT64","type":{"$ref":"#/AdGroupCriterionSimulation/type"},"modification_method":{"$ref":"#/AdGroupCriterionSimulation/modification_method"},"start_date":"STRING","end_date":"STRING","cpc_bid_point_list":{"$ref":"#/AdGroupCriterionSimulation/cpc_bid_point_list"},"target_cpa_point_list":{"$ref":"#/AdGroupSimulation/target_cpa_point_list"},"target_roas_point_list":{"$ref":"#/AdGroupSimulation/target_roas_point_list"},"target_impression_share_point_list":{"points":{"target_impression_share_micros":"INT64","required_cpc_bid_ceiling_micros":"INT64","required_budget_amount_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64","absolute_top_impressions":"INT64"}},"budget_point_list":{"points":{"budget_amount_micros":"INT64","required_cpc_bid_ceiling_micros":"INT64","biddable_conversions":"DOUBLE","biddable_conversions_value":"DOUBLE","clicks":"INT64","cost_micros":"INT64","impressions":"INT64","top_slot_impressions":"INT64","interactions":"INT64"}}},"TargetImpressionShareSimulationPointList":{"$ref":"#/CampaignSimulation/target_impression_share_point_list"},"TargetImpressionShareSimulationPoint":{"$ref":"#/CampaignSimulation/target_impression_share_point_list/points"},"BudgetSimulationPointList":{"$ref":"#/CampaignSimulation/budget_point_list"},"BudgetSimulationPoint":{"$ref":"#/CampaignSimulation/budget_point_list/points"},"campaign_simulation":{"$ref":"#/CampaignSimulation"},"CarrierConstant":{"resource_name":"STRING","id":"INT64","name":"STRING","country_code":"STRING"},"carrier_constant":{"$ref":"#/CarrierConstant"},"ChangeEvent":{"resource_name":"STRING","change_date_time":"STRING","change_resource_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AD":2,"AD_GROUP":3,"AD_GROUP_CRITERION":4,"CAMPAIGN":5,"CAMPAIGN_BUDGET":6,"AD_GROUP_BID_MODIFIER":7,"CAMPAIGN_CRITERION":8,"FEED":9,"FEED_ITEM":10,"CAMPAIGN_FEED":11,"AD_GROUP_FEED":12,"AD_GROUP_AD":13,"ASSET":14,"CUSTOMER_ASSET":15,"CAMPAIGN_ASSET":16,"AD_GROUP_ASSET":17,"ASSET_SET":18,"ASSET_SET_ASSET":19,"CAMPAIGN_ASSET_SET":20},"change_resource_name":"STRING","client_type":{"UNSPECIFIED":0,"UNKNOWN":1,"GOOGLE_ADS_WEB_CLIENT":2,"GOOGLE_ADS_AUTOMATED_RULE":3,"GOOGLE_ADS_SCRIPTS":4,"GOOGLE_ADS_BULK_UPLOAD":5,"GOOGLE_ADS_API":6,"GOOGLE_ADS_EDITOR":7,"GOOGLE_ADS_MOBILE_APP":8,"GOOGLE_ADS_RECOMMENDATIONS":9,"SEARCH_ADS_360_SYNC":10,"SEARCH_ADS_360_POST":11,"INTERNAL_TOOL":12,"OTHER":13,"GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION":14},"user_email":"STRING","old_resource":{"ad":{"$ref":"#/Ad"},"ad_group":{"$ref":"#/AdGroup"},"ad_group_criterion":{"$ref":"#/AdGroupCriterion"},"campaign":{"$ref":"#/Campaign"},"campaign_budget":{"$ref":"#/CampaignBudget"},"ad_group_bid_modifier":{"$ref":"#/AdGroupBidModifier"},"campaign_criterion":{"$ref":"#/CampaignCriterion"},"ad_group_ad":{"$ref":"#/AdGroupAd"},"asset":{"$ref":"#/Asset"},"customer_asset":{"resource_name":"STRING","asset":"STRING","field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"},"source":{"$ref":"#/AdGroupAdAssetView/source"},"status":{"$ref":"#/AdGroupAsset/status"},"primary_status":{"$ref":"#/AdGroupAsset/primary_status"},"primary_status_details":{"$ref":"#/AdGroupAsset/primary_status_details"},"primary_status_reasons":{"$ref":"#/AdGroupAsset/primary_status_details/reason"}},"campaign_asset":{"$ref":"#/CampaignAsset"},"ad_group_asset":{"$ref":"#/AdGroupAsset"},"asset_set":{"$ref":"#/AssetSet"},"asset_set_asset":{"$ref":"#/AssetSetAsset"},"campaign_asset_set":{"$ref":"#/CampaignAssetSet"}},"new_resource":{"$ref":"#/ChangeEvent/old_resource"},"resource_change_operation":{"UNSPECIFIED":0,"UNKNOWN":1,"CREATE":2,"UPDATE":3,"REMOVE":4},"changed_fields":{"paths":"STRING"},"campaign":"STRING","ad_group":"STRING","asset":"STRING"},"ChangedResource":{"$ref":"#/ChangeEvent/old_resource"},"CustomerAsset":{"$ref":"#/ChangeEvent/old_resource/customer_asset"},"FieldMask":{"$ref":"#/ChangeEvent/changed_fields"},"change_event":{"$ref":"#/ChangeEvent"},"ChangeStatus":{"resource_name":"STRING","last_change_date_time":"STRING","resource_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_GROUP":3,"AD_GROUP_AD":4,"AD_GROUP_CRITERION":5,"CAMPAIGN":6,"CAMPAIGN_CRITERION":7,"FEED":9,"FEED_ITEM":10,"AD_GROUP_FEED":11,"CAMPAIGN_FEED":12,"AD_GROUP_BID_MODIFIER":13,"SHARED_SET":14,"CAMPAIGN_SHARED_SET":15,"ASSET":16,"CUSTOMER_ASSET":17,"CAMPAIGN_ASSET":18,"AD_GROUP_ASSET":19,"COMBINED_AUDIENCE":20,"ASSET_GROUP":21},"campaign":"STRING","ad_group":"STRING","resource_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ADDED":2,"CHANGED":3,"REMOVED":4},"ad_group_ad":"STRING","ad_group_criterion":"STRING","campaign_criterion":"STRING","ad_group_bid_modifier":"STRING","shared_set":"STRING","campaign_shared_set":"STRING","asset":"STRING","customer_asset":"STRING","campaign_asset":"STRING","ad_group_asset":"STRING","combined_audience":"STRING","asset_group":"STRING"},"change_status":{"$ref":"#/ChangeStatus"},"ChannelAggregateAssetView":{"resource_name":"STRING","advertising_channel_type":{"$ref":"#/BiddingDataExclusion/advertising_channel_types"},"asset":"STRING","asset_source":{"$ref":"#/AdGroupAdAssetView/source"},"field_type":{"$ref":"#/AdGroup/excluded_parent_asset_field_types"}},"channel_aggregate_asset_view":{"$ref":"#/ChannelAggregateAssetView"},"ClickView":{"resource_name":"STRING","gclid":"STRING","area_of_interest":{"city":"STRING","country":"STRING","metro":"STRING","most_specific":"STRING","region":"STRING"},"location_of_presence":{"$ref":"#/ClickView/area_of_interest"},"page_number":"INT64","ad_group_ad":"STRING","campaign_location_target":"STRING","user_list":"STRING","keyword":"STRING","keyword_info":{"$ref":"#/AdGroupCriterion/keyword"}},"ClickLocation":{"$ref":"#/ClickView/area_of_interest"},"click_view":{"$ref":"#/ClickView"},"CombinedAudience":{"resource_name":"STRING","id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"name":"STRING","description":"STRING"},"combined_audience":{"$ref":"#/CombinedAudience"},"ContentCriterionView":{"resource_name":"STRING"},"content_criterion_view":{"$ref":"#/ContentCriterionView"},"ConversionAction":{"resource_name":"STRING","id":"INT64","name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"HIDDEN":4},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"AD_CALL":2,"CLICK_TO_CALL":3,"GOOGLE_PLAY_DOWNLOAD":4,"GOOGLE_PLAY_IN_APP_PURCHASE":5,"UPLOAD_CALLS":6,"UPLOAD_CLICKS":7,"WEBPAGE":8,"WEBSITE_CALL":9,"STORE_SALES_DIRECT_UPLOAD":10,"STORE_SALES":11,"FIREBASE_ANDROID_FIRST_OPEN":12,"FIREBASE_ANDROID_IN_APP_PURCHASE":13,"FIREBASE_ANDROID_CUSTOM":14,"FIREBASE_IOS_FIRST_OPEN":15,"FIREBASE_IOS_IN_APP_PURCHASE":16,"FIREBASE_IOS_CUSTOM":17,"THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN":18,"THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE":19,"THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM":20,"THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN":21,"THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE":22,"THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM":23,"ANDROID_APP_PRE_REGISTRATION":24,"ANDROID_INSTALLS_ALL_OTHER_APPS":25,"FLOODLIGHT_ACTION":26,"FLOODLIGHT_TRANSACTION":27,"GOOGLE_HOSTED":28,"LEAD_FORM_SUBMIT":29,"SALESFORCE":30,"SEARCH_ADS_360":31,"SMART_CAMPAIGN_AD_CLICKS_TO_CALL":32,"SMART_CAMPAIGN_MAP_CLICKS_TO_CALL":33,"SMART_CAMPAIGN_MAP_DIRECTIONS":34,"SMART_CAMPAIGN_TRACKED_CALLS":35,"STORE_VISITS":36,"WEBPAGE_CODELESS":37,"UNIVERSAL_ANALYTICS_GOAL":38,"UNIVERSAL_ANALYTICS_TRANSACTION":39,"GOOGLE_ANALYTICS_4_CUSTOM":40,"GOOGLE_ANALYTICS_4_PURCHASE":41},"origin":{"$ref":"#/CampaignConversionGoal/origin"},"primary_for_goal":"BOOL","category":{"$ref":"#/CampaignConversionGoal/category"},"owner_customer":"STRING","include_in_conversions_metric":"BOOL","click_through_lookback_window_days":"INT64","view_through_lookback_window_days":"INT64","value_settings":{"default_value":"DOUBLE","default_currency_code":"STRING","always_use_default_value":"BOOL"},"counting_type":{"UNSPECIFIED":0,"UNKNOWN":1,"ONE_PER_CLICK":2,"MANY_PER_CLICK":3},"attribution_model_settings":{"attribution_model":{"UNSPECIFIED":0,"UNKNOWN":1,"EXTERNAL":100,"GOOGLE_ADS_LAST_CLICK":101,"GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK":102,"GOOGLE_SEARCH_ATTRIBUTION_LINEAR":103,"GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY":104,"GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED":105,"GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN":106},"data_driven_model_status":{"UNSPECIFIED":0,"UNKNOWN":1,"AVAILABLE":2,"STALE":3,"EXPIRED":4,"NEVER_GENERATED":5}},"tag_snippets":{"type":{"UNSPECIFIED":0,"UNKNOWN":1,"WEBPAGE":2,"WEBPAGE_ONCLICK":3,"CLICK_TO_CALL":4,"WEBSITE_CALL":5},"page_format":{"UNSPECIFIED":0,"UNKNOWN":1,"HTML":2,"AMP":3},"global_site_tag":"STRING","event_snippet":"STRING"},"phone_call_duration_seconds":"INT64","app_id":"STRING","mobile_app_vendor":{"$ref":"#/AccountLink/third_party_app_analytics/app_vendor"},"firebase_settings":{"event_name":"STRING","project_id":"STRING","property_id":"INT64","property_name":"STRING"},"third_party_app_analytics_settings":{"event_name":"STRING","provider_name":"STRING"},"google_analytics_4_settings":{"event_name":"STRING","property_name":"STRING","property_id":"INT64"}},"ValueSettings":{"$ref":"#/ConversionAction/value_settings"},"AttributionModelSettings":{"$ref":"#/ConversionAction/attribution_model_settings"},"TagSnippet":{"$ref":"#/ConversionAction/tag_snippets"},"FirebaseSettings":{"$ref":"#/ConversionAction/firebase_settings"},"ThirdPartyAppAnalyticsSettings":{"$ref":"#/ConversionAction/third_party_app_analytics_settings"},"GoogleAnalytics4Settings":{"$ref":"#/ConversionAction/google_analytics_4_settings"},"conversion_action":{"$ref":"#/ConversionAction"},"ConversionCustomVariable":{"resource_name":"STRING","id":"INT64","name":"STRING","tag":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ACTIVATION_NEEDED":2,"ENABLED":3,"PAUSED":4},"owner_customer":"STRING"},"conversion_custom_variable":{"$ref":"#/ConversionCustomVariable"},"ConversionGoalCampaignConfig":{"resource_name":"STRING","campaign":"STRING","goal_config_level":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER":2,"CAMPAIGN":3},"custom_conversion_goal":"STRING"},"conversion_goal_campaign_config":{"$ref":"#/ConversionGoalCampaignConfig"},"ConversionValueRule":{"resource_name":"STRING","id":"INT64","action":{"operation":{"UNSPECIFIED":0,"UNKNOWN":1,"ADD":2,"MULTIPLY":3,"SET":4},"value":"DOUBLE"},"geo_location_condition":{"excluded_geo_target_constants":"STRING","excluded_geo_match_type":{"UNSPECIFIED":0,"UNKNOWN":1,"ANY":2,"LOCATION_OF_PRESENCE":3},"geo_target_constants":"STRING","geo_match_type":{"$ref":"#/ConversionValueRule/geo_location_condition/excluded_geo_match_type"}},"device_condition":{"device_types":{"UNSPECIFIED":0,"UNKNOWN":1,"MOBILE":2,"DESKTOP":3,"TABLET":4}},"audience_condition":{"user_lists":"STRING","user_interests":"STRING"},"itinerary_condition":{"advance_booking_window":{"min_days":"INT32","max_days":"INT32"},"travel_length":{"min_nights":"INT32","max_nights":"INT32"},"travel_start_day":{"monday":"BOOL","tuesday":"BOOL","wednesday":"BOOL","thursday":"BOOL","friday":"BOOL","saturday":"BOOL","sunday":"BOOL"}},"owner_customer":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"PAUSED":4}},"ValueRuleAction":{"$ref":"#/ConversionValueRule/action"},"ValueRuleGeoLocationCondition":{"$ref":"#/ConversionValueRule/geo_location_condition"},"ValueRuleDeviceCondition":{"$ref":"#/ConversionValueRule/device_condition"},"ValueRuleAudienceCondition":{"$ref":"#/ConversionValueRule/audience_condition"},"ValueRuleItineraryCondition":{"$ref":"#/ConversionValueRule/itinerary_condition"},"ValueRuleItineraryAdvanceBookingWindow":{"$ref":"#/ConversionValueRule/itinerary_condition/advance_booking_window"},"ValueRuleItineraryTravelLength":{"$ref":"#/ConversionValueRule/itinerary_condition/travel_length"},"ValueRuleItineraryTravelStartDay":{"$ref":"#/ConversionValueRule/itinerary_condition/travel_start_day"},"conversion_value_rule":{"$ref":"#/ConversionValueRule"},"ConversionValueRuleSet":{"resource_name":"STRING","id":"INT64","conversion_value_rules":"STRING","dimensions":{"UNSPECIFIED":0,"UNKNOWN":1,"GEO_LOCATION":2,"DEVICE":3,"AUDIENCE":4,"NO_CONDITION":5,"ITINERARY":6},"owner_customer":"STRING","attachment_type":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOMER":2,"CAMPAIGN":3},"campaign":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"PAUSED":4},"conversion_action_categories":{"$ref":"#/CampaignConversionGoal/category"}},"conversion_value_rule_set":{"$ref":"#/ConversionValueRuleSet"},"CurrencyConstant":{"resource_name":"STRING","code":"STRING","name":"STRING","symbol":"STRING","billable_unit_micros":"INT64"},"currency_constant":{"$ref":"#/CurrencyConstant"},"CustomAudience":{"resource_name":"STRING","id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"AUTO":2,"INTEREST":3,"PURCHASE_INTENT":4,"SEARCH":5},"description":"STRING","members":{"member_type":{"UNSPECIFIED":0,"UNKNOWN":1,"KEYWORD":2,"URL":3,"PLACE_CATEGORY":4,"APP":5},"keyword":"STRING","url":"STRING","place_category":"INT64","app":"STRING"}},"CustomAudienceMember":{"$ref":"#/CustomAudience/members"},"custom_audience":{"$ref":"#/CustomAudience"},"CustomConversionGoal":{"resource_name":"STRING","id":"INT64","name":"STRING","conversion_actions":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"custom_conversion_goal":{"$ref":"#/CustomConversionGoal"},"CustomInterest":{"resource_name":"STRING","id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"CUSTOM_AFFINITY":2,"CUSTOM_INTENT":3},"description":"STRING","members":{"member_type":{"UNSPECIFIED":0,"UNKNOWN":1,"KEYWORD":2,"URL":3},"parameter":"STRING"}},"CustomInterestMember":{"$ref":"#/CustomInterest/members"},"custom_interest":{"$ref":"#/CustomInterest"},"Customer":{"resource_name":"STRING","id":"INT64","descriptive_name":"STRING","currency_code":"STRING","time_zone":"STRING","tracking_url_template":"STRING","final_url_suffix":"STRING","auto_tagging_enabled":"BOOL","has_partners_badge":"BOOL","manager":"BOOL","test_account":"BOOL","call_reporting_setting":{"call_reporting_enabled":"BOOL","call_conversion_reporting_enabled":"BOOL","call_conversion_action":"STRING"},"conversion_tracking_setting":{"conversion_tracking_id":"INT64","cross_account_conversion_tracking_id":"INT64","accepted_customer_data_terms":"BOOL","conversion_tracking_status":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_CONVERSION_TRACKED":2,"CONVERSION_TRACKING_MANAGED_BY_SELF":3,"CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER":4,"CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER":5},"enhanced_conversions_for_leads_enabled":"BOOL","google_ads_conversion_customer":"STRING"},"remarketing_setting":{"google_global_site_tag":"STRING"},"pay_per_conversion_eligibility_failure_reasons":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_ENOUGH_CONVERSIONS":2,"CONVERSION_LAG_TOO_HIGH":3,"HAS_CAMPAIGN_WITH_SHARED_BUDGET":4,"HAS_UPLOAD_CLICKS_CONVERSION":5,"AVERAGE_DAILY_SPEND_TOO_HIGH":6,"ANALYSIS_NOT_COMPLETE":7,"OTHER":8},"optimization_score":"DOUBLE","optimization_score_weight":"DOUBLE","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"CANCELED":3,"SUSPENDED":4,"CLOSED":5},"location_asset_auto_migration_done":"BOOL","image_asset_auto_migration_done":"BOOL","location_asset_auto_migration_done_date_time":"STRING","image_asset_auto_migration_done_date_time":"STRING","customer_agreement_setting":{"accepted_lead_form_terms":"BOOL"},"local_services_settings":{"granular_license_statuses":{"geo_criterion_id":"INT64","category_id":"STRING","verification_status":{"UNSPECIFIED":0,"UNKNOWN":1,"NEEDS_REVIEW":2,"FAILED":3,"PASSED":4,"NOT_APPLICABLE":5,"NO_SUBMISSION":6,"PARTIAL_SUBMISSION":7,"PENDING_ESCALATION":8}},"granular_insurance_statuses":{"geo_criterion_id":"INT64","category_id":"STRING","verification_status":{"$ref":"#/Customer/local_services_settings/granular_license_statuses/verification_status"}}},"video_brand_safety_suitability":{"$ref":"#/Campaign/video_brand_safety_suitability"}},"CallReportingSetting":{"$ref":"#/Customer/call_reporting_setting"},"ConversionTrackingSetting":{"$ref":"#/Customer/conversion_tracking_setting"},"RemarketingSetting":{"$ref":"#/Customer/remarketing_setting"},"CustomerAgreementSetting":{"$ref":"#/Customer/customer_agreement_setting"},"LocalServicesSettings":{"$ref":"#/Customer/local_services_settings"},"GranularLicenseStatus":{"$ref":"#/Customer/local_services_settings/granular_license_statuses"},"GranularInsuranceStatus":{"$ref":"#/Customer/local_services_settings/granular_insurance_statuses"},"customer":{"$ref":"#/Customer"},"customer_asset":{"$ref":"#/ChangeEvent/old_resource/customer_asset"},"CustomerAssetSet":{"resource_name":"STRING","asset_set":"STRING","customer":"STRING","status":{"$ref":"#/AdGroupAssetSet/status"}},"customer_asset_set":{"$ref":"#/CustomerAssetSet"},"CustomerClient":{"resource_name":"STRING","client_customer":"STRING","hidden":"BOOL","level":"INT64","time_zone":"STRING","test_account":"BOOL","manager":"BOOL","descriptive_name":"STRING","currency_code":"STRING","id":"INT64","applied_labels":"STRING","status":{"$ref":"#/Customer/status"}},"customer_client":{"$ref":"#/CustomerClient"},"CustomerClientLink":{"resource_name":"STRING","client_customer":"STRING","manager_link_id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ACTIVE":2,"INACTIVE":3,"PENDING":4,"REFUSED":5,"CANCELED":6},"hidden":"BOOL"},"customer_client_link":{"$ref":"#/CustomerClientLink"},"CustomerConversionGoal":{"resource_name":"STRING","category":{"$ref":"#/CampaignConversionGoal/category"},"origin":{"$ref":"#/CampaignConversionGoal/origin"},"biddable":"BOOL"},"customer_conversion_goal":{"$ref":"#/CustomerConversionGoal"},"CustomerCustomizer":{"resource_name":"STRING","customizer_attribute":"STRING","status":{"$ref":"#/AdGroupCriterionCustomizer/status"},"value":{"$ref":"#/AdGroupCriterionCustomizer/value"}},"customer_customizer":{"$ref":"#/CustomerCustomizer"},"CustomerLabel":{"resource_name":"STRING","customer":"STRING","label":"STRING"},"customer_label":{"$ref":"#/CustomerLabel"},"CustomerLifecycleGoal":{"resource_name":"STRING","customer_acquisition_goal_value_settings":{"$ref":"#/CampaignLifecycleGoal/customer_acquisition_goal_settings/value_settings"},"owner_customer":"STRING"},"customer_lifecycle_goal":{"$ref":"#/CustomerLifecycleGoal"},"CustomerManagerLink":{"resource_name":"STRING","manager_customer":"STRING","manager_link_id":"INT64","status":{"$ref":"#/CustomerClientLink/status"}},"customer_manager_link":{"$ref":"#/CustomerManagerLink"},"CustomerNegativeCriterion":{"resource_name":"STRING","id":"INT64","type":{"$ref":"#/AdGroupCriterion/type"},"content_label":{"$ref":"#/CampaignCriterion/content_label"},"mobile_application":{"$ref":"#/AdGroupCriterion/mobile_application"},"mobile_app_category":{"$ref":"#/AdGroupCriterion/mobile_app_category"},"placement":{"$ref":"#/AdGroupCriterion/placement"},"youtube_video":{"$ref":"#/AdGroupCriterion/youtube_video"},"youtube_channel":{"$ref":"#/AdGroupCriterion/youtube_channel"},"negative_keyword_list":{"shared_set":"STRING"},"ip_block":{"$ref":"#/CampaignCriterion/ip_block"}},"NegativeKeywordListInfo":{"$ref":"#/CustomerNegativeCriterion/negative_keyword_list"},"customer_negative_criterion":{"$ref":"#/CustomerNegativeCriterion"},"CustomerSearchTermInsight":{"resource_name":"STRING","category_label":"STRING","id":"INT64"},"customer_search_term_insight":{"$ref":"#/CustomerSearchTermInsight"},"CustomerUserAccess":{"resource_name":"STRING","user_id":"INT64","email_address":"STRING","access_role":{"UNSPECIFIED":0,"UNKNOWN":1,"ADMIN":2,"STANDARD":3,"READ_ONLY":4,"EMAIL_ONLY":5},"access_creation_date_time":"STRING","inviter_user_email_address":"STRING"},"customer_user_access":{"$ref":"#/CustomerUserAccess"},"CustomerUserAccessInvitation":{"resource_name":"STRING","invitation_id":"INT64","access_role":{"$ref":"#/CustomerUserAccess/access_role"},"email_address":"STRING","creation_date_time":"STRING","invitation_status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"DECLINED":3,"EXPIRED":4}},"customer_user_access_invitation":{"$ref":"#/CustomerUserAccessInvitation"},"CustomizerAttribute":{"resource_name":"STRING","id":"INT64","name":"STRING","type":{"$ref":"#/AdGroupCriterionCustomizer/value/type"},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3}},"customizer_attribute":{"$ref":"#/CustomizerAttribute"},"DataLink":{"resource_name":"STRING","product_link_id":"INT64","data_link_id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"VIDEO":2},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"REQUESTED":2,"PENDING_APPROVAL":3,"ENABLED":4,"DISABLED":5,"REVOKED":6,"REJECTED":7},"youtube_video":{"channel_id":"STRING","video_id":"STRING"}},"YoutubeVideoIdentifier":{"$ref":"#/DataLink/youtube_video"},"data_link":{"$ref":"#/DataLink"},"DetailPlacementView":{"resource_name":"STRING","placement":"STRING","display_name":"STRING","group_placement_target_url":"STRING","target_url":"STRING","placement_type":{"UNSPECIFIED":0,"UNKNOWN":1,"WEBSITE":2,"MOBILE_APP_CATEGORY":3,"MOBILE_APPLICATION":4,"YOUTUBE_VIDEO":5,"YOUTUBE_CHANNEL":6,"GOOGLE_PRODUCTS":7}},"detail_placement_view":{"$ref":"#/DetailPlacementView"},"DetailedDemographic":{"resource_name":"STRING","id":"INT64","name":"STRING","parent":"STRING","launched_to_all":"BOOL","availabilities":{"channel":{"availability_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"ALL_CHANNELS":2,"CHANNEL_TYPE_AND_ALL_SUBTYPES":3,"CHANNEL_TYPE_AND_SUBSET_SUBTYPES":4},"advertising_channel_type":{"$ref":"#/BiddingDataExclusion/advertising_channel_types"},"advertising_channel_sub_type":{"$ref":"#/Campaign/advertising_channel_sub_type"},"include_default_channel_sub_type":"BOOL"},"locale":{"availability_mode":{"UNSPECIFIED":0,"UNKNOWN":1,"ALL_LOCALES":2,"COUNTRY_AND_ALL_LANGUAGES":3,"LANGUAGE_AND_ALL_COUNTRIES":4,"COUNTRY_AND_LANGUAGE":5},"country_code":"STRING","language_code":"STRING"}}},"CriterionCategoryAvailability":{"$ref":"#/DetailedDemographic/availabilities"},"CriterionCategoryChannelAvailability":{"$ref":"#/DetailedDemographic/availabilities/channel"},"CriterionCategoryLocaleAvailability":{"$ref":"#/DetailedDemographic/availabilities/locale"},"detailed_demographic":{"$ref":"#/DetailedDemographic"},"DisplayKeywordView":{"resource_name":"STRING"},"display_keyword_view":{"$ref":"#/DisplayKeywordView"},"DistanceView":{"resource_name":"STRING","distance_bucket":{"UNSPECIFIED":0,"UNKNOWN":1,"WITHIN_700M":2,"WITHIN_1KM":3,"WITHIN_5KM":4,"WITHIN_10KM":5,"WITHIN_15KM":6,"WITHIN_20KM":7,"WITHIN_25KM":8,"WITHIN_30KM":9,"WITHIN_35KM":10,"WITHIN_40KM":11,"WITHIN_45KM":12,"WITHIN_50KM":13,"WITHIN_55KM":14,"WITHIN_60KM":15,"WITHIN_65KM":16,"BEYOND_65KM":17,"WITHIN_0_7MILES":18,"WITHIN_1MILE":19,"WITHIN_5MILES":20,"WITHIN_10MILES":21,"WITHIN_15MILES":22,"WITHIN_20MILES":23,"WITHIN_25MILES":24,"WITHIN_30MILES":25,"WITHIN_35MILES":26,"WITHIN_40MILES":27,"BEYOND_40MILES":28},"metric_system":"BOOL"},"distance_view":{"$ref":"#/DistanceView"},"DomainCategory":{"resource_name":"STRING","campaign":"STRING","category":"STRING","language_code":"STRING","domain":"STRING","coverage_fraction":"DOUBLE","category_rank":"INT64","has_children":"BOOL","recommended_cpc_bid_micros":"INT64"},"domain_category":{"$ref":"#/DomainCategory"},"DynamicSearchAdsSearchTermView":{"resource_name":"STRING","search_term":"STRING","headline":"STRING","landing_page":"STRING","page_url":"STRING","has_negative_keyword":"BOOL","has_matching_keyword":"BOOL","has_negative_url":"BOOL"},"dynamic_search_ads_search_term_view":{"$ref":"#/DynamicSearchAdsSearchTermView"},"ExpandedLandingPageView":{"resource_name":"STRING","expanded_final_url":"STRING"},"expanded_landing_page_view":{"$ref":"#/ExpandedLandingPageView"},"Experiment":{"resource_name":"STRING","experiment_id":"INT64","name":"STRING","description":"STRING","suffix":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"DISPLAY_AND_VIDEO_360":2,"AD_VARIATION":3,"YOUTUBE_CUSTOM":5,"DISPLAY_CUSTOM":6,"SEARCH_CUSTOM":7,"DISPLAY_AUTOMATED_BIDDING_STRATEGY":8,"SEARCH_AUTOMATED_BIDDING_STRATEGY":9,"SHOPPING_AUTOMATED_BIDDING_STRATEGY":10,"SMART_MATCHING":11,"HOTEL_CUSTOM":12},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3,"HALTED":4,"PROMOTED":5,"SETUP":6,"INITIATED":7,"GRADUATED":8},"start_date":"STRING","end_date":"STRING","goals":{"metric":{"UNSPECIFIED":0,"UNKNOWN":1,"CLICKS":2,"IMPRESSIONS":3,"COST":4,"CONVERSIONS_PER_INTERACTION_RATE":5,"COST_PER_CONVERSION":6,"CONVERSIONS_VALUE_PER_COST":7,"AVERAGE_CPC":8,"CTR":9,"INCREMENTAL_CONVERSIONS":10,"COMPLETED_VIDEO_VIEWS":11,"CUSTOM_ALGORITHMS":12,"CONVERSIONS":13,"CONVERSION_VALUE":14},"direction":{"UNSPECIFIED":0,"UNKNOWN":1,"NO_CHANGE":2,"INCREASE":3,"DECREASE":4,"NO_CHANGE_OR_INCREASE":5,"NO_CHANGE_OR_DECREASE":6}},"long_running_operation":"STRING","promote_status":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_STARTED":2,"IN_PROGRESS":3,"COMPLETED":4,"FAILED":5,"COMPLETED_WITH_WARNING":6},"sync_enabled":"BOOL"},"MetricGoal":{"$ref":"#/Experiment/goals"},"experiment":{"$ref":"#/Experiment"},"ExperimentArm":{"resource_name":"STRING","experiment":"STRING","name":"STRING","control":"BOOL","traffic_split":"INT64","campaigns":"STRING","in_design_campaigns":"STRING"},"experiment_arm":{"$ref":"#/ExperimentArm"},"GenderView":{"resource_name":"STRING"},"gender_view":{"$ref":"#/GenderView"},"GeoTargetConstant":{"resource_name":"STRING","id":"INT64","name":"STRING","country_code":"STRING","target_type":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVAL_PLANNED":3},"canonical_name":"STRING","parent_geo_target":"STRING"},"geo_target_constant":{"$ref":"#/GeoTargetConstant"},"GeographicView":{"resource_name":"STRING","location_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AREA_OF_INTEREST":2,"LOCATION_OF_PRESENCE":3},"country_criterion_id":"INT64"},"geographic_view":{"$ref":"#/GeographicView"},"GroupPlacementView":{"resource_name":"STRING","placement":"STRING","display_name":"STRING","target_url":"STRING","placement_type":{"$ref":"#/DetailPlacementView/placement_type"}},"group_placement_view":{"$ref":"#/GroupPlacementView"},"HotelGroupView":{"resource_name":"STRING"},"hotel_group_view":{"$ref":"#/HotelGroupView"},"HotelPerformanceView":{"resource_name":"STRING"},"hotel_performance_view":{"$ref":"#/HotelPerformanceView"},"HotelReconciliation":{"resource_name":"STRING","commission_id":"STRING","order_id":"STRING","campaign":"STRING","hotel_center_id":"INT64","hotel_id":"STRING","check_in_date":"STRING","check_out_date":"STRING","reconciled_value_micros":"INT64","billed":"BOOL","status":{"UNSPECIFIED":0,"UNKNOWN":1,"RESERVATION_ENABLED":2,"RECONCILIATION_NEEDED":3,"RECONCILED":4,"CANCELED":5}},"hotel_reconciliation":{"$ref":"#/HotelReconciliation"},"IncomeRangeView":{"resource_name":"STRING"},"income_range_view":{"$ref":"#/IncomeRangeView"},"KeywordPlan":{"resource_name":"STRING","id":"INT64","name":"STRING","forecast_period":{"date_interval":{"UNSPECIFIED":0,"UNKNOWN":1,"NEXT_WEEK":3,"NEXT_MONTH":4,"NEXT_QUARTER":5},"date_range":{"start_date":"STRING","end_date":"STRING"}}},"KeywordPlanForecastPeriod":{"$ref":"#/KeywordPlan/forecast_period"},"DateRange":{"$ref":"#/KeywordPlan/forecast_period/date_range"},"keyword_plan":{"$ref":"#/KeywordPlan"},"KeywordPlanAdGroup":{"resource_name":"STRING","keyword_plan_campaign":"STRING","id":"INT64","name":"STRING","cpc_bid_micros":"INT64"},"keyword_plan_ad_group":{"$ref":"#/KeywordPlanAdGroup"},"KeywordPlanAdGroupKeyword":{"resource_name":"STRING","keyword_plan_ad_group":"STRING","id":"INT64","text":"STRING","match_type":{"$ref":"#/AdGroupCriterion/keyword/match_type"},"cpc_bid_micros":"INT64","negative":"BOOL"},"keyword_plan_ad_group_keyword":{"$ref":"#/KeywordPlanAdGroupKeyword"},"KeywordPlanCampaign":{"resource_name":"STRING","keyword_plan":"STRING","id":"INT64","name":"STRING","language_constants":"STRING","keyword_plan_network":{"UNSPECIFIED":0,"UNKNOWN":1,"GOOGLE_SEARCH":2,"GOOGLE_SEARCH_AND_PARTNERS":3},"cpc_bid_micros":"INT64","geo_targets":{"geo_target_constant":"STRING"}},"KeywordPlanGeoTarget":{"$ref":"#/KeywordPlanCampaign/geo_targets"},"keyword_plan_campaign":{"$ref":"#/KeywordPlanCampaign"},"KeywordPlanCampaignKeyword":{"resource_name":"STRING","keyword_plan_campaign":"STRING","id":"INT64","text":"STRING","match_type":{"$ref":"#/AdGroupCriterion/keyword/match_type"},"negative":"BOOL"},"keyword_plan_campaign_keyword":{"$ref":"#/KeywordPlanCampaignKeyword"},"KeywordThemeConstant":{"resource_name":"STRING","country_code":"STRING","language_code":"STRING","display_name":"STRING"},"keyword_theme_constant":{"$ref":"#/KeywordThemeConstant"},"KeywordView":{"resource_name":"STRING"},"keyword_view":{"$ref":"#/KeywordView"},"Label":{"resource_name":"STRING","id":"INT64","name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"text_label":{"background_color":"STRING","description":"STRING"}},"TextLabel":{"$ref":"#/Label/text_label"},"label":{"$ref":"#/Label"},"LandingPageView":{"resource_name":"STRING","unexpanded_final_url":"STRING"},"landing_page_view":{"$ref":"#/LandingPageView"},"LanguageConstant":{"resource_name":"STRING","id":"INT64","code":"STRING","name":"STRING","targetable":"BOOL"},"language_constant":{"$ref":"#/LanguageConstant"},"LeadFormSubmissionData":{"resource_name":"STRING","id":"STRING","asset":"STRING","campaign":"STRING","lead_form_submission_fields":{"field_type":{"$ref":"#/Asset/lead_form_asset/fields/input_type"},"field_value":"STRING"},"custom_lead_form_submission_fields":{"question_text":"STRING","field_value":"STRING"},"ad_group":"STRING","ad_group_ad":"STRING","gclid":"STRING","submission_date_time":"STRING"},"LeadFormSubmissionField":{"$ref":"#/LeadFormSubmissionData/lead_form_submission_fields"},"CustomLeadFormSubmissionField":{"$ref":"#/LeadFormSubmissionData/custom_lead_form_submission_fields"},"lead_form_submission_data":{"$ref":"#/LeadFormSubmissionData"},"LifeEvent":{"resource_name":"STRING","id":"INT64","name":"STRING","parent":"STRING","launched_to_all":"BOOL","availabilities":{"$ref":"#/DetailedDemographic/availabilities"}},"life_event":{"$ref":"#/LifeEvent"},"LocalServicesEmployee":{"resource_name":"STRING","id":"INT64","creation_date_time":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"BUSINESS_OWNER":2,"EMPLOYEE":3},"university_degrees":{"institution_name":"STRING","degree":"STRING","graduation_year":"INT32"},"residencies":{"institution_name":"STRING","completion_year":"INT32"},"fellowships":{"institution_name":"STRING","completion_year":"INT32"},"job_title":"STRING","year_started_practicing":"INT32","languages_spoken":"STRING","category_ids":"STRING","national_provider_id_number":"STRING","email_address":"STRING","first_name":"STRING","middle_name":"STRING","last_name":"STRING"},"UniversityDegree":{"$ref":"#/LocalServicesEmployee/university_degrees"},"Residency":{"$ref":"#/LocalServicesEmployee/residencies"},"Fellowship":{"$ref":"#/LocalServicesEmployee/fellowships"},"local_services_employee":{"$ref":"#/LocalServicesEmployee"},"LocalServicesLead":{"resource_name":"STRING","id":"INT64","category_id":"STRING","service_id":"STRING","contact_details":{"phone_number":"STRING","email":"STRING","consumer_name":"STRING"},"lead_type":{"UNSPECIFIED":0,"UNKNOWN":1,"MESSAGE":2,"PHONE_CALL":3,"BOOKING":4},"lead_status":{"UNSPECIFIED":0,"UNKNOWN":1,"NEW":2,"ACTIVE":3,"BOOKED":4,"DECLINED":5,"EXPIRED":6,"DISABLED":7,"CONSUMER_DECLINED":8,"WIPED_OUT":9},"creation_date_time":"STRING","locale":"STRING","note":{"edit_date_time":"STRING","description":"STRING"},"lead_charged":"BOOL","credit_details":{"credit_state":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"CREDITED":3},"credit_state_last_update_date_time":"STRING"}},"ContactDetails":{"$ref":"#/LocalServicesLead/contact_details"},"Note":{"$ref":"#/LocalServicesLead/note"},"CreditDetails":{"$ref":"#/LocalServicesLead/credit_details"},"local_services_lead":{"$ref":"#/LocalServicesLead"},"LocalServicesLeadConversation":{"resource_name":"STRING","id":"INT64","conversation_channel":{"UNSPECIFIED":0,"UNKNOWN":1,"EMAIL":2,"MESSAGE":3,"PHONE_CALL":4,"SMS":5,"BOOKING":6,"WHATSAPP":7,"ADS_API":8},"participant_type":{"UNSPECIFIED":0,"UNKNOWN":1,"ADVERTISER":2,"CONSUMER":3},"lead":"STRING","event_date_time":"STRING","phone_call_details":{"call_duration_millis":"INT64","call_recording_url":"STRING"},"message_details":{"text":"STRING","attachment_urls":"STRING"}},"PhoneCallDetails":{"$ref":"#/LocalServicesLeadConversation/phone_call_details"},"MessageDetails":{"$ref":"#/LocalServicesLeadConversation/message_details"},"local_services_lead_conversation":{"$ref":"#/LocalServicesLeadConversation"},"LocalServicesVerificationArtifact":{"resource_name":"STRING","id":"INT64","creation_date_time":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"PASSED":2,"FAILED":3,"PENDING":4,"NO_SUBMISSION":5,"CANCELLED":6},"artifact_type":{"UNSPECIFIED":0,"UNKNOWN":1,"BACKGROUND_CHECK":2,"INSURANCE":3,"LICENSE":4,"BUSINESS_REGISTRATION_CHECK":5},"background_check_verification_artifact":{"case_url":"STRING","final_adjudication_date_time":"STRING"},"insurance_verification_artifact":{"amount_micros":"INT64","rejection_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"BUSINESS_NAME_MISMATCH":2,"INSURANCE_AMOUNT_INSUFFICIENT":3,"EXPIRED":4,"NO_SIGNATURE":5,"NO_POLICY_NUMBER":6,"NO_COMMERCIAL_GENERAL_LIABILITY":7,"EDITABLE_FORMAT":8,"CATEGORY_MISMATCH":9,"MISSING_EXPIRATION_DATE":10,"POOR_QUALITY":11,"POTENTIALLY_EDITED":12,"WRONG_DOCUMENT_TYPE":13,"NON_FINAL":14,"OTHER":15},"insurance_document_readonly":{"document_url":"STRING"},"expiration_date_time":"STRING"},"license_verification_artifact":{"license_type":"STRING","license_number":"STRING","licensee_first_name":"STRING","licensee_last_name":"STRING","rejection_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"BUSINESS_NAME_MISMATCH":2,"UNAUTHORIZED":3,"EXPIRED":4,"POOR_QUALITY":5,"UNVERIFIABLE":6,"WRONG_DOCUMENT_OR_ID":7,"OTHER":8},"license_document_readonly":{"$ref":"#/LocalServicesVerificationArtifact/insurance_verification_artifact/insurance_document_readonly"},"expiration_date_time":"STRING"},"business_registration_check_verification_artifact":{"registration_type":{"UNSPECIFIED":0,"UNKNOWN":1,"NUMBER":2,"DOCUMENT":3},"check_id":"STRING","rejection_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"BUSINESS_NAME_MISMATCH":2,"BUSINESS_DETAILS_MISMATCH":3,"ID_NOT_FOUND":4,"POOR_DOCUMENT_IMAGE_QUALITY":5,"DOCUMENT_EXPIRED":6,"DOCUMENT_INVALID":7,"DOCUMENT_TYPE_MISMATCH":8,"DOCUMENT_UNVERIFIABLE":9,"OTHER":10},"registration_number":{"number":"STRING"},"registration_document":{"document_readonly":{"$ref":"#/LocalServicesVerificationArtifact/insurance_verification_artifact/insurance_document_readonly"}}}},"BackgroundCheckVerificationArtifact":{"$ref":"#/LocalServicesVerificationArtifact/background_check_verification_artifact"},"InsuranceVerificationArtifact":{"$ref":"#/LocalServicesVerificationArtifact/insurance_verification_artifact"},"LocalServicesDocumentReadOnly":{"$ref":"#/LocalServicesVerificationArtifact/insurance_verification_artifact/insurance_document_readonly"},"LicenseVerificationArtifact":{"$ref":"#/LocalServicesVerificationArtifact/license_verification_artifact"},"BusinessRegistrationCheckVerificationArtifact":{"$ref":"#/LocalServicesVerificationArtifact/business_registration_check_verification_artifact"},"BusinessRegistrationNumber":{"$ref":"#/LocalServicesVerificationArtifact/business_registration_check_verification_artifact/registration_number"},"BusinessRegistrationDocument":{"$ref":"#/LocalServicesVerificationArtifact/business_registration_check_verification_artifact/registration_document"},"local_services_verification_artifact":{"$ref":"#/LocalServicesVerificationArtifact"},"LocationView":{"resource_name":"STRING"},"location_view":{"$ref":"#/LocationView"},"ManagedPlacementView":{"resource_name":"STRING"},"managed_placement_view":{"$ref":"#/ManagedPlacementView"},"MediaFile":{"resource_name":"STRING","id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"IMAGE":2,"ICON":3,"MEDIA_BUNDLE":4,"AUDIO":5,"VIDEO":6,"DYNAMIC_IMAGE":7},"mime_type":{"$ref":"#/Ad/image_ad/mime_type"},"source_url":"STRING","name":"STRING","file_size":"INT64","image":{"data":"BYTES","full_size_image_url":"STRING","preview_size_image_url":"STRING"},"media_bundle":{"data":"BYTES","url":"STRING"},"audio":{"ad_duration_millis":"INT64"},"video":{"ad_duration_millis":"INT64","youtube_video_id":"STRING","advertising_id_code":"STRING","isci_code":"STRING"}},"MediaImage":{"$ref":"#/MediaFile/image"},"MediaBundle":{"$ref":"#/MediaFile/media_bundle"},"MediaAudio":{"$ref":"#/MediaFile/audio"},"MediaVideo":{"$ref":"#/MediaFile/video"},"media_file":{"$ref":"#/MediaFile"},"SearchVolumeRange":{"min":"INT64","max":"INT64"},"metrics":{"search_volume":{"$ref":"#/SearchVolumeRange"},"absolute_top_impression_percentage":"DOUBLE","active_view_cpm":"DOUBLE","active_view_ctr":"DOUBLE","active_view_impressions":"INT64","active_view_measurability":"DOUBLE","active_view_measurable_cost_micros":"INT64","active_view_measurable_impressions":"INT64","active_view_viewability":"DOUBLE","all_conversions":"DOUBLE","all_conversions_by_conversion_date":"DOUBLE","all_conversions_from_click_to_call":"DOUBLE","all_conversions_from_directions":"DOUBLE","all_conversions_from_interactions_rate":"DOUBLE","all_conversions_from_interactions_value_per_interaction":"DOUBLE","all_conversions_from_location_asset_click_to_call":"DOUBLE","all_conversions_from_location_asset_directions":"DOUBLE","all_conversions_from_location_asset_menu":"DOUBLE","all_conversions_from_location_asset_order":"DOUBLE","all_conversions_from_location_asset_other_engagement":"DOUBLE","all_conversions_from_location_asset_store_visits":"DOUBLE","all_conversions_from_location_asset_website":"DOUBLE","all_conversions_from_menu":"DOUBLE","all_conversions_from_order":"DOUBLE","all_conversions_from_other_engagement":"DOUBLE","all_conversions_from_store_visit":"DOUBLE","all_conversions_from_store_website":"DOUBLE","all_conversions_value":"DOUBLE","all_conversions_value_by_conversion_date":"DOUBLE","all_conversions_value_per_cost":"DOUBLE","all_new_customer_lifetime_value":"DOUBLE","asset_best_performance_cost_percentage":"DOUBLE","asset_best_performance_impression_percentage":"DOUBLE","asset_good_performance_cost_percentage":"DOUBLE","asset_good_performance_impression_percentage":"DOUBLE","asset_learning_performance_cost_percentage":"DOUBLE","asset_learning_performance_impression_percentage":"DOUBLE","asset_low_performance_cost_percentage":"DOUBLE","asset_low_performance_impression_percentage":"DOUBLE","asset_pinned_as_description_position_one_count":"INT64","asset_pinned_as_description_position_two_count":"INT64","asset_pinned_as_headline_position_one_count":"INT64","asset_pinned_as_headline_position_three_count":"INT64","asset_pinned_as_headline_position_two_count":"INT64","asset_pinned_total_count":"INT64","asset_unrated_performance_cost_percentage":"DOUBLE","asset_unrated_performance_impression_percentage":"DOUBLE","auction_insight_search_absolute_top_impression_percentage":"DOUBLE","auction_insight_search_impression_share":"DOUBLE","auction_insight_search_outranking_share":"DOUBLE","auction_insight_search_overlap_rate":"DOUBLE","auction_insight_search_position_above_rate":"DOUBLE","auction_insight_search_top_impression_percentage":"DOUBLE","average_cart_size":"DOUBLE","average_cost":"DOUBLE","average_cpc":"DOUBLE","average_cpe":"DOUBLE","average_cpm":"DOUBLE","average_cpv":"DOUBLE","average_impression_frequency_per_user":"DOUBLE","average_order_value_micros":"INT64","average_page_views":"DOUBLE","average_target_cpa_micros":"INT64","average_target_roas":"DOUBLE","average_time_on_site":"DOUBLE","benchmark_average_max_cpc":"DOUBLE","benchmark_ctr":"DOUBLE","biddable_app_install_conversions":"DOUBLE","biddable_app_post_install_conversions":"DOUBLE","bounce_rate":"DOUBLE","clicks":"INT64","combined_clicks":"INT64","combined_clicks_per_query":"DOUBLE","combined_queries":"INT64","content_budget_lost_impression_share":"DOUBLE","content_impression_share":"DOUBLE","content_rank_lost_impression_share":"DOUBLE","conversion_last_conversion_date":"DATE","conversion_last_received_request_date_time":"DATE","conversions":"DOUBLE","conversions_by_conversion_date":"DOUBLE","conversions_from_interactions_rate":"DOUBLE","conversions_from_interactions_value_per_interaction":"DOUBLE","conversions_value":"DOUBLE","conversions_value_by_conversion_date":"DOUBLE","conversions_value_per_cost":"DOUBLE","cost_micros":"INT64","cost_of_goods_sold_micros":"INT64","cost_per_all_conversions":"DOUBLE","cost_per_conversion":"DOUBLE","cost_per_current_model_attributed_conversion":"DOUBLE","cross_device_conversions":"DOUBLE","cross_device_conversions_value_micros":"INT64","cross_sell_cost_of_goods_sold_micros":"INT64","cross_sell_gross_profit_micros":"INT64","cross_sell_revenue_micros":"INT64","cross_sell_units_sold":"DOUBLE","ctr":"DOUBLE","current_model_attributed_conversions":"DOUBLE","current_model_attributed_conversions_from_interactions_rate":"DOUBLE","current_model_attributed_conversions_from_interactions_value_per_interaction":"DOUBLE","current_model_attributed_conversions_value":"DOUBLE","current_model_attributed_conversions_value_per_cost":"DOUBLE","eligible_impressions_from_location_asset_store_reach":"INT64","engagement_rate":"DOUBLE","engagements":"INT64","general_invalid_click_rate":"DOUBLE","general_invalid_clicks":"INT64","gmail_forwards":"INT64","gmail_saves":"INT64","gmail_secondary_clicks":"INT64","gross_profit_margin":"DOUBLE","gross_profit_micros":"INT64","historical_creative_quality_score":"ENUM","historical_landing_page_quality_score":"ENUM","historical_quality_score":"INT64","historical_search_predicted_ctr":"ENUM","hotel_average_lead_value_micros":"DOUBLE","hotel_commission_rate_micros":"INT64","hotel_eligible_impressions":"INT64","hotel_expected_commission_cost":"DOUBLE","hotel_price_difference_percentage":"DOUBLE","impressions":"INT64","impressions_from_store_reach":"INT64","interaction_event_types":"ENUM","interaction_rate":"DOUBLE","interactions":"INT64","invalid_click_rate":"DOUBLE","invalid_clicks":"INT64","lead_cost_of_goods_sold_micros":"INT64","lead_gross_profit_micros":"INT64","lead_revenue_micros":"INT64","lead_units_sold":"DOUBLE","linked_entities_count":"INT64","linked_sample_entities":"STRING","message_chat_rate":"DOUBLE","message_chats":"INT64","message_impressions":"INT64","mobile_friendly_clicks_percentage":"DOUBLE","new_customer_lifetime_value":"DOUBLE","optimization_score_uplift":"DOUBLE","optimization_score_url":"STRING","orders":"DOUBLE","organic_clicks":"INT64","organic_clicks_per_query":"DOUBLE","organic_impressions":"INT64","organic_impressions_per_query":"DOUBLE","organic_queries":"INT64","percent_new_visitors":"DOUBLE","phone_calls":"INT64","phone_impressions":"INT64","phone_through_rate":"DOUBLE","publisher_organic_clicks":"INT64","publisher_purchased_clicks":"INT64","publisher_unknown_clicks":"INT64","relative_ctr":"DOUBLE","results_conversions_purchase":"DOUBLE","revenue_micros":"INT64","sample_best_performance_entities":"STRING","sample_good_performance_entities":"STRING","sample_learning_performance_entities":"STRING","sample_low_performance_entities":"STRING","sample_unrated_performance_entities":"STRING","search_absolute_top_impression_share":"DOUBLE","search_budget_lost_absolute_top_impression_share":"DOUBLE","search_budget_lost_impression_share":"DOUBLE","search_budget_lost_top_impression_share":"DOUBLE","search_click_share":"DOUBLE","search_exact_match_impression_share":"DOUBLE","search_impression_share":"DOUBLE","search_rank_lost_absolute_top_impression_share":"DOUBLE","search_rank_lost_impression_share":"DOUBLE","search_rank_lost_top_impression_share":"DOUBLE","search_top_impression_share":"DOUBLE","sk_ad_network_installs":"INT64","sk_ad_network_total_conversions":"INT64","speed_score":"INT64","store_visits_last_click_model_attributed_conversions":"DOUBLE","top_impression_percentage":"DOUBLE","unique_users":"INT64","units_sold":"DOUBLE","valid_accelerated_mobile_pages_clicks_percentage":"DOUBLE","value_per_all_conversions":"DOUBLE","value_per_all_conversions_by_conversion_date":"DOUBLE","value_per_conversion":"DOUBLE","value_per_conversions_by_conversion_date":"DOUBLE","value_per_current_model_attributed_conversion":"DOUBLE","video_quartile_p100_rate":"DOUBLE","video_quartile_p25_rate":"DOUBLE","video_quartile_p50_rate":"DOUBLE","video_quartile_p75_rate":"DOUBLE","video_view_rate":"DOUBLE","video_view_rate_in_feed":"DOUBLE","video_view_rate_in_stream":"DOUBLE","video_view_rate_shorts":"DOUBLE","video_views":"INT64","view_through_conversions":"INT64","view_through_conversions_from_location_asset_click_to_call":"DOUBLE","view_through_conversions_from_location_asset_directions":"DOUBLE","view_through_conversions_from_location_asset_menu":"DOUBLE","view_through_conversions_from_location_asset_order":"DOUBLE","view_through_conversions_from_location_asset_other_engagement":"DOUBLE","view_through_conversions_from_location_asset_store_visits":"DOUBLE","view_through_conversions_from_location_asset_website":"DOUBLE"},"MobileAppCategoryConstant":{"resource_name":"STRING","id":"INT32","name":"STRING"},"mobile_app_category_constant":{"$ref":"#/MobileAppCategoryConstant"},"MobileDeviceConstant":{"resource_name":"STRING","id":"INT64","name":"STRING","manufacturer_name":"STRING","operating_system_name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"MOBILE":2,"TABLET":3}},"mobile_device_constant":{"$ref":"#/MobileDeviceConstant"},"OfflineConversionUploadClientSummary":{"resource_name":"STRING","client":{"UNSPECIFIED":0,"UNKNOWN":1,"GOOGLE_ADS_API":2,"GOOGLE_ADS_WEB_CLIENT":3,"ADS_DATA_CONNECTOR":4},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"EXCELLENT":2,"GOOD":3,"NEEDS_ATTENTION":4,"NO_RECENT_UPLOAD":6},"total_event_count":"INT64","successful_event_count":"INT64","success_rate":"DOUBLE","pending_event_count":"INT64","pending_rate":"DOUBLE","last_upload_date_time":"STRING","daily_summaries":{"successful_count":"INT64","failed_count":"INT64","pending_count":"INT64","job_id":"INT64","upload_date":"STRING"},"job_summaries":{"$ref":"#/OfflineConversionUploadClientSummary/daily_summaries"},"alerts":{"error":{"collection_size_error":{"$ref":"#/GoogleAdsError/error_code/collection_size_error"},"conversion_adjustment_upload_error":{"$ref":"#/GoogleAdsError/error_code/conversion_adjustment_upload_error"},"conversion_upload_error":{"$ref":"#/GoogleAdsError/error_code/conversion_upload_error"},"date_error":{"$ref":"#/GoogleAdsError/error_code/date_error"},"distinct_error":{"$ref":"#/GoogleAdsError/error_code/distinct_error"},"field_error":{"$ref":"#/GoogleAdsError/error_code/field_error"},"mutate_error":{"$ref":"#/GoogleAdsError/error_code/mutate_error"},"not_allowlisted_error":{"$ref":"#/GoogleAdsError/error_code/not_allowlisted_error"},"string_format_error":{"$ref":"#/GoogleAdsError/error_code/string_format_error"},"string_length_error":{"$ref":"#/GoogleAdsError/error_code/string_length_error"}},"error_percentage":"DOUBLE"}},"OfflineConversionSummary":{"$ref":"#/OfflineConversionUploadClientSummary/daily_summaries"},"OfflineConversionAlert":{"$ref":"#/OfflineConversionUploadClientSummary/alerts"},"OfflineConversionError":{"$ref":"#/OfflineConversionUploadClientSummary/alerts/error"},"offline_conversion_upload_client_summary":{"$ref":"#/OfflineConversionUploadClientSummary"},"OfflineConversionUploadConversionActionSummary":{"resource_name":"STRING","client":{"$ref":"#/OfflineConversionUploadClientSummary/client"},"conversion_action_id":"INT64","conversion_action_name":"STRING","status":{"$ref":"#/OfflineConversionUploadClientSummary/status"},"total_event_count":"INT64","successful_event_count":"INT64","pending_event_count":"INT64","last_upload_date_time":"STRING","daily_summaries":{"$ref":"#/OfflineConversionUploadClientSummary/daily_summaries"},"job_summaries":{"$ref":"#/OfflineConversionUploadClientSummary/daily_summaries"},"alerts":{"$ref":"#/OfflineConversionUploadClientSummary/alerts"}},"offline_conversion_upload_conversion_action_summary":{"$ref":"#/OfflineConversionUploadConversionActionSummary"},"OfflineUserDataJob":{"resource_name":"STRING","id":"INT64","external_id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"STORE_SALES_UPLOAD_FIRST_PARTY":2,"STORE_SALES_UPLOAD_THIRD_PARTY":3,"CUSTOMER_MATCH_USER_LIST":4,"CUSTOMER_MATCH_WITH_ATTRIBUTES":5},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"PENDING":2,"RUNNING":3,"SUCCESS":4,"FAILED":5},"failure_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"INSUFFICIENT_MATCHED_TRANSACTIONS":2,"INSUFFICIENT_TRANSACTIONS":3,"HIGH_AVERAGE_TRANSACTION_VALUE":4,"LOW_AVERAGE_TRANSACTION_VALUE":5,"NEWLY_OBSERVED_CURRENCY_CODE":6},"operation_metadata":{"match_rate_range":{"UNSPECIFIED":0,"UNKNOWN":1,"MATCH_RANGE_LESS_THAN_20":2,"MATCH_RANGE_20_TO_30":3,"MATCH_RANGE_31_TO_40":4,"MATCH_RANGE_41_TO_50":5,"MATCH_RANGE_51_TO_60":6,"MATCH_RANGE_61_TO_70":7,"MATCH_RANGE_71_TO_80":8,"MATCH_RANGE_81_TO_90":9,"MATCH_RANGE_91_TO_100":10}},"customer_match_user_list_metadata":{"user_list":"STRING","consent":{"ad_user_data":{"UNSPECIFIED":0,"UNKNOWN":1,"GRANTED":2,"DENIED":3},"ad_personalization":{"$ref":"#/OfflineUserDataJob/customer_match_user_list_metadata/consent/ad_user_data"}}},"store_sales_metadata":{"loyalty_fraction":"DOUBLE","transaction_upload_fraction":"DOUBLE","custom_key":"STRING","third_party_metadata":{"advertiser_upload_date_time":"STRING","valid_transaction_fraction":"DOUBLE","partner_match_fraction":"DOUBLE","partner_upload_fraction":"DOUBLE","bridge_map_version_id":"STRING","partner_id":"INT64"}}},"OfflineUserDataJobMetadata":{"$ref":"#/OfflineUserDataJob/operation_metadata"},"CustomerMatchUserListMetadata":{"$ref":"#/OfflineUserDataJob/customer_match_user_list_metadata"},"Consent":{"$ref":"#/OfflineUserDataJob/customer_match_user_list_metadata/consent"},"StoreSalesMetadata":{"$ref":"#/OfflineUserDataJob/store_sales_metadata"},"StoreSalesThirdPartyMetadata":{"$ref":"#/OfflineUserDataJob/store_sales_metadata/third_party_metadata"},"offline_user_data_job":{"$ref":"#/OfflineUserDataJob"},"OperatingSystemVersionConstant":{"resource_name":"STRING","id":"INT64","name":"STRING","os_major_version":"INT32","os_minor_version":"INT32","operator_type":{"UNSPECIFIED":0,"UNKNOWN":1,"EQUALS_TO":2,"GREATER_THAN_EQUALS_TO":4}},"operating_system_version_constant":{"$ref":"#/OperatingSystemVersionConstant"},"PaidOrganicSearchTermView":{"resource_name":"STRING","search_term":"STRING"},"paid_organic_search_term_view":{"$ref":"#/PaidOrganicSearchTermView"},"ParentalStatusView":{"resource_name":"STRING"},"parental_status_view":{"$ref":"#/ParentalStatusView"},"PerStoreView":{"resource_name":"STRING","place_id":"STRING"},"per_store_view":{"$ref":"#/PerStoreView"},"PerformanceMaxPlacementView":{"resource_name":"STRING","placement":"STRING","display_name":"STRING","target_url":"STRING","placement_type":{"$ref":"#/DetailPlacementView/placement_type"}},"performance_max_placement_view":{"$ref":"#/PerformanceMaxPlacementView"},"ProductCategoryConstant":{"resource_name":"STRING","category_id":"INT64","product_category_constant_parent":"STRING","level":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_category/level"},"state":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"OBSOLETE":3},"localizations":{"region_code":"STRING","language_code":"STRING","value":"STRING"}},"ProductCategoryLocalization":{"$ref":"#/ProductCategoryConstant/localizations"},"product_category_constant":{"$ref":"#/ProductCategoryConstant"},"ProductGroupView":{"resource_name":"STRING"},"product_group_view":{"$ref":"#/ProductGroupView"},"ProductLink":{"resource_name":"STRING","product_link_id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"DATA_PARTNER":2,"GOOGLE_ADS":3,"HOTEL_CENTER":7,"MERCHANT_CENTER":8,"ADVERTISING_PARTNER":9},"data_partner":{"data_partner_id":"INT64"},"google_ads":{"customer":"STRING"},"merchant_center":{"merchant_center_id":"INT64"},"advertising_partner":{"customer":"STRING"}},"DataPartnerIdentifier":{"$ref":"#/ProductLink/data_partner"},"GoogleAdsIdentifier":{"$ref":"#/ProductLink/google_ads"},"MerchantCenterIdentifier":{"$ref":"#/ProductLink/merchant_center"},"AdvertisingPartnerIdentifier":{"$ref":"#/ProductLink/advertising_partner"},"product_link":{"$ref":"#/ProductLink"},"ProductLinkInvitation":{"resource_name":"STRING","product_link_invitation_id":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ACCEPTED":2,"REQUESTED":3,"PENDING_APPROVAL":4,"REVOKED":5,"REJECTED":6,"EXPIRED":7},"type":{"$ref":"#/ProductLink/type"},"hotel_center":{"hotel_center_id":"INT64"},"merchant_center":{"merchant_center_id":"INT64"},"advertising_partner":{"customer":"STRING"}},"HotelCenterLinkInvitationIdentifier":{"$ref":"#/ProductLinkInvitation/hotel_center"},"MerchantCenterLinkInvitationIdentifier":{"$ref":"#/ProductLinkInvitation/merchant_center"},"AdvertisingPartnerLinkInvitationIdentifier":{"$ref":"#/ProductLinkInvitation/advertising_partner"},"product_link_invitation":{"$ref":"#/ProductLinkInvitation"},"QualifyingQuestion":{"resource_name":"STRING","qualifying_question_id":"INT64","locale":"STRING","text":"STRING"},"qualifying_question":{"$ref":"#/QualifyingQuestion"},"Recommendation":{"resource_name":"STRING","type":{"UNSPECIFIED":0,"UNKNOWN":1,"CAMPAIGN_BUDGET":2,"KEYWORD":3,"TEXT_AD":4,"TARGET_CPA_OPT_IN":5,"MAXIMIZE_CONVERSIONS_OPT_IN":6,"ENHANCED_CPC_OPT_IN":7,"SEARCH_PARTNERS_OPT_IN":8,"MAXIMIZE_CLICKS_OPT_IN":9,"OPTIMIZE_AD_ROTATION":10,"KEYWORD_MATCH_TYPE":14,"MOVE_UNUSED_BUDGET":15,"FORECASTING_CAMPAIGN_BUDGET":16,"TARGET_ROAS_OPT_IN":17,"RESPONSIVE_SEARCH_AD":18,"MARGINAL_ROI_CAMPAIGN_BUDGET":19,"USE_BROAD_MATCH_KEYWORD":20,"RESPONSIVE_SEARCH_AD_ASSET":21,"UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX":22,"RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH":23,"DISPLAY_EXPANSION_OPT_IN":24,"UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX":25,"RAISE_TARGET_CPA_BID_TOO_LOW":26,"FORECASTING_SET_TARGET_ROAS":27,"CALLOUT_ASSET":28,"SITELINK_ASSET":29,"CALL_ASSET":30,"SHOPPING_ADD_AGE_GROUP":31,"SHOPPING_ADD_COLOR":32,"SHOPPING_ADD_GENDER":33,"SHOPPING_ADD_GTIN":34,"SHOPPING_ADD_MORE_IDENTIFIERS":35,"SHOPPING_ADD_SIZE":36,"SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN":37,"SHOPPING_FIX_DISAPPROVED_PRODUCTS":38,"SHOPPING_TARGET_ALL_OFFERS":39,"SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT":40,"SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING":41,"SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX":42,"DYNAMIC_IMAGE_EXTENSION_OPT_IN":43,"RAISE_TARGET_CPA":44,"LOWER_TARGET_ROAS":45,"PERFORMANCE_MAX_OPT_IN":46,"IMPROVE_PERFORMANCE_MAX_AD_STRENGTH":47,"MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX":48,"FORECASTING_SET_TARGET_CPA":49,"SET_TARGET_CPA":50,"SET_TARGET_ROAS":51,"MAXIMIZE_CONVERSION_VALUE_OPT_IN":52,"IMPROVE_GOOGLE_TAG_COVERAGE":53,"PERFORMANCE_MAX_FINAL_URL_OPT_IN":54,"REFRESH_CUSTOMER_MATCH_LIST":55,"CUSTOM_AUDIENCE_OPT_IN":56,"LEAD_FORM_ASSET":57,"IMPROVE_DEMAND_GEN_AD_STRENGTH":58},"impact":{"base_metrics":{"impressions":"DOUBLE","clicks":"DOUBLE","cost_micros":"INT64","conversions":"DOUBLE","conversions_value":"DOUBLE","video_views":"DOUBLE"},"potential_metrics":{"$ref":"#/Recommendation/impact/base_metrics"}},"campaign_budget":"STRING","campaign":"STRING","ad_group":"STRING","dismissed":"BOOL","campaigns":"STRING","campaign_budget_recommendation":{"current_budget_amount_micros":"INT64","recommended_budget_amount_micros":"INT64","budget_options":{"budget_amount_micros":"INT64","impact":{"$ref":"#/Recommendation/impact"}}},"forecasting_campaign_budget_recommendation":{"$ref":"#/Recommendation/campaign_budget_recommendation"},"keyword_recommendation":{"keyword":{"$ref":"#/AdGroupCriterion/keyword"},"search_terms":{"text":"STRING","estimated_weekly_search_count":"INT64"},"recommended_cpc_bid_micros":"INT64"},"text_ad_recommendation":{"ad":{"$ref":"#/Ad"},"creation_date":"STRING","auto_apply_date":"STRING"},"target_cpa_opt_in_recommendation":{"options":{"goal":{"UNSPECIFIED":0,"UNKNOWN":1,"SAME_COST":2,"SAME_CONVERSIONS":3,"SAME_CPA":4,"CLOSEST_CPA":5},"target_cpa_micros":"INT64","required_campaign_budget_amount_micros":"INT64","impact":{"$ref":"#/Recommendation/impact"}},"recommended_target_cpa_micros":"INT64"},"maximize_conversions_opt_in_recommendation":{"recommended_budget_amount_micros":"INT64"},"enhanced_cpc_opt_in_recommendation":{},"search_partners_opt_in_recommendation":{},"maximize_clicks_opt_in_recommendation":{"recommended_budget_amount_micros":"INT64"},"optimize_ad_rotation_recommendation":{},"keyword_match_type_recommendation":{"keyword":{"$ref":"#/AdGroupCriterion/keyword"},"recommended_match_type":{"$ref":"#/AdGroupCriterion/keyword/match_type"}},"move_unused_budget_recommendation":{"excess_campaign_budget":"STRING","budget_recommendation":{"$ref":"#/Recommendation/campaign_budget_recommendation"}},"target_roas_opt_in_recommendation":{"recommended_target_roas":"DOUBLE","required_campaign_budget_amount_micros":"INT64"},"responsive_search_ad_recommendation":{"ad":{"$ref":"#/Ad"}},"marginal_roi_campaign_budget_recommendation":{"$ref":"#/Recommendation/campaign_budget_recommendation"},"use_broad_match_keyword_recommendation":{"keyword":{"$ref":"#/AdGroupCriterion/keyword"},"suggested_keywords_count":"INT64","campaign_keywords_count":"INT64","campaign_uses_shared_budget":"BOOL","required_campaign_budget_amount_micros":"INT64"},"responsive_search_ad_asset_recommendation":{"current_ad":{"$ref":"#/Ad"},"recommended_assets":{"$ref":"#/Ad"}},"upgrade_smart_shopping_campaign_to_performance_max_recommendation":{"merchant_id":"INT64","sales_country_code":"STRING"},"responsive_search_ad_improve_ad_strength_recommendation":{"current_ad":{"$ref":"#/Ad"},"recommended_ad":{"$ref":"#/Ad"}},"display_expansion_opt_in_recommendation":{},"upgrade_local_campaign_to_performance_max_recommendation":{},"raise_target_cpa_bid_too_low_recommendation":{"recommended_target_multiplier":"DOUBLE","average_target_cpa_micros":"INT64"},"forecasting_set_target_roas_recommendation":{"recommended_target_roas":"DOUBLE","campaign_budget":{"$ref":"#/CampaignBudget"}},"callout_asset_recommendation":{"recommended_campaign_callout_assets":{"$ref":"#/Asset"},"recommended_customer_callout_assets":{"$ref":"#/Asset"}},"sitelink_asset_recommendation":{"recommended_campaign_sitelink_assets":{"$ref":"#/Asset"},"recommended_customer_sitelink_assets":{"$ref":"#/Asset"}},"call_asset_recommendation":{},"shopping_add_age_group_recommendation":{"merchant":{"id":"INT64","name":"STRING","multi_client":"BOOL"},"feed_label":"STRING","offers_count":"INT64","demoted_offers_count":"INT64"},"shopping_add_color_recommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"shopping_add_gender_recommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"shopping_add_gtin_recommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"shopping_add_more_identifiers_recommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"shopping_add_size_recommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"shopping_add_products_to_campaign_recommendation":{"merchant":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"feed_label":"STRING","reason":{"UNSPECIFIED":0,"UNKNOWN":1,"MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS":2,"MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED":3,"ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN":4,"ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN":5}},"shopping_fix_disapproved_products_recommendation":{"merchant":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"feed_label":"STRING","products_count":"INT64","disapproved_products_count":"INT64"},"shopping_target_all_offers_recommendation":{"merchant":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"untargeted_offers_count":"INT64","feed_label":"STRING"},"shopping_fix_suspended_merchant_center_account_recommendation":{"merchant":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"feed_label":"STRING"},"shopping_fix_merchant_center_account_suspension_warning_recommendation":{"$ref":"#/Recommendation/shopping_fix_suspended_merchant_center_account_recommendation"},"shopping_migrate_regular_shopping_campaign_offers_to_performance_max_recommendation":{"merchant":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"feed_label":"STRING"},"dynamic_image_extension_opt_in_recommendation":{},"raise_target_cpa_recommendation":{"target_adjustment":{"shared_set":"STRING","recommended_target_multiplier":"DOUBLE","current_average_target_micros":"INT64"},"app_bidding_goal":{"UNSPECIFIED":0,"UNKNOWN":1,"OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME":2,"OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME":3,"OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE":4,"OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION":5,"OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND":6,"OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI":7,"OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME":8}},"lower_target_roas_recommendation":{"target_adjustment":{"$ref":"#/Recommendation/raise_target_cpa_recommendation/target_adjustment"}},"performance_max_opt_in_recommendation":{},"improve_performance_max_ad_strength_recommendation":{"asset_group":"STRING"},"migrate_dynamic_search_ads_campaign_to_performance_max_recommendation":{"apply_link":"STRING"},"forecasting_set_target_cpa_recommendation":{"recommended_target_cpa_micros":"INT64","campaign_budget":{"$ref":"#/CampaignBudget"}},"set_target_cpa_recommendation":{"$ref":"#/Recommendation/forecasting_set_target_cpa_recommendation"},"set_target_roas_recommendation":{"$ref":"#/Recommendation/forecasting_set_target_roas_recommendation"},"maximize_conversion_value_opt_in_recommendation":{},"improve_google_tag_coverage_recommendation":{},"performance_max_final_url_opt_in_recommendation":{},"refresh_customer_match_list_recommendation":{"user_list_id":"INT64","user_list_name":"STRING","days_since_last_refresh":"INT64","top_spending_account":{"customer_id":"INT64","descriptive_name":"STRING"},"targeting_accounts_count":"INT64","owner_account":{"$ref":"#/Recommendation/refresh_customer_match_list_recommendation/top_spending_account"}},"custom_audience_opt_in_recommendation":{"keywords":{"$ref":"#/AdGroupCriterion/keyword"}},"lead_form_asset_recommendation":{},"improve_demand_gen_ad_strength_recommendation":{"ad":"STRING","ad_strength":{"$ref":"#/AdGroupAd/ad_strength"},"demand_gen_asset_action_items":"STRING"}},"RecommendationImpact":{"$ref":"#/Recommendation/impact"},"RecommendationMetrics":{"$ref":"#/Recommendation/impact/base_metrics"},"CampaignBudgetRecommendation":{"$ref":"#/Recommendation/campaign_budget_recommendation"},"CampaignBudgetRecommendationOption":{"$ref":"#/Recommendation/campaign_budget_recommendation/budget_options"},"KeywordRecommendation":{"$ref":"#/Recommendation/keyword_recommendation"},"SearchTerm":{"$ref":"#/Recommendation/keyword_recommendation/search_terms"},"TextAdRecommendation":{"$ref":"#/Recommendation/text_ad_recommendation"},"TargetCpaOptInRecommendation":{"$ref":"#/Recommendation/target_cpa_opt_in_recommendation"},"TargetCpaOptInRecommendationOption":{"$ref":"#/Recommendation/target_cpa_opt_in_recommendation/options"},"MaximizeConversionsOptInRecommendation":{"$ref":"#/Recommendation/maximize_conversions_opt_in_recommendation"},"EnhancedCpcOptInRecommendation":{"$ref":"#/Recommendation/enhanced_cpc_opt_in_recommendation"},"SearchPartnersOptInRecommendation":{"$ref":"#/Recommendation/search_partners_opt_in_recommendation"},"MaximizeClicksOptInRecommendation":{"$ref":"#/Recommendation/maximize_clicks_opt_in_recommendation"},"OptimizeAdRotationRecommendation":{"$ref":"#/Recommendation/optimize_ad_rotation_recommendation"},"KeywordMatchTypeRecommendation":{"$ref":"#/Recommendation/keyword_match_type_recommendation"},"MoveUnusedBudgetRecommendation":{"$ref":"#/Recommendation/move_unused_budget_recommendation"},"TargetRoasOptInRecommendation":{"$ref":"#/Recommendation/target_roas_opt_in_recommendation"},"ResponsiveSearchAdRecommendation":{"$ref":"#/Recommendation/responsive_search_ad_recommendation"},"UseBroadMatchKeywordRecommendation":{"$ref":"#/Recommendation/use_broad_match_keyword_recommendation"},"ResponsiveSearchAdAssetRecommendation":{"$ref":"#/Recommendation/responsive_search_ad_asset_recommendation"},"UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation":{"$ref":"#/Recommendation/upgrade_smart_shopping_campaign_to_performance_max_recommendation"},"ResponsiveSearchAdImproveAdStrengthRecommendation":{"$ref":"#/Recommendation/responsive_search_ad_improve_ad_strength_recommendation"},"DisplayExpansionOptInRecommendation":{"$ref":"#/Recommendation/display_expansion_opt_in_recommendation"},"UpgradeLocalCampaignToPerformanceMaxRecommendation":{"$ref":"#/Recommendation/upgrade_local_campaign_to_performance_max_recommendation"},"RaiseTargetCpaBidTooLowRecommendation":{"$ref":"#/Recommendation/raise_target_cpa_bid_too_low_recommendation"},"ForecastingSetTargetRoasRecommendation":{"$ref":"#/Recommendation/forecasting_set_target_roas_recommendation"},"CalloutAssetRecommendation":{"$ref":"#/Recommendation/callout_asset_recommendation"},"SitelinkAssetRecommendation":{"$ref":"#/Recommendation/sitelink_asset_recommendation"},"CallAssetRecommendation":{"$ref":"#/Recommendation/call_asset_recommendation"},"ShoppingOfferAttributeRecommendation":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation"},"MerchantInfo":{"$ref":"#/Recommendation/shopping_add_age_group_recommendation/merchant"},"ShoppingAddProductsToCampaignRecommendation":{"$ref":"#/Recommendation/shopping_add_products_to_campaign_recommendation"},"ShoppingFixDisapprovedProductsRecommendation":{"$ref":"#/Recommendation/shopping_fix_disapproved_products_recommendation"},"ShoppingTargetAllOffersRecommendation":{"$ref":"#/Recommendation/shopping_target_all_offers_recommendation"},"ShoppingMerchantCenterAccountSuspensionRecommendation":{"$ref":"#/Recommendation/shopping_fix_suspended_merchant_center_account_recommendation"},"ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation":{"$ref":"#/Recommendation/shopping_migrate_regular_shopping_campaign_offers_to_performance_max_recommendation"},"DynamicImageExtensionOptInRecommendation":{"$ref":"#/Recommendation/dynamic_image_extension_opt_in_recommendation"},"RaiseTargetCpaRecommendation":{"$ref":"#/Recommendation/raise_target_cpa_recommendation"},"TargetAdjustmentInfo":{"$ref":"#/Recommendation/raise_target_cpa_recommendation/target_adjustment"},"LowerTargetRoasRecommendation":{"$ref":"#/Recommendation/lower_target_roas_recommendation"},"PerformanceMaxOptInRecommendation":{"$ref":"#/Recommendation/performance_max_opt_in_recommendation"},"ImprovePerformanceMaxAdStrengthRecommendation":{"$ref":"#/Recommendation/improve_performance_max_ad_strength_recommendation"},"MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation":{"$ref":"#/Recommendation/migrate_dynamic_search_ads_campaign_to_performance_max_recommendation"},"ForecastingSetTargetCpaRecommendation":{"$ref":"#/Recommendation/forecasting_set_target_cpa_recommendation"},"MaximizeConversionValueOptInRecommendation":{"$ref":"#/Recommendation/maximize_conversion_value_opt_in_recommendation"},"ImproveGoogleTagCoverageRecommendation":{"$ref":"#/Recommendation/improve_google_tag_coverage_recommendation"},"PerformanceMaxFinalUrlOptInRecommendation":{"$ref":"#/Recommendation/performance_max_final_url_opt_in_recommendation"},"RefreshCustomerMatchListRecommendation":{"$ref":"#/Recommendation/refresh_customer_match_list_recommendation"},"AccountInfo":{"$ref":"#/Recommendation/refresh_customer_match_list_recommendation/top_spending_account"},"CustomAudienceOptInRecommendation":{"$ref":"#/Recommendation/custom_audience_opt_in_recommendation"},"LeadFormAssetRecommendation":{"$ref":"#/Recommendation/lead_form_asset_recommendation"},"ImproveDemandGenAdStrengthRecommendation":{"$ref":"#/Recommendation/improve_demand_gen_ad_strength_recommendation"},"recommendation":{"$ref":"#/Recommendation"},"RecommendationSubscription":{"resource_name":"STRING","type":{"$ref":"#/Recommendation/type"},"create_date_time":"STRING","modify_date_time":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"PAUSED":3}},"recommendation_subscription":{"$ref":"#/RecommendationSubscription"},"RemarketingAction":{"resource_name":"STRING","id":"INT64","name":"STRING","tag_snippets":{"$ref":"#/ConversionAction/tag_snippets"}},"remarketing_action":{"$ref":"#/RemarketingAction"},"SearchTermView":{"resource_name":"STRING","search_term":"STRING","ad_group":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ADDED":2,"EXCLUDED":3,"ADDED_EXCLUDED":4,"NONE":5}},"search_term_view":{"$ref":"#/SearchTermView"},"SharedCriterion":{"resource_name":"STRING","shared_set":"STRING","criterion_id":"INT64","type":{"$ref":"#/AdGroupCriterion/type"},"keyword":{"$ref":"#/AdGroupCriterion/keyword"},"youtube_video":{"$ref":"#/AdGroupCriterion/youtube_video"},"youtube_channel":{"$ref":"#/AdGroupCriterion/youtube_channel"},"placement":{"$ref":"#/AdGroupCriterion/placement"},"mobile_app_category":{"$ref":"#/AdGroupCriterion/mobile_app_category"},"mobile_application":{"$ref":"#/AdGroupCriterion/mobile_application"},"brand":{"display_name":"STRING","entity_id":"STRING","primary_url":"STRING","rejection_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"EXISTING_BRAND":2,"EXISTING_BRAND_VARIANT":3,"INCORRECT_INFORMATION":4,"NOT_A_BRAND":5},"status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"DEPRECATED":3,"UNVERIFIED":4,"APPROVED":5,"CANCELLED":6,"REJECTED":7}}},"BrandInfo":{"$ref":"#/SharedCriterion/brand"},"shared_criterion":{"$ref":"#/SharedCriterion"},"SharedSet":{"resource_name":"STRING","id":"INT64","type":{"UNSPECIFIED":0,"UNKNOWN":1,"NEGATIVE_KEYWORDS":2,"NEGATIVE_PLACEMENTS":3,"ACCOUNT_LEVEL_NEGATIVE_KEYWORDS":4,"BRANDS":5},"name":"STRING","status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"REMOVED":3},"member_count":"INT64","reference_count":"INT64"},"shared_set":{"$ref":"#/SharedSet"},"ShoppingPerformanceView":{"resource_name":"STRING"},"shopping_performance_view":{"$ref":"#/ShoppingPerformanceView"},"ShoppingProduct":{"resource_name":"STRING","merchant_center_id":"INT64","channel":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_channel/channel"},"language_code":"STRING","feed_label":"STRING","item_id":"STRING","multi_client_account_id":"INT64","title":"STRING","brand":"STRING","price_micros":"INT64","currency_code":"STRING","channel_exclusivity":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_channel_exclusivity/channel_exclusivity"},"condition":{"$ref":"#/AdGroupCriterion/listing_group/case_value/product_condition/condition"},"availability":{"UNSPECIFIED":0,"UNKNOWN":1,"IN_STOCK":2,"OUT_OF_STOCK":3,"PREORDER":4},"target_countries":"STRING","custom_attribute0":"STRING","custom_attribute1":"STRING","custom_attribute2":"STRING","custom_attribute3":"STRING","custom_attribute4":"STRING","category_level1":"STRING","category_level2":"STRING","category_level3":"STRING","category_level4":"STRING","category_level5":"STRING","product_type_level1":"STRING","product_type_level2":"STRING","product_type_level3":"STRING","product_type_level4":"STRING","product_type_level5":"STRING","effective_max_cpc_micros":"INT64","status":{"UNSPECIFIED":0,"UNKNOWN":1,"NOT_ELIGIBLE":2,"ELIGIBLE_LIMITED":3,"ELIGIBLE":4},"issues":{"error_code":"STRING","ads_severity":{"UNSPECIFIED":0,"UNKNOWN":1,"WARNING":2,"ERROR":3},"attribute_name":"STRING","description":"STRING","detail":"STRING","documentation":"STRING","affected_regions":"STRING"},"campaign":"STRING","ad_group":"STRING"},"ProductIssue":{"$ref":"#/ShoppingProduct/issues"},"shopping_product":{"$ref":"#/ShoppingProduct"},"SmartCampaignSearchTermView":{"resource_name":"STRING","search_term":"STRING","campaign":"STRING"},"smart_campaign_search_term_view":{"$ref":"#/SmartCampaignSearchTermView"},"SmartCampaignSetting":{"resource_name":"STRING","campaign":"STRING","phone_number":{"phone_number":"STRING","country_code":"STRING"},"advertising_language_code":"STRING","final_url":"STRING","ad_optimized_business_profile_setting":{"include_lead_form":"BOOL"},"business_name":"STRING","business_profile_location":"STRING"},"PhoneNumber":{"$ref":"#/SmartCampaignSetting/phone_number"},"AdOptimizedBusinessProfileSetting":{"$ref":"#/SmartCampaignSetting/ad_optimized_business_profile_setting"},"smart_campaign_setting":{"$ref":"#/SmartCampaignSetting"},"ThirdPartyAppAnalyticsLink":{"resource_name":"STRING","shareable_link_id":"STRING"},"third_party_app_analytics_link":{"$ref":"#/ThirdPartyAppAnalyticsLink"},"TopicConstant":{"resource_name":"STRING","id":"INT64","topic_constant_parent":"STRING","path":"STRING"},"topic_constant":{"$ref":"#/TopicConstant"},"TopicView":{"resource_name":"STRING"},"topic_view":{"$ref":"#/TopicView"},"TravelActivityGroupView":{"resource_name":"STRING"},"travel_activity_group_view":{"$ref":"#/TravelActivityGroupView"},"TravelActivityPerformanceView":{"resource_name":"STRING"},"travel_activity_performance_view":{"$ref":"#/TravelActivityPerformanceView"},"UserInterest":{"resource_name":"STRING","taxonomy_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AFFINITY":2,"IN_MARKET":3,"MOBILE_APP_INSTALL_USER":4,"VERTICAL_GEO":5,"NEW_SMART_PHONE_USER":6},"user_interest_id":"INT64","name":"STRING","user_interest_parent":"STRING","launched_to_all":"BOOL","availabilities":{"$ref":"#/DetailedDemographic/availabilities"}},"user_interest":{"$ref":"#/UserInterest"},"UserList":{"resource_name":"STRING","id":"INT64","read_only":"BOOL","name":"STRING","description":"STRING","membership_status":{"UNSPECIFIED":0,"UNKNOWN":1,"OPEN":2,"CLOSED":3},"integration_code":"STRING","membership_life_span":"INT64","size_for_display":"INT64","size_range_for_display":{"UNSPECIFIED":0,"UNKNOWN":1,"LESS_THAN_FIVE_HUNDRED":2,"LESS_THAN_ONE_THOUSAND":3,"ONE_THOUSAND_TO_TEN_THOUSAND":4,"TEN_THOUSAND_TO_FIFTY_THOUSAND":5,"FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND":6,"ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND":7,"THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND":8,"FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION":9,"ONE_MILLION_TO_TWO_MILLION":10,"TWO_MILLION_TO_THREE_MILLION":11,"THREE_MILLION_TO_FIVE_MILLION":12,"FIVE_MILLION_TO_TEN_MILLION":13,"TEN_MILLION_TO_TWENTY_MILLION":14,"TWENTY_MILLION_TO_THIRTY_MILLION":15,"THIRTY_MILLION_TO_FIFTY_MILLION":16,"OVER_FIFTY_MILLION":17},"size_for_search":"INT64","size_range_for_search":{"$ref":"#/UserList/size_range_for_display"},"type":{"UNSPECIFIED":0,"UNKNOWN":1,"REMARKETING":2,"LOGICAL":3,"EXTERNAL_REMARKETING":4,"RULE_BASED":5,"SIMILAR":6,"CRM_BASED":7,"LOOKALIKE":9},"closing_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"UNUSED":2},"access_reason":{"UNSPECIFIED":0,"UNKNOWN":1,"OWNED":2,"SHARED":3,"LICENSED":4,"SUBSCRIBED":5,"AFFILIATED":6},"account_user_list_status":{"UNSPECIFIED":0,"UNKNOWN":1,"ENABLED":2,"DISABLED":3},"eligible_for_search":"BOOL","eligible_for_display":"BOOL","match_rate_percentage":"INT32","crm_based_user_list":{"app_id":"STRING","upload_key_type":{"UNSPECIFIED":0,"UNKNOWN":1,"CONTACT_INFO":2,"CRM_ID":3,"MOBILE_ADVERTISING_ID":4},"data_source_type":{"UNSPECIFIED":0,"UNKNOWN":1,"FIRST_PARTY":2,"THIRD_PARTY_CREDIT_BUREAU":3,"THIRD_PARTY_VOTER_FILE":4}},"similar_user_list":{"seed_user_list":"STRING"},"rule_based_user_list":{"prepopulation_status":{"UNSPECIFIED":0,"UNKNOWN":1,"REQUESTED":2,"FINISHED":3,"FAILED":4},"flexible_rule_user_list":{"inclusive_rule_operator":{"UNSPECIFIED":0,"UNKNOWN":1,"AND":2,"OR":3},"inclusive_operands":{"rule":{"rule_type":{"UNSPECIFIED":0,"UNKNOWN":1,"AND_OF_ORS":2,"OR_OF_ANDS":3},"rule_item_groups":{"rule_items":{"name":"STRING","number_rule_item":{"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"GREATER_THAN":2,"GREATER_THAN_OR_EQUAL":3,"EQUALS":4,"NOT_EQUALS":5,"LESS_THAN":6,"LESS_THAN_OR_EQUAL":7},"value":"DOUBLE"},"string_rule_item":{"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"CONTAINS":2,"EQUALS":3,"STARTS_WITH":4,"ENDS_WITH":5,"NOT_EQUALS":6,"NOT_CONTAINS":7,"NOT_STARTS_WITH":8,"NOT_ENDS_WITH":9},"value":"STRING"},"date_rule_item":{"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"EQUALS":2,"NOT_EQUALS":3,"BEFORE":4,"AFTER":5},"value":"STRING","offset_in_days":"INT64"}}}},"lookback_window_days":"INT64"},"exclusive_operands":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands"}}},"logical_user_list":{"rules":{"operator":{"UNSPECIFIED":0,"UNKNOWN":1,"ALL":2,"ANY":3,"NONE":4},"rule_operands":{"user_list":"STRING"}}},"basic_user_list":{"actions":{"conversion_action":"STRING","remarketing_action":"STRING"}},"lookalike_user_list":{"seed_user_list_ids":"INT64","expansion_level":{"UNSPECIFIED":0,"UNKNOWN":1,"NARROW":2,"BALANCED":3,"BROAD":4},"country_codes":"STRING"}},"CrmBasedUserListInfo":{"$ref":"#/UserList/crm_based_user_list"},"SimilarUserListInfo":{"$ref":"#/UserList/similar_user_list"},"RuleBasedUserListInfo":{"$ref":"#/UserList/rule_based_user_list"},"FlexibleRuleUserListInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list"},"FlexibleRuleOperandInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands"},"UserListRuleInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule"},"UserListRuleItemGroupInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule/rule_item_groups"},"UserListRuleItemInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule/rule_item_groups/rule_items"},"UserListNumberRuleItemInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule/rule_item_groups/rule_items/number_rule_item"},"UserListStringRuleItemInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule/rule_item_groups/rule_items/string_rule_item"},"UserListDateRuleItemInfo":{"$ref":"#/UserList/rule_based_user_list/flexible_rule_user_list/inclusive_operands/rule/rule_item_groups/rule_items/date_rule_item"},"LogicalUserListInfo":{"$ref":"#/UserList/logical_user_list"},"UserListLogicalRuleInfo":{"$ref":"#/UserList/logical_user_list/rules"},"LogicalUserListOperandInfo":{"$ref":"#/UserList/logical_user_list/rules/rule_operands"},"BasicUserListInfo":{"$ref":"#/UserList/basic_user_list"},"UserListActionInfo":{"$ref":"#/UserList/basic_user_list/actions"},"LookalikeUserListInfo":{"$ref":"#/UserList/lookalike_user_list"},"user_list":{"$ref":"#/UserList"},"UserListCustomerType":{"resource_name":"STRING","user_list":"STRING","customer_type_category":{"UNSPECIFIED":0,"UNKNOWN":1,"ALL_CUSTOMERS":2,"PURCHASERS":3,"HIGH_VALUE_CUSTOMERS":4,"DISENGAGED_CUSTOMERS":5,"QUALIFIED_LEADS":6,"CONVERTED_LEADS":7,"PAID_SUBSCRIBERS":8,"LOYALTY_SIGN_UPS":9,"CART_ABANDONERS":10,"LOYALTY_TIER_1_MEMBERS":11,"LOYALTY_TIER_2_MEMBERS":12,"LOYALTY_TIER_3_MEMBERS":13,"LOYALTY_TIER_4_MEMBERS":14,"LOYALTY_TIER_5_MEMBERS":15,"LOYALTY_TIER_6_MEMBERS":16,"LOYALTY_TIER_7_MEMBERS":17}},"user_list_customer_type":{"$ref":"#/UserListCustomerType"},"UserLocationView":{"resource_name":"STRING","country_criterion_id":"INT64","targeting_location":"BOOL"},"user_location_view":{"$ref":"#/UserLocationView"},"Video":{"resource_name":"STRING","id":"STRING","channel_id":"STRING","duration_millis":"INT64","title":"STRING"},"video":{"$ref":"#/Video"},"WebpageView":{"resource_name":"STRING"},"webpage_view":{"$ref":"#/WebpageView"},"segments":{"activity_account_id":"INT64","activity_city":"RESOURCE_NAME","activity_country":"RESOURCE_NAME","activity_rating":"INT64","activity_state":"RESOURCE_NAME","ad_destination_type":"ENUM","ad_format_type":"ENUM","ad_group":"RESOURCE_NAME","ad_network_type":"ENUM","asset_group":"RESOURCE_NAME","asset_interaction_target":{"asset":"RESOURCE_NAME","interaction_on_this_asset":"BOOLEAN"},"auction_insight_domain":"STRING","budget_campaign_association_status":{"campaign":"RESOURCE_NAME","status":"ENUM"},"campaign":"RESOURCE_NAME","click_type":"ENUM","conversion_action":"RESOURCE_NAME","conversion_action_category":"ENUM","conversion_action_name":"STRING","conversion_adjustment":"BOOLEAN","conversion_attribution_event_type":"ENUM","conversion_lag_bucket":"ENUM","conversion_or_adjustment_lag_bucket":"ENUM","conversion_value_rule_primary_dimension":"ENUM","date":"DATE","day_of_week":"ENUM","device":"ENUM","external_activity_id":"STRING","external_conversion_source":"ENUM","geo_target_airport":"RESOURCE_NAME","geo_target_canton":"RESOURCE_NAME","geo_target_city":"RESOURCE_NAME","geo_target_country":"RESOURCE_NAME","geo_target_county":"RESOURCE_NAME","geo_target_district":"RESOURCE_NAME","geo_target_metro":"RESOURCE_NAME","geo_target_most_specific_location":"RESOURCE_NAME","geo_target_postal_code":"RESOURCE_NAME","geo_target_province":"RESOURCE_NAME","geo_target_region":"RESOURCE_NAME","geo_target_state":"RESOURCE_NAME","hotel_booking_window_days":"INT64","hotel_center_id":"INT64","hotel_check_in_date":"DATE","hotel_check_in_day_of_week":"ENUM","hotel_city":"RESOURCE_NAME","hotel_class":"INT32","hotel_country":"RESOURCE_NAME","hotel_date_selection_type":"ENUM","hotel_length_of_stay":"INT32","hotel_price_bucket":"ENUM","hotel_rate_rule_id":"STRING","hotel_rate_type":"ENUM","hotel_state":"RESOURCE_NAME","hour":"INT32","interaction_on_this_extension":"BOOLEAN","keyword":{"ad_group_criterion":"RESOURCE_NAME","info":{"match_type":"ENUM","text":"STRING"}},"month":"DATE","month_of_year":"ENUM","new_versus_returning_customers":"ENUM","partner_hotel_id":"STRING","product_aggregator_id":"INT64","product_brand":"STRING","product_category_level1":"RESOURCE_NAME","product_category_level2":"RESOURCE_NAME","product_category_level3":"RESOURCE_NAME","product_category_level4":"RESOURCE_NAME","product_category_level5":"RESOURCE_NAME","product_channel":"ENUM","product_channel_exclusivity":"ENUM","product_condition":"ENUM","product_country":"RESOURCE_NAME","product_custom_attribute0":"STRING","product_custom_attribute1":"STRING","product_custom_attribute2":"STRING","product_custom_attribute3":"STRING","product_custom_attribute4":"STRING","product_feed_label":"STRING","product_item_id":"STRING","product_language":"RESOURCE_NAME","product_merchant_id":"INT64","product_store_id":"STRING","product_title":"STRING","product_type_l1":"STRING","product_type_l2":"STRING","product_type_l3":"STRING","product_type_l4":"STRING","product_type_l5":"STRING","quarter":"DATE","recommendation_type":"ENUM","search_engine_results_page_type":"ENUM","search_subcategory":"STRING","search_term":"STRING","search_term_match_type":"ENUM","sk_ad_network_ad_event_type":"ENUM","sk_ad_network_attribution_credit":"ENUM","sk_ad_network_coarse_conversion_value":"ENUM","sk_ad_network_fine_conversion_value":"INT64","sk_ad_network_postback_sequence_index":"INT64","sk_ad_network_redistributed_fine_conversion_value":"INT64","sk_ad_network_source_app":{"sk_ad_network_source_app_id":"STRING"},"sk_ad_network_source_domain":"STRING","sk_ad_network_source_type":"ENUM","sk_ad_network_user_type":"ENUM","sk_ad_network_version":"STRING","slot":"ENUM","travel_destination_city":"RESOURCE_NAME","travel_destination_country":"RESOURCE_NAME","travel_destination_region":"RESOURCE_NAME","webpage":"RESOURCE_NAME","week":"DATE","year":"INT32"}}`;
diff --git a/src/protos/autogen/serviceFactory.ts b/src/protos/autogen/serviceFactory.ts
index e42324e6..97287c2e 100644
--- a/src/protos/autogen/serviceFactory.ts
+++ b/src/protos/autogen/serviceFactory.ts
@@ -22,7 +22,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountBudgetProposalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountBudgetProposalService
*/
public get accountBudgetProposals() {
const service = this.loadService(
@@ -198,7 +198,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountLinkService
*/
public get accountLinks() {
const service = this.loadService(
@@ -212,7 +212,7 @@ export default class ServiceFactory extends Service {
>;
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AccountLinkService#createaccountlink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AccountLinkService#createaccountlink
*/
createAccountLink: async (
request: services.CreateAccountLinkRequest
@@ -438,7 +438,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdLabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdLabelService
*/
public get adGroupAdLabels() {
const service = this.loadService(
@@ -611,7 +611,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdService
*/
public get adGroupAds() {
const service = this.loadService(
@@ -861,7 +861,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAdService#removeautomaticallycreatedassets
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAdService#removeautomaticallycreatedassets
*/
removeAutomaticallyCreatedAssets: async (
request: services.RemoveAutomaticallyCreatedAssetsRequest
@@ -931,7 +931,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAssetService
*/
public get adGroupAssets() {
const service = this.loadService(
@@ -1183,7 +1183,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupAssetSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupAssetSetService
*/
public get adGroupAssetSets() {
const service = this.loadService(
@@ -1356,7 +1356,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupBidModifierService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupBidModifierService
*/
public get adGroupBidModifiers() {
const service = this.loadService(
@@ -1614,7 +1614,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionCustomizerService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionCustomizerService
*/
public get adGroupCriterionCustomizers() {
const service =
@@ -1796,7 +1796,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionLabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionLabelService
*/
public get adGroupCriterionLabels() {
const service = this.loadService(
@@ -1975,7 +1975,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCriterionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCriterionService
*/
public get adGroupCriteria() {
const service = this.loadService(
@@ -2241,7 +2241,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupCustomizerService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupCustomizerService
*/
public get adGroupCustomizers() {
const service = this.loadService(
@@ -2414,7 +2414,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupLabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupLabelService
*/
public get adGroupLabels() {
const service = this.loadService(
@@ -2584,7 +2584,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdGroupService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdGroupService
*/
public get adGroups() {
const service = this.loadService(
@@ -2836,7 +2836,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdParameterService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdParameterService
*/
public get adParameters() {
const service = this.loadService(
@@ -3088,7 +3088,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AdService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AdService
*/
public get ads() {
const service = this.loadService("AdServiceClient");
@@ -3181,7 +3181,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupAssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupAssetService
*/
public get assetGroupAssets() {
const service = this.loadService(
@@ -3439,7 +3439,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupListingGroupFilterService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupListingGroupFilterService
*/
public get assetGroupListingGroupFilters() {
const service =
@@ -3710,7 +3710,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupService
*/
public get assetGroups() {
const service = this.loadService(
@@ -3959,7 +3959,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetGroupSignalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetGroupSignalService
*/
public get assetGroupSignals() {
const service = this.loadService(
@@ -4132,7 +4132,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetService
*/
public get assets() {
const service =
@@ -4306,7 +4306,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetAssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetAssetService
*/
public get assetSetAssets() {
const service = this.loadService(
@@ -4476,7 +4476,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AssetSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AssetSetService
*/
public get assetSets() {
const service = this.loadService(
@@ -4728,7 +4728,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService
*/
public get audienceInsights() {
const service = this.loadService(
@@ -4737,7 +4737,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#generateinsightsfinderreport
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#generateinsightsfinderreport
*/
generateInsightsFinderReport: async (
request: services.GenerateInsightsFinderReportRequest
@@ -4805,7 +4805,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#listaudienceinsightsattributes
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#listaudienceinsightsattributes
*/
listAudienceInsightsAttributes: async (
request: services.ListAudienceInsightsAttributesRequest
@@ -4873,7 +4873,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#listinsightseligibledates
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#listinsightseligibledates
*/
listInsightsEligibleDates: async (
request: services.ListInsightsEligibleDatesRequest
@@ -4938,7 +4938,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#generateaudiencecompositioninsights
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#generateaudiencecompositioninsights
*/
generateAudienceCompositionInsights: async (
request: services.GenerateAudienceCompositionInsightsRequest
@@ -5006,7 +5006,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#generatesuggestedtargetinginsights
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#generatesuggestedtargetinginsights
*/
generateSuggestedTargetingInsights: async (
request: services.GenerateSuggestedTargetingInsightsRequest
@@ -5074,7 +5074,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#generateaudienceoverlapinsights
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#generateaudienceoverlapinsights
*/
generateAudienceOverlapInsights: async (
request: services.GenerateAudienceOverlapInsightsRequest
@@ -5142,7 +5142,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceInsightsService#generatetargetingsuggestionmetrics
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceInsightsService#generatetargetingsuggestionmetrics
*/
generateTargetingSuggestionMetrics: async (
request: services.GenerateTargetingSuggestionMetricsRequest
@@ -5212,7 +5212,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/AudienceService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/AudienceService
*/
public get audiences() {
const service = this.loadService(
@@ -5387,7 +5387,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BatchJobService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BatchJobService
*/
public get batchJobs() {
const service = this.loadService(
@@ -5550,7 +5550,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BatchJobService#listbatchjobresults
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BatchJobService#listbatchjobresults
*/
listBatchJobResults: async (
request: services.ListBatchJobResultsRequest
@@ -5615,7 +5615,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BatchJobService#runbatchjob
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BatchJobService#runbatchjob
*/
runBatchJob: async (
request: services.RunBatchJobRequest
@@ -5680,7 +5680,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BatchJobService#addbatchjoboperations
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BatchJobService#addbatchjoboperations
*/
addBatchJobOperations: async (
request: services.AddBatchJobOperationsRequest
@@ -5747,7 +5747,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingDataExclusionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingDataExclusionService
*/
public get biddingDataExclusions() {
const service = this.loadService(
@@ -6014,7 +6014,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingSeasonalityAdjustmentService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingSeasonalityAdjustmentService
*/
public get biddingSeasonalityAdjustments() {
const service =
@@ -6285,7 +6285,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BiddingStrategyService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BiddingStrategyService
*/
public get biddingStrategies() {
const service = this.loadService(
@@ -6543,7 +6543,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignAssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignAssetService
*/
public get campaignAssets() {
const service = this.loadService(
@@ -6795,7 +6795,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignAssetSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignAssetSetService
*/
public get campaignAssetSets() {
const service = this.loadService(
@@ -6968,7 +6968,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignBidModifierService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignBidModifierService
*/
public get campaignBidModifiers() {
const service = this.loadService(
@@ -7226,7 +7226,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignBudgetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignBudgetService
*/
public get campaignBudgets() {
const service = this.loadService(
@@ -7484,7 +7484,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignConversionGoalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignConversionGoalService
*/
public get campaignConversionGoals() {
const service = this.loadService(
@@ -7585,7 +7585,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignCriterionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignCriterionService
*/
public get campaignCriteria() {
const service = this.loadService(
@@ -7843,7 +7843,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignCustomizerService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignCustomizerService
*/
public get campaignCustomizers() {
const service = this.loadService(
@@ -8016,7 +8016,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignDraftService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignDraftService
*/
public get campaignDrafts() {
const service = this.loadService(
@@ -8266,7 +8266,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignDraftService#promotecampaigndraft
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignDraftService#promotecampaigndraft
*/
promoteCampaignDraft: async (
request: services.PromoteCampaignDraftRequest
@@ -8331,7 +8331,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignDraftService#listcampaigndraftasyncerrors
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignDraftService#listcampaigndraftasyncerrors
*/
listCampaignDraftAsyncErrors: async (
request: services.ListCampaignDraftAsyncErrorsRequest
@@ -8401,7 +8401,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignGroupService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignGroupService
*/
public get campaignGroups() {
const service = this.loadService(
@@ -8653,7 +8653,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignLabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignLabelService
*/
public get campaignLabels() {
const service = this.loadService(
@@ -8823,7 +8823,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignService
*/
public get campaigns() {
const service = this.loadService(
@@ -9073,7 +9073,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignService#enablepmaxbrandguidelines
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignService#enablepmaxbrandguidelines
*/
enablePMaxBrandGuidelines: async (
request: services.EnablePMaxBrandGuidelinesRequest
@@ -9140,7 +9140,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignSharedSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignSharedSetService
*/
public get campaignSharedSets() {
const service = this.loadService(
@@ -9313,7 +9313,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionActionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionActionService
*/
public get conversionActions() {
const service = this.loadService(
@@ -9571,7 +9571,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionCustomVariableService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionCustomVariableService
*/
public get conversionCustomVariables() {
const service = this.loadService(
@@ -9760,7 +9760,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionGoalCampaignConfigService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionGoalCampaignConfigService
*/
public get conversionGoalCampaignConfigs() {
const service =
@@ -9866,7 +9866,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionValueRuleService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionValueRuleService
*/
public get conversionValueRules() {
const service = this.loadService(
@@ -10124,7 +10124,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionValueRuleSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionValueRuleSetService
*/
public get conversionValueRuleSets() {
const service = this.loadService(
@@ -10391,7 +10391,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomConversionGoalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomConversionGoalService
*/
public get customConversionGoals() {
const service = this.loadService(
@@ -10658,7 +10658,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerAssetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerAssetService
*/
public get customerAssets() {
const service = this.loadService(
@@ -10910,7 +10910,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerConversionGoalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerConversionGoalService
*/
public get customerConversionGoals() {
const service = this.loadService(
@@ -11011,7 +11011,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerCustomizerService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerCustomizerService
*/
public get customerCustomizers() {
const service = this.loadService(
@@ -11184,7 +11184,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerLabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerLabelService
*/
public get customerLabels() {
const service = this.loadService(
@@ -11354,7 +11354,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerNegativeCriterionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerNegativeCriterionService
*/
public get customerNegativeCriteria() {
const service = this.loadService(
@@ -11535,7 +11535,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerService
*/
public get customers() {
const service = this.loadService(
@@ -11631,7 +11631,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerService#listaccessiblecustomers
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerService#listaccessiblecustomers
*/
listAccessibleCustomers: async (
request: services.ListAccessibleCustomersRequest
@@ -11696,7 +11696,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerService#createcustomerclient
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerService#createcustomerclient
*/
createCustomerClient: async (
request: services.CreateCustomerClientRequest
@@ -11763,7 +11763,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomizerAttributeService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomizerAttributeService
*/
public get customizerAttributes() {
const service = this.loadService(
@@ -11936,7 +11936,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentArmService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentArmService
*/
public get experimentArms() {
const service = this.loadService(
@@ -12188,7 +12188,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService
*/
public get experiments() {
const service = this.loadService(
@@ -12438,7 +12438,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService#endexperiment
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService#endexperiment
*/
endExperiment: async (
request: services.EndExperimentRequest
@@ -12503,7 +12503,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService#listexperimentasyncerrors
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService#listexperimentasyncerrors
*/
listExperimentAsyncErrors: async (
request: services.ListExperimentAsyncErrorsRequest
@@ -12568,7 +12568,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService#graduateexperiment
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService#graduateexperiment
*/
graduateExperiment: async (
request: services.GraduateExperimentRequest
@@ -12633,7 +12633,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService#scheduleexperiment
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService#scheduleexperiment
*/
scheduleExperiment: async (
request: services.ScheduleExperimentRequest
@@ -12698,7 +12698,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ExperimentService#promoteexperiment
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ExperimentService#promoteexperiment
*/
promoteExperiment: async (
request: services.PromoteExperimentRequest
@@ -12765,7 +12765,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanAdGroupKeywordService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanAdGroupKeywordService
*/
public get keywordPlanAdGroupKeywords() {
const service = this.loadService(
@@ -13035,7 +13035,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanAdGroupService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanAdGroupService
*/
public get keywordPlanAdGroups() {
const service = this.loadService(
@@ -13293,7 +13293,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanCampaignKeywordService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanCampaignKeywordService
*/
public get keywordPlanCampaignKeywords() {
const service =
@@ -13564,7 +13564,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanCampaignService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanCampaignService
*/
public get keywordPlanCampaigns() {
const service = this.loadService(
@@ -13822,7 +13822,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanService
*/
public get keywordPlans() {
const service = this.loadService(
@@ -14074,7 +14074,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LabelService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LabelService
*/
public get labels() {
const service =
@@ -14325,7 +14325,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationSubscriptionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationSubscriptionService
*/
public get recommendationSubscriptions() {
const service =
@@ -14515,7 +14515,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RemarketingActionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RemarketingActionService
*/
public get remarketingActions() {
const service = this.loadService(
@@ -14696,7 +14696,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SharedCriterionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SharedCriterionService
*/
public get sharedCriteria() {
const service = this.loadService(
@@ -14869,7 +14869,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SharedSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SharedSetService
*/
public get sharedSets() {
const service = this.loadService(
@@ -15121,7 +15121,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSettingService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSettingService
*/
public get smartCampaignSettings() {
const service = this.loadService(
@@ -15135,7 +15135,7 @@ export default class ServiceFactory extends Service {
>;
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSettingService#getsmartcampaignstatus
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSettingService#getsmartcampaignstatus
*/
getSmartCampaignStatus: async (
request: services.GetSmartCampaignStatusRequest
@@ -15290,7 +15290,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListService
*/
public get userLists() {
const service = this.loadService(
@@ -15542,7 +15542,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BillingSetupService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BillingSetupService
*/
public get billingSetups() {
const service = this.loadService(
@@ -15707,7 +15707,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BrandSuggestionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BrandSuggestionService
*/
public get brandSuggestions() {
const service = this.loadService(
@@ -15716,7 +15716,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/BrandSuggestionService#suggestbrands
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/BrandSuggestionService#suggestbrands
*/
suggestBrands: async (
request: services.SuggestBrandsRequest
@@ -15783,7 +15783,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignLifecycleGoalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignLifecycleGoalService
*/
public get campaignLifecycleGoals() {
const service = this.loadService(
@@ -15792,7 +15792,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CampaignLifecycleGoalService#configurecampaignlifecyclegoals
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CampaignLifecycleGoalService#configurecampaignlifecyclegoals
*/
configureCampaignLifecycleGoals: async (
request: services.ConfigureCampaignLifecycleGoalsRequest
@@ -15863,7 +15863,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ContentCreatorInsightsService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ContentCreatorInsightsService
*/
public get contentCreatorInsights() {
const service = this.loadService(
@@ -15872,7 +15872,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ContentCreatorInsightsService#generatecreatorinsights
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ContentCreatorInsightsService#generatecreatorinsights
*/
generateCreatorInsights: async (
request: services.GenerateCreatorInsightsRequest
@@ -15937,7 +15937,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ContentCreatorInsightsService#generatetrendinginsights
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ContentCreatorInsightsService#generatetrendinginsights
*/
generateTrendingInsights: async (
request: services.GenerateTrendingInsightsRequest
@@ -16004,7 +16004,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionAdjustmentUploadService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionAdjustmentUploadService
*/
public get conversionAdjustmentUploads() {
const service =
@@ -16014,7 +16014,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionAdjustmentUploadService#uploadconversionadjustments
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionAdjustmentUploadService#uploadconversionadjustments
*/
uploadConversionAdjustments: async (
request: services.UploadConversionAdjustmentsRequest
@@ -16085,7 +16085,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionUploadService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionUploadService
*/
public get conversionUploads() {
const service = this.loadService(
@@ -16094,7 +16094,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionUploadService#uploadclickconversions
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionUploadService#uploadclickconversions
*/
uploadClickConversions: async (
request: services.UploadClickConversionsRequest
@@ -16159,7 +16159,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ConversionUploadService#uploadcallconversions
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ConversionUploadService#uploadcallconversions
*/
uploadCallConversions: async (
request: services.UploadCallConversionsRequest
@@ -16226,7 +16226,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomAudienceService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomAudienceService
*/
public get customAudiences() {
const service = this.loadService(
@@ -16481,7 +16481,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomInterestService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomInterestService
*/
public get customInterests() {
const service = this.loadService(
@@ -16659,7 +16659,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerAssetSetService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerAssetSetService
*/
public get customerAssetSets() {
const service = this.loadService(
@@ -16832,7 +16832,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerClientLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerClientLinkService
*/
public get customerClientLinks() {
const service = this.loadService(
@@ -17010,7 +17010,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerLifecycleGoalService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerLifecycleGoalService
*/
public get customerLifecycleGoals() {
const service = this.loadService(
@@ -17019,7 +17019,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerLifecycleGoalService#configurecustomerlifecyclegoals
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerLifecycleGoalService#configurecustomerlifecyclegoals
*/
configureCustomerLifecycleGoals: async (
request: services.ConfigureCustomerLifecycleGoalsRequest
@@ -17090,7 +17090,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerManagerLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerManagerLinkService
*/
public get customerManagerLinks() {
const service = this.loadService(
@@ -17186,7 +17186,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerManagerLinkService#movemanagerlink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerManagerLinkService#movemanagerlink
*/
moveManagerLink: async (
request: services.MoveManagerLinkRequest
@@ -17253,7 +17253,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerSkAdNetworkConversionValueSchemaService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerSkAdNetworkConversionValueSchemaService
*/
public get customerSkAdNetworkConversionValueSchemas() {
const service =
@@ -17360,7 +17360,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerUserAccessInvitationService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerUserAccessInvitationService
*/
public get customerUserAccessInvitations() {
const service =
@@ -17537,7 +17537,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/CustomerUserAccessService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/CustomerUserAccessService
*/
public get customerUserAccesses() {
const service = this.loadService(
@@ -17710,7 +17710,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkService
*/
public get dataLinks() {
const service = this.loadService(
@@ -17719,7 +17719,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkService#createdatalink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkService#createdatalink
*/
createDataLink: async (
request: services.CreateDataLinkRequest
@@ -17784,7 +17784,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkService#removedatalink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkService#removedatalink
*/
removeDataLink: async (
request: services.RemoveDataLinkRequest
@@ -17849,7 +17849,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/DataLinkService#updatedatalink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/DataLinkService#updatedatalink
*/
updateDataLink: async (
request: services.UpdateDataLinkRequest
@@ -17916,7 +17916,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GeoTargetConstantService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GeoTargetConstantService
*/
public get geoTargetConstants() {
const service = this.loadService(
@@ -17925,7 +17925,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/GeoTargetConstantService#suggestgeotargetconstants
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/GeoTargetConstantService#suggestgeotargetconstants
*/
suggestGeoTargetConstants: async (
request: services.SuggestGeoTargetConstantsRequest
@@ -17992,7 +17992,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IdentityVerificationService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IdentityVerificationService
*/
public get identityVerifications() {
const service = this.loadService(
@@ -18001,7 +18001,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IdentityVerificationService#startidentityverification
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IdentityVerificationService#startidentityverification
*/
startIdentityVerification: async (
request: services.StartIdentityVerificationRequest
@@ -18066,7 +18066,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/IdentityVerificationService#getidentityverification
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/IdentityVerificationService#getidentityverification
*/
getIdentityVerification: async (
request: services.GetIdentityVerificationRequest
@@ -18133,7 +18133,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InvoiceService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InvoiceService
*/
public get invoices() {
const service = this.loadService(
@@ -18142,7 +18142,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/InvoiceService#listinvoices
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/InvoiceService#listinvoices
*/
listInvoices: async (
request: services.ListInvoicesRequest
@@ -18209,7 +18209,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanIdeaService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanIdeaService
*/
public get keywordPlanIdeas() {
const service = this.loadService(
@@ -18218,7 +18218,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanIdeaService#generatekeywordideas
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanIdeaService#generatekeywordideas
*/
generateKeywordIdeas: async (
request: services.GenerateKeywordIdeasRequest
@@ -18283,7 +18283,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanIdeaService#generatekeywordhistoricalmetrics
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanIdeaService#generatekeywordhistoricalmetrics
*/
generateKeywordHistoricalMetrics: async (
request: services.GenerateKeywordHistoricalMetricsRequest
@@ -18351,7 +18351,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanIdeaService#generateadgroupthemes
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanIdeaService#generateadgroupthemes
*/
generateAdGroupThemes: async (
request: services.GenerateAdGroupThemesRequest
@@ -18416,7 +18416,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordPlanIdeaService#generatekeywordforecastmetrics
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordPlanIdeaService#generatekeywordforecastmetrics
*/
generateKeywordForecastMetrics: async (
request: services.GenerateKeywordForecastMetricsRequest
@@ -18486,7 +18486,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordThemeConstantService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordThemeConstantService
*/
public get keywordThemeConstants() {
const service = this.loadService(
@@ -18495,7 +18495,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/KeywordThemeConstantService#suggestkeywordthemeconstants
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/KeywordThemeConstantService#suggestkeywordthemeconstants
*/
suggestKeywordThemeConstants: async (
request: services.SuggestKeywordThemeConstantsRequest
@@ -18565,7 +18565,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadService
*/
public get localsLeadServices() {
const service = this.loadService(
@@ -18574,7 +18574,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadService#appendleadconversation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadService#appendleadconversation
*/
appendLeadConversation: async (
request: services.AppendLeadConversationRequest
@@ -18639,7 +18639,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/LocalServicesLeadService#provideleadfeedback
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/LocalServicesLeadService#provideleadfeedback
*/
provideLeadFeedback: async (
request: services.ProvideLeadFeedbackRequest
@@ -18706,7 +18706,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobService
*/
public get offlineUserDataJobs() {
const service = this.loadService(
@@ -18715,7 +18715,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobService#createofflineuserdatajob
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobService#createofflineuserdatajob
*/
createOfflineUserDataJob: async (
request: services.CreateOfflineUserDataJobRequest
@@ -18780,7 +18780,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobService#addofflineuserdatajoboperations
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobService#addofflineuserdatajoboperations
*/
addOfflineUserDataJobOperations: async (
request: services.AddOfflineUserDataJobOperationsRequest
@@ -18848,7 +18848,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/OfflineUserDataJobService#runofflineuserdatajob
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/OfflineUserDataJobService#runofflineuserdatajob
*/
runOfflineUserDataJob: async (
request: services.RunOfflineUserDataJobRequest
@@ -18915,7 +18915,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PaymentsAccountService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PaymentsAccountService
*/
public get paymentsAccounts() {
const service = this.loadService(
@@ -18924,7 +18924,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/PaymentsAccountService#listpaymentsaccounts
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/PaymentsAccountService#listpaymentsaccounts
*/
listPaymentsAccounts: async (
request: services.ListPaymentsAccountsRequest
@@ -18991,7 +18991,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkInvitationService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkInvitationService
*/
public get productLinkInvitations() {
const service = this.loadService(
@@ -19000,7 +19000,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkInvitationService#createproductlinkinvitation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkInvitationService#createproductlinkinvitation
*/
createProductLinkInvitation: async (
request: services.CreateProductLinkInvitationRequest
@@ -19068,7 +19068,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkInvitationService#updateproductlinkinvitation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkInvitationService#updateproductlinkinvitation
*/
updateProductLinkInvitation: async (
request: services.UpdateProductLinkInvitationRequest
@@ -19136,7 +19136,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkInvitationService#removeproductlinkinvitation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkInvitationService#removeproductlinkinvitation
*/
removeProductLinkInvitation: async (
request: services.RemoveProductLinkInvitationRequest
@@ -19206,7 +19206,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkService
*/
public get productLinks() {
const service = this.loadService(
@@ -19215,7 +19215,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkService#createproductlink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkService#createproductlink
*/
createProductLink: async (
request: services.CreateProductLinkRequest
@@ -19280,7 +19280,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ProductLinkService#removeproductlink
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ProductLinkService#removeproductlink
*/
removeProductLink: async (
request: services.RemoveProductLinkRequest
@@ -19347,7 +19347,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService
*/
public get reachPlans() {
const service = this.loadService(
@@ -19356,7 +19356,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanService#generateconversionrates
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService#generateconversionrates
*/
generateConversionRates: async (
request: services.GenerateConversionRatesRequest
@@ -19421,7 +19421,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanService#listplannablelocations
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService#listplannablelocations
*/
listPlannableLocations: async (
request: services.ListPlannableLocationsRequest
@@ -19486,7 +19486,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanService#listplannableproducts
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService#listplannableproducts
*/
listPlannableProducts: async (
request: services.ListPlannableProductsRequest
@@ -19551,7 +19551,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ReachPlanService#generatereachforecast
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService#generatereachforecast
*/
generateReachForecast: async (
request: services.GenerateReachForecastRequest
@@ -19614,11 +19614,76 @@ export default class ServiceFactory extends Service {
throw googleAdsError;
}
},
+
+ /**
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ReachPlanService#listplannableuserlists
+ */
+ listPlannableUserLists: async (
+ request: services.ListPlannableUserListsRequest
+ ): Promise => {
+ const baseHookArguments: BaseServiceHookArgs = {
+ credentials: this.credentials,
+ method: "ReachPlanService.ListPlannableUserLists",
+ requestOptions: request,
+ };
+ if (this.hooks.onServiceStart) {
+ const serviceCancellation: HookedCancellation = { cancelled: false };
+ await this.hooks.onServiceStart({
+ ...baseHookArguments,
+ cancel: (res) => {
+ serviceCancellation.cancelled = true;
+ serviceCancellation.res = res;
+ },
+ editOptions: (options) => {
+ Object.entries(options).forEach(([key, val]) => {
+ // @ts-expect-error Index with key type is fine
+ request[key] = val;
+ });
+ },
+ });
+ if (serviceCancellation.cancelled) {
+ return serviceCancellation.res;
+ }
+ }
+ try {
+ // @ts-expect-error Response is an array type
+ const [response] = await service.listPlannableUserLists(request, {
+ // @ts-expect-error This arg doesn't exist in the type definitions
+ otherArgs: {
+ headers: this.callHeaders,
+ },
+ });
+ if (this.hooks.onServiceEnd) {
+ const serviceResolution: HookedResolution = { resolved: false };
+ await this.hooks.onServiceEnd({
+ ...baseHookArguments,
+ response,
+ resolve: (res) => {
+ serviceResolution.resolved = true;
+ serviceResolution.res = res;
+ },
+ });
+ if (serviceResolution.resolved) {
+ return serviceResolution.res;
+ }
+ }
+ return response;
+ } catch (err) {
+ const googleAdsError = this.getGoogleAdsError(err as Error);
+ if (this.hooks.onServiceError) {
+ await this.hooks.onServiceError({
+ ...baseHookArguments,
+ error: googleAdsError,
+ });
+ }
+ throw googleAdsError;
+ }
+ },
};
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationService
*/
public get recommendations() {
const service = this.loadService(
@@ -19627,7 +19692,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationService#applyrecommendation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationService#applyrecommendation
*/
applyRecommendation: async (
request: services.ApplyRecommendationRequest
@@ -19692,7 +19757,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationService#dismissrecommendation
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationService#dismissrecommendation
*/
dismissRecommendation: async (
request: services.DismissRecommendationRequest
@@ -19757,7 +19822,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/RecommendationService#generaterecommendations
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/RecommendationService#generaterecommendations
*/
generateRecommendations: async (
request: services.GenerateRecommendationsRequest
@@ -19824,7 +19889,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ShareablePreviewService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ShareablePreviewService
*/
public get shareablePreviews() {
const service = this.loadService(
@@ -19833,7 +19898,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ShareablePreviewService#generateshareablepreviews
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ShareablePreviewService#generateshareablepreviews
*/
generateShareablePreviews: async (
request: services.GenerateShareablePreviewsRequest
@@ -19900,7 +19965,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSuggestService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSuggestService
*/
public get smartCampaignSuggests() {
const service = this.loadService(
@@ -19909,7 +19974,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSuggestService#suggestsmartcampaignbudgetoptions
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSuggestService#suggestsmartcampaignbudgetoptions
*/
suggestSmartCampaignBudgetOptions: async (
request: services.SuggestSmartCampaignBudgetOptionsRequest
@@ -19978,7 +20043,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSuggestService#suggestsmartcampaignad
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSuggestService#suggestsmartcampaignad
*/
suggestSmartCampaignAd: async (
request: services.SuggestSmartCampaignAdRequest
@@ -20043,7 +20108,7 @@ export default class ServiceFactory extends Service {
},
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/SmartCampaignSuggestService#suggestkeywordthemes
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/SmartCampaignSuggestService#suggestkeywordthemes
*/
suggestKeywordThemes: async (
request: services.SuggestKeywordThemesRequest
@@ -20110,7 +20175,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ThirdPartyAppAnalyticsLinkService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ThirdPartyAppAnalyticsLinkService
*/
public get thirdPartyAppAnalyticsLinks() {
const service =
@@ -20120,7 +20185,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/ThirdPartyAppAnalyticsLinkService#regenerateshareablelinkid
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/ThirdPartyAppAnalyticsLinkService#regenerateshareablelinkid
*/
regenerateShareableLinkId: async (
request: services.RegenerateShareableLinkIdRequest
@@ -20187,7 +20252,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TravelAssetSuggestionService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TravelAssetSuggestionService
*/
public get travelAssetSuggestions() {
const service = this.loadService(
@@ -20196,7 +20261,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/TravelAssetSuggestionService#suggesttravelassets
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/TravelAssetSuggestionService#suggesttravelassets
*/
suggestTravelAssets: async (
request: services.SuggestTravelAssetsRequest
@@ -20263,7 +20328,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserDataService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserDataService
*/
public get userData() {
const service = this.loadService(
@@ -20272,7 +20337,7 @@ export default class ServiceFactory extends Service {
return {
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserDataService#uploaduserdata
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserDataService#uploaduserdata
*/
uploadUserData: async (
request: services.UploadUserDataRequest
@@ -20339,7 +20404,7 @@ export default class ServiceFactory extends Service {
}
/**
- * @link https://developers.google.com/google-ads/api/reference/rpc/v19/UserListCustomerTypeService
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v20/UserListCustomerTypeService
*/
public get userListCustomerTypes() {
const service = this.loadService(
diff --git a/src/protos/index.ts b/src/protos/index.ts
index 5fa67d84..2775a41b 100644
--- a/src/protos/index.ts
+++ b/src/protos/index.ts
@@ -2,20 +2,20 @@ import allProtos, { protos } from "google-ads-node";
import { googleAdsVersion } from "../version";
// "as vN" is required to avoid type issues later on
-export const VERSION = googleAdsVersion as "v19";
+export const VERSION = googleAdsVersion as "v20";
// -- Expose the googleads generated types --
// The namespace path is shortened for ease of use
-export import common = protos.google.ads.googleads.v19.common;
-export import errors = protos.google.ads.googleads.v19.errors;
-export import resources = protos.google.ads.googleads.v19.resources;
-export import services = protos.google.ads.googleads.v19.services;
+export import common = protos.google.ads.googleads.v20.common;
+export import errors = protos.google.ads.googleads.v20.errors;
+export import resources = protos.google.ads.googleads.v20.resources;
+export import services = protos.google.ads.googleads.v20.services;
// We compile enums ourselves, the Google ones should be used internally only
-export import internalEnums = protos.google.ads.googleads.v19.enums;
+export import internalEnums = protos.google.ads.googleads.v20.enums;
export { enums } from "./autogen/enums";
-export { fields } from "./autogen/fields";
+export { fields, fieldDataTypes } from "./autogen/fields";
// Common service used for report/query methods
export { GoogleAdsServiceClient } from "google-ads-node";
diff --git a/src/service.ts b/src/service.ts
index b1a426bb..d5f49a8b 100644
--- a/src/service.ts
+++ b/src/service.ts
@@ -1,5 +1,5 @@
import { grpc } from "google-gax";
-import { UserRefreshClient } from "google-auth-library";
+import { UserRefreshClient, OAuth2Client } from "google-auth-library";
import { ClientOptions } from "./client";
import {
AllServices,
@@ -31,7 +31,7 @@ export interface CallHeaders {
// A global service cache to avoid re-initialising services
const serviceCache = new TTLCache({
- max: 1000,
+ max: 1_000,
ttl: 10 * 60 * 1000, // 10 minutes
dispose: async (service: any) => {
// Close connections when services are removed from the cache
@@ -39,6 +39,12 @@ const serviceCache = new TTLCache({
},
});
+// A global access token cache used by REST calls. Issued tokens expire after 1 hour, so we cache them for 50 minutes.
+const accessTokenCache = new TTLCache({
+ max: 100_000,
+ ttl: 50 * 60 * 1000, // 50 minutes
+});
+
export class Service {
protected readonly clientOptions: ClientOptions;
protected readonly customerOptions: CustomerOptions;
@@ -78,6 +84,7 @@ export class Service {
return headers;
}
+ // Used only by gRPC calls
private getCredentials(): grpc.ChannelCredentials {
const sslCreds = grpc.credentials.createSsl();
const authClient = new UserRefreshClient(
@@ -92,6 +99,35 @@ export class Service {
return credentials;
}
+ // Used only by REST calls
+ public async getAccessToken(): Promise {
+ const cachedToken = accessTokenCache.get(
+ this.customerOptions.refresh_token
+ );
+ if (cachedToken) {
+ return cachedToken;
+ }
+
+ const oAuth2Client = new OAuth2Client(
+ this.clientOptions.client_id,
+ this.clientOptions.client_secret
+ );
+
+ oAuth2Client.setCredentials({
+ refresh_token: this.customerOptions.refresh_token,
+ });
+
+ const { token } = await oAuth2Client.getAccessToken();
+
+ if (typeof token !== "string") {
+ throw new Error("Failed to retrieve access token");
+ }
+
+ accessTokenCache.set(this.customerOptions.refresh_token, token);
+
+ return token;
+ }
+
protected loadService(service: ServiceName): T {
const serviceCacheKey = `${service}_${this.customerOptions.refresh_token}`;
diff --git a/src/testUtils.ts b/src/testUtils.ts
index e898e099..79558c68 100644
--- a/src/testUtils.ts
+++ b/src/testUtils.ts
@@ -2,8 +2,10 @@ import { Readable } from "stream";
import { Customer } from "./customer";
import { Hooks } from "./hooks";
import * as parser from "./parser";
+import * as parserRest from "./parserRest";
import { errors, GoogleAdsServiceClient, services } from "./protos";
import { PageToken, ReportOptions, MutateOperation } from "./types";
+import _ from "lodash";
export const MOCK_CLIENT_ID = "MOCK CLIENT ID";
export const MOCK_CLIENT_SECRET = "MOCK CLIENT SECRET";
@@ -24,12 +26,50 @@ export const mockMutations: MutateOperation[] = [
{ resource: "abc", entity: "campaign", operation: "create" },
];
+export const mockSearchRawResult = [
+ {
+ totalResultsCount: 23,
+ results: [
+ { campaign: { resourceName: "customers/1/campaigns/11" } },
+ { campaign: { resourceName: "customers/2/campaigns/22" } },
+ { campaign: { resourceName: "customers/3/campaigns/33" } },
+ ],
+ },
+];
+
+export const mockSearchRawResultWithSummaryRow = [
+ {
+ totalResultsCount: 23,
+ results: [
+ { campaign: { resourceName: "customers/1/campaigns/11" } },
+ { campaign: { resourceName: "customers/2/campaigns/22" } },
+ { campaign: { resourceName: "customers/3/campaigns/33" } },
+ ],
+ },
+ {
+ summaryRow: { metrics: { clicks: 90, impressions: 153 } },
+ },
+];
+
export const mockQueryReturnValue: services.IGoogleAdsRow[] = [
{ campaign: { resource_name: "customers/1/campaigns/11" } },
{ campaign: { resource_name: "customers/2/campaigns/22" } },
{ campaign: { resource_name: "customers/3/campaigns/33" } },
];
+export const mockQueryReturnValueWithSummaryRow: services.IGoogleAdsRow[] = [
+ { campaign: { resource_name: "customers/1/campaigns/11" } },
+ { campaign: { resource_name: "customers/2/campaigns/22" } },
+ { campaign: { resource_name: "customers/3/campaigns/33" } },
+ { metrics: { clicks: 90, impressions: 153 } },
+];
+
+export const mockQueryReturnValueUnparsed = [
+ { campaign: { resourceName: "customers/1/campaigns/11" } },
+ { campaign: { resourceName: "customers/2/campaigns/22" } },
+ { campaign: { resourceName: "customers/3/campaigns/33" } },
+];
+
export const mockSummaryRow: services.IGoogleAdsRow = {
metrics: { clicks: 90, impressions: 153 },
};
@@ -63,6 +103,34 @@ export const mockParsedValues = [
mockParseValue,
];
+// Returns a stream that emits the provided values
+export const mockStream = function (data: any = mockSearchRawResult) {
+ const chunks = _.chunk(JSON.stringify(data), 10).map((c) => c.join("")); // random splits
+ const stream = new Readable({ objectMode: true });
+ chunks.forEach((value) => stream.push(new Buffer(value)));
+ stream.push(null);
+ return stream;
+};
+
+export function mockGetAccessToken(customer: Customer): jest.SpyInstance {
+ return (
+ jest
+ .spyOn(customer, "getAccessToken")
+ // ts-expect-error
+ .mockImplementation(async () => {
+ return "mockedAccessTokenHere";
+ })
+ );
+}
+
+export const mockStreamWithSummaryRow = function () {
+ return mockStream(mockSearchRawResultWithSummaryRow);
+};
+
+export const mockStreamWithBadData = function () {
+ return mockStream({ results: 66 });
+};
+
export function mockPaginatedSearch(
customer: Customer,
includeTotalResultsCount = false
@@ -72,12 +140,12 @@ export function mockPaginatedSearch(
// @ts-expect-error private method
.spyOn(customer, "paginatedSearch")
// @ts-expect-error
- .mockImplementation((gaqlQuery, requestOptions, _parser) => {
+ .mockImplementation((gaqlQuery, requestOptions) => {
const totalResultsCount = includeTotalResultsCount
? mockTotalResultsCount
: undefined;
return {
- response: _parser(mockQueryReturnValue),
+ response: mockQueryReturnValue,
totalResultsCount,
};
})
@@ -276,6 +344,14 @@ export function mockParse(
return jest.spyOn(parser, "parse").mockImplementation(() => mockParsedValues);
}
+export function mockParseRest(
+ mockParsedValues: services.IGoogleAdsRow[]
+): jest.SpyInstance {
+ return jest
+ .spyOn(parserRest, "decamelizeKeys")
+ .mockImplementation(() => mockParsedValues);
+}
+
export function noopParser(
rows: services.IGoogleAdsRow[]
): services.IGoogleAdsRow[] {
diff --git a/src/utils.ts b/src/utils.ts
index 61830494..7526e343 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -99,25 +99,3 @@ export function getFieldMask(data: Record): protobuf.FieldMask {
paths,
});
}
-
-export function createNextChunkArrivedPromise(): {
- newPromise: Promise;
- resolve: () => void;
- reject: (error: Error) => void;
-} {
- let resolvePromise = (): void => {
- return;
- };
-
- let rejectPromise = (error: Error): void => {
- throw error;
- };
-
- const newPromise = new Promise((resolve, reject) => {
- // @ts-ignore
- resolvePromise = resolve;
- rejectPromise = reject;
- });
-
- return { newPromise, resolve: resolvePromise, reject: rejectPromise };
-}
diff --git a/src/version.ts b/src/version.ts
index d19b05ec..d91d1c53 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const googleAdsVersion = "v19";
+export const googleAdsVersion = "v20";
diff --git a/tsconfig.json b/tsconfig.json
index 6123728b..6d97748a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,7 +2,7 @@
"compilerOptions": {
/* Basic Options */
"incremental": true /* Enable incremental compilation */,
- "target": "es2019", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+ "target": "es2022", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
// "lib": [], /* Specify library files to be included in the compilation. */
// "allowJs": true, /* Allow javascript files to be compiled. */
diff --git a/yarn.lock b/yarn.lock
index 918d809f..012265ab 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4,7 +4,7 @@
"@ampproject/remapping@^2.2.0":
version "2.3.0"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz"
integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
dependencies:
"@jridgewell/gen-mapping" "^0.3.5"
@@ -12,14 +12,14 @@
"@babel/code-frame@7.12.11":
version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
dependencies:
"@babel/highlight" "^7.10.4"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz"
integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
dependencies:
"@babel/helper-validator-identifier" "^7.27.1"
@@ -27,13 +27,13 @@
picocolors "^1.1.1"
"@babel/compat-data@^7.27.2":
- version "7.27.3"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111"
- integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==
+ version "7.27.5"
+ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz"
+ integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==
"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9":
version "7.27.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce"
+ resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz"
integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==
dependencies:
"@ampproject/remapping" "^2.2.0"
@@ -53,11 +53,11 @@
semver "^6.3.1"
"@babel/generator@^7.27.3", "@babel/generator@^7.7.2":
- version "7.27.3"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc"
- integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q==
+ version "7.27.5"
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz"
+ integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==
dependencies:
- "@babel/parser" "^7.27.3"
+ "@babel/parser" "^7.27.5"
"@babel/types" "^7.27.3"
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.25"
@@ -65,7 +65,7 @@
"@babel/helper-compilation-targets@^7.27.2":
version "7.27.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz"
integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
dependencies:
"@babel/compat-data" "^7.27.2"
@@ -76,7 +76,7 @@
"@babel/helper-module-imports@^7.27.1":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz"
integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
dependencies:
"@babel/traverse" "^7.27.1"
@@ -84,7 +84,7 @@
"@babel/helper-module-transforms@^7.27.3":
version "7.27.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02"
+ resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz"
integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==
dependencies:
"@babel/helper-module-imports" "^7.27.1"
@@ -93,35 +93,35 @@
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz"
integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
"@babel/helper-string-parser@^7.27.1":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz"
integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
"@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.27.1":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz"
integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
"@babel/helper-validator-option@^7.27.1":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz"
integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
"@babel/helpers@^7.27.4":
- version "7.27.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.4.tgz#c79050c6a0e41e095bfc96d469c85431e9ed7fe7"
- integrity sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==
+ version "7.27.6"
+ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz"
+ integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==
dependencies:
"@babel/template" "^7.27.2"
- "@babel/types" "^7.27.3"
+ "@babel/types" "^7.27.6"
"@babel/highlight@^7.10.4":
version "7.25.9"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6"
+ resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz"
integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==
dependencies:
"@babel/helper-validator-identifier" "^7.25.9"
@@ -129,135 +129,135 @@
js-tokens "^4.0.0"
picocolors "^1.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.3", "@babel/parser@^7.27.4":
- version "7.27.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.4.tgz#f92e89e4f51847be05427285836fc88341c956df"
- integrity sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5":
+ version "7.27.5"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz"
+ integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==
dependencies:
"@babel/types" "^7.27.3"
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"
integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-bigint@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz"
integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-class-properties@^7.12.13":
version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-syntax-class-static-block@^7.14.5":
version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz"
integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-import-attributes@^7.24.7":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz"
integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-syntax-import-meta@^7.10.4":
version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz"
integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-jsx@^7.7.2":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz"
integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"
integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-numeric-separator@^7.10.4":
version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-object-rest-spread@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"
integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"
integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-optional-chaining@^7.8.3":
version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"
integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-private-property-in-object@^7.14.5":
version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz"
integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-top-level-await@^7.14.5":
version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript@^7.7.2":
version "7.27.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz"
integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/template@^7.27.2", "@babel/template@^7.3.3":
version "7.27.2"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
dependencies:
"@babel/code-frame" "^7.27.1"
@@ -266,7 +266,7 @@
"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4":
version "7.27.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz"
integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==
dependencies:
"@babel/code-frame" "^7.27.1"
@@ -277,99 +277,184 @@
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.3.3":
- version "7.27.3"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec"
- integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.3.3":
+ version "7.27.6"
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz"
+ integrity sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==
dependencies:
"@babel/helper-string-parser" "^7.27.1"
"@babel/helper-validator-identifier" "^7.27.1"
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
- resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
+ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@esbuild/aix-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
+ integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
+
"@esbuild/aix-ppc64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz#4e0f91776c2b340e75558f60552195f6fad09f18"
integrity sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==
+"@esbuild/android-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
+ integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
+
"@esbuild/android-arm64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz#bc766407f1718923f6b8079c8c61bf86ac3a6a4f"
integrity sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==
+"@esbuild/android-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
+ integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
+
"@esbuild/android-arm@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.5.tgz#4290d6d3407bae3883ad2cded1081a234473ce26"
integrity sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==
+"@esbuild/android-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
+ integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
+
"@esbuild/android-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.5.tgz#40c11d9cbca4f2406548c8a9895d321bc3b35eff"
integrity sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==
+"@esbuild/darwin-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz"
+ integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
+
"@esbuild/darwin-arm64@0.25.5":
version "0.25.5"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz#49d8bf8b1df95f759ac81eb1d0736018006d7e34"
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz"
integrity sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==
+"@esbuild/darwin-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
+ integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
+
"@esbuild/darwin-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz#e27a5d92a14886ef1d492fd50fc61a2d4d87e418"
integrity sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==
+"@esbuild/freebsd-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
+ integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
+
"@esbuild/freebsd-arm64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz#97cede59d638840ca104e605cdb9f1b118ba0b1c"
integrity sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==
+"@esbuild/freebsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
+ integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
+
"@esbuild/freebsd-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz#71c77812042a1a8190c3d581e140d15b876b9c6f"
integrity sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==
+"@esbuild/linux-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
+ integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
+
"@esbuild/linux-arm64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz#f7b7c8f97eff8ffd2e47f6c67eb5c9765f2181b8"
integrity sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==
+"@esbuild/linux-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
+ integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
+
"@esbuild/linux-arm@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz#2a0be71b6cd8201fa559aea45598dffabc05d911"
integrity sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==
+"@esbuild/linux-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
+ integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
+
"@esbuild/linux-ia32@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz#763414463cd9ea6fa1f96555d2762f9f84c61783"
integrity sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==
+"@esbuild/linux-loong64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
+ integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
+
"@esbuild/linux-loong64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz#428cf2213ff786a502a52c96cf29d1fcf1eb8506"
integrity sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==
+"@esbuild/linux-mips64el@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
+ integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
+
"@esbuild/linux-mips64el@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz#5cbcc7fd841b4cd53358afd33527cd394e325d96"
integrity sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==
+"@esbuild/linux-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
+ integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
+
"@esbuild/linux-ppc64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz#0d954ab39ce4f5e50f00c4f8c4fd38f976c13ad9"
integrity sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==
+"@esbuild/linux-riscv64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
+ integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
+
"@esbuild/linux-riscv64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz#0e7dd30730505abd8088321e8497e94b547bfb1e"
integrity sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==
+"@esbuild/linux-s390x@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
+ integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
+
"@esbuild/linux-s390x@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz#5669af81327a398a336d7e40e320b5bbd6e6e72d"
integrity sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==
+"@esbuild/linux-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
+ integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
+
"@esbuild/linux-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz#b2357dd153aa49038967ddc1ffd90c68a9d2a0d4"
@@ -380,6 +465,11 @@
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz#53b4dfb8fe1cee93777c9e366893bd3daa6ba63d"
integrity sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==
+"@esbuild/netbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
+ integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
+
"@esbuild/netbsd-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz#a0206f6314ce7dc8713b7732703d0f58de1d1e79"
@@ -390,26 +480,51 @@
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz#2a796c87c44e8de78001d808c77d948a21ec22fd"
integrity sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==
+"@esbuild/openbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
+ integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
+
"@esbuild/openbsd-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz#28d0cd8909b7fa3953af998f2b2ed34f576728f0"
integrity sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==
+"@esbuild/sunos-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
+ integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
+
"@esbuild/sunos-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz#a28164f5b997e8247d407e36c90d3fd5ddbe0dc5"
integrity sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==
+"@esbuild/win32-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
+ integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
+
"@esbuild/win32-arm64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz#6eadbead38e8bd12f633a5190e45eff80e24007e"
integrity sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==
+"@esbuild/win32-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
+ integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
+
"@esbuild/win32-ia32@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz#bab6288005482f9ed2adb9ded7e88eba9a62cc0d"
integrity sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==
+"@esbuild/win32-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
+ integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
+
"@esbuild/win32-x64@0.25.5":
version "0.25.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz#7fc114af5f6563f19f73324b5d5ff36ece0803d1"
@@ -417,7 +532,7 @@
"@eslint/eslintrc@^0.4.3":
version "0.4.3"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz"
integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
dependencies:
ajv "^6.12.4"
@@ -432,7 +547,7 @@
"@grpc/grpc-js@^1.12.6":
version "1.13.4"
- resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.4.tgz#922fbc496e229c5fa66802d2369bf181c1df1c5a"
+ resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.4.tgz"
integrity sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==
dependencies:
"@grpc/proto-loader" "^0.7.13"
@@ -440,7 +555,7 @@
"@grpc/proto-loader@^0.7.13":
version "0.7.15"
- resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.15.tgz#4cdfbf35a35461fc843abe8b9e2c0770b5095e60"
+ resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz"
integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==
dependencies:
lodash.camelcase "^4.3.0"
@@ -450,7 +565,7 @@
"@humanwhocodes/config-array@^0.5.0":
version "0.5.0"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
+ resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz"
integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
dependencies:
"@humanwhocodes/object-schema" "^1.2.0"
@@ -459,17 +574,17 @@
"@humanwhocodes/object-schema@^1.2.0":
version "1.2.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@isaacs/ttlcache@^1.2.2":
version "1.4.1"
- resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2"
+ resolved "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz"
integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
+ resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz"
integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
dependencies:
camelcase "^5.3.1"
@@ -480,12 +595,12 @@
"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
version "0.1.3"
- resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
+ resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
"@jest/console@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc"
+ resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz"
integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
dependencies:
"@jest/types" "^29.6.3"
@@ -497,7 +612,7 @@
"@jest/core@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f"
+ resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz"
integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==
dependencies:
"@jest/console" "^29.7.0"
@@ -531,7 +646,7 @@
"@jest/environment@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7"
+ resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz"
integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
dependencies:
"@jest/fake-timers" "^29.7.0"
@@ -541,14 +656,14 @@
"@jest/expect-utils@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6"
+ resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz"
integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==
dependencies:
jest-get-type "^29.6.3"
"@jest/expect@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2"
+ resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz"
integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
dependencies:
expect "^29.7.0"
@@ -556,7 +671,7 @@
"@jest/fake-timers@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565"
+ resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz"
integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==
dependencies:
"@jest/types" "^29.6.3"
@@ -568,7 +683,7 @@
"@jest/globals@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d"
+ resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz"
integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
dependencies:
"@jest/environment" "^29.7.0"
@@ -578,7 +693,7 @@
"@jest/reporters@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7"
+ resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz"
integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==
dependencies:
"@bcoe/v8-coverage" "^0.2.3"
@@ -608,14 +723,14 @@
"@jest/schemas@^29.6.3":
version "29.6.3"
- resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
+ resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz"
integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
dependencies:
"@sinclair/typebox" "^0.27.8"
"@jest/source-map@^29.6.3":
version "29.6.3"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4"
+ resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz"
integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
dependencies:
"@jridgewell/trace-mapping" "^0.3.18"
@@ -624,7 +739,7 @@
"@jest/test-result@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c"
+ resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz"
integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
dependencies:
"@jest/console" "^29.7.0"
@@ -634,7 +749,7 @@
"@jest/test-sequencer@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce"
+ resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz"
integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
dependencies:
"@jest/test-result" "^29.7.0"
@@ -644,7 +759,7 @@
"@jest/transform@^29.7.0":
version "29.7.0"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c"
+ resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
dependencies:
"@babel/core" "^7.11.6"
@@ -665,7 +780,7 @@
"@jest/types@^29.6.3":
version "29.6.3"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59"
+ resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
dependencies:
"@jest/schemas" "^29.6.3"
@@ -677,7 +792,7 @@
"@jridgewell/gen-mapping@^0.3.5":
version "0.3.8"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz"
integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
dependencies:
"@jridgewell/set-array" "^1.2.1"
@@ -686,22 +801,22 @@
"@jridgewell/resolve-uri@^3.1.0":
version "3.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
"@jridgewell/set-array@^1.2.1":
version "1.2.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
+ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"
integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
version "1.5.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
version "0.3.25"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
@@ -709,12 +824,12 @@
"@js-sdsl/ordered-map@^4.4.2":
version "4.4.2"
- resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c"
+ resolved "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz"
integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
dependencies:
"@nodelib/fs.stat" "2.0.5"
@@ -722,12 +837,12 @@
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
"@nodelib/fs.walk@^1.2.3":
version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
dependencies:
"@nodelib/fs.scandir" "2.1.5"
@@ -735,27 +850,27 @@
"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+ resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz"
integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==
"@protobufjs/base64@^1.1.2":
version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+ resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz"
integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
"@protobufjs/codegen@^2.0.4":
version "2.0.4"
- resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+ resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz"
integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
"@protobufjs/eventemitter@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+ resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz"
integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==
"@protobufjs/fetch@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+ resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz"
integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==
dependencies:
"@protobufjs/aspromise" "^1.1.1"
@@ -763,56 +878,56 @@
"@protobufjs/float@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+ resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz"
integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==
"@protobufjs/inquire@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+ resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz"
integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==
"@protobufjs/path@^1.1.2":
version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+ resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz"
integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==
"@protobufjs/pool@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+ resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz"
integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==
"@protobufjs/utf8@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
+ resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
"@sinclair/typebox@^0.27.8":
version "0.27.8"
- resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
+ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz"
integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
"@sinonjs/commons@^3.0.0":
version "3.0.1"
- resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd"
+ resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz"
integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==
dependencies:
type-detect "4.0.8"
"@sinonjs/fake-timers@^10.0.2":
version "10.3.0"
- resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66"
+ resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz"
integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==
dependencies:
"@sinonjs/commons" "^3.0.0"
"@tootallnate/once@2":
version "2.0.0"
- resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+ resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
"@types/babel__core@^7.1.14":
version "7.20.5"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
+ resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
dependencies:
"@babel/parser" "^7.20.7"
@@ -823,14 +938,14 @@
"@types/babel__generator@*":
version "7.27.0"
- resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9"
+ resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz"
integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==
dependencies:
"@babel/types" "^7.0.0"
"@types/babel__template@*":
version "7.4.4"
- resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f"
+ resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz"
integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
dependencies:
"@babel/parser" "^7.1.0"
@@ -838,45 +953,45 @@
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
version "7.20.7"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2"
+ resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz"
integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==
dependencies:
"@babel/types" "^7.20.7"
"@types/caseless@*":
version "0.12.5"
- resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.5.tgz#db9468cb1b1b5a925b8f34822f1669df0c5472f5"
+ resolved "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz"
integrity sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==
"@types/graceful-fs@^4.1.3":
version "4.1.9"
- resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4"
+ resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==
dependencies:
"@types/node" "*"
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.6"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7"
+ resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz"
integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==
"@types/istanbul-lib-report@*":
version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf"
+ resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz"
integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==
dependencies:
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-reports@^3.0.0":
version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54"
+ resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz"
integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==
dependencies:
"@types/istanbul-lib-report" "*"
"@types/jest@^29.0.1":
version "29.5.14"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5"
+ resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz"
integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==
dependencies:
expect "^29.0.0"
@@ -884,36 +999,41 @@
"@types/json-schema@^7.0.7":
version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+"@types/lodash@^4.14.202":
+ version "4.17.17"
+ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.17.tgz"
+ integrity sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==
+
"@types/long@^4.0.0":
version "4.0.2"
- resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a"
+ resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz"
integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==
"@types/long@^5.0.0":
version "5.0.0"
- resolved "https://registry.yarnpkg.com/@types/long/-/long-5.0.0.tgz#daaa7b7f74c919c946ff74889d5ca2afe363b2cd"
+ resolved "https://registry.npmjs.org/@types/long/-/long-5.0.0.tgz"
integrity sha512-eQs9RsucA/LNjnMoJvWG/nXa7Pot/RbBzilF/QRIU/xRl+0ApxrSUFsV5lmf01SvSlqMzJ7Zwxe440wmz2SJGA==
dependencies:
long "*"
"@types/node@*", "@types/node@>=13.7.0", "@types/node@^22.5.4":
- version "22.15.28"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.28.tgz#97d851fda6db030612fa0b472577bbc0fe0bc668"
- integrity sha512-I0okKVDmyKR281I0UIFV7EWAWRnR0gkuSKob5wVcByyyhr7Px/slhkQapcYX4u00ekzNWaS1gznKZnuzxwo4pw==
+ version "22.15.29"
+ resolved "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz"
+ integrity sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==
dependencies:
undici-types "~6.21.0"
"@types/pluralize@^0.0.29":
version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/pluralize/-/pluralize-0.0.29.tgz#6ffa33ed1fc8813c469b859681d09707eb40d03c"
+ resolved "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.29.tgz"
integrity sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==
"@types/request@^2.48.12":
version "2.48.12"
- resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.12.tgz#0f590f615a10f87da18e9790ac94c29ec4c5ef30"
+ resolved "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz"
integrity sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==
dependencies:
"@types/caseless" "*"
@@ -923,29 +1043,44 @@
"@types/stack-utils@^2.0.0":
version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
+ resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz"
integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
+"@types/stream-chain@*":
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/@types/stream-chain/-/stream-chain-2.1.0.tgz"
+ integrity sha512-guDyAl6s/CAzXUOWpGK2bHvdiopLIwpGu8v10+lb9hnQOyo4oj/ZUQFOvqFjKGsE3wJP1fpIesCcMvbXuWsqOg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/stream-json@^1.7.7":
+ version "1.7.8"
+ resolved "https://registry.npmjs.org/@types/stream-json/-/stream-json-1.7.8.tgz"
+ integrity sha512-MU1OB1eFLcYWd1LjwKXrxdoPtXSRzRmAnnxs4Js/ayB5O/NvHraWwuOaqMWIebpYwM6khFlsJOHEhI9xK/ab4Q==
+ dependencies:
+ "@types/node" "*"
+ "@types/stream-chain" "*"
+
"@types/tough-cookie@*":
version "4.0.5"
- resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
+ resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz"
integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
"@types/yargs-parser@*":
version "21.0.3"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15"
+ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz"
integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==
"@types/yargs@^17.0.8":
version "17.0.33"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d"
+ resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz"
integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^4.8.2":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"
+ resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz"
integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==
dependencies:
"@typescript-eslint/experimental-utils" "4.33.0"
@@ -959,7 +1094,7 @@
"@typescript-eslint/experimental-utils@4.33.0":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd"
+ resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz"
integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==
dependencies:
"@types/json-schema" "^7.0.7"
@@ -971,7 +1106,7 @@
"@typescript-eslint/parser@^4.8.2":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
+ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz"
integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==
dependencies:
"@typescript-eslint/scope-manager" "4.33.0"
@@ -981,7 +1116,7 @@
"@typescript-eslint/scope-manager@4.33.0":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz"
integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==
dependencies:
"@typescript-eslint/types" "4.33.0"
@@ -989,12 +1124,12 @@
"@typescript-eslint/types@4.33.0":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz"
integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==
"@typescript-eslint/typescript-estree@4.33.0":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz"
integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
dependencies:
"@typescript-eslint/types" "4.33.0"
@@ -1007,7 +1142,7 @@
"@typescript-eslint/visitor-keys@4.33.0":
version "4.33.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz"
integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==
dependencies:
"@typescript-eslint/types" "4.33.0"
@@ -1015,36 +1150,36 @@
abort-controller@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
dependencies:
event-target-shim "^5.0.0"
acorn-jsx@^5.3.1:
version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^7.4.0:
version "7.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
agent-base@6:
version "6.0.2"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
dependencies:
debug "4"
agent-base@^7.1.2:
version "7.1.3"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1"
+ resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz"
integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==
ajv@^6.10.0, ajv@^6.12.4:
version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies:
fast-deep-equal "^3.1.1"
@@ -1054,7 +1189,7 @@ ajv@^6.10.0, ajv@^6.12.4:
ajv@^8.0.1:
version "8.17.1"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz"
integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
dependencies:
fast-deep-equal "^3.1.3"
@@ -1064,43 +1199,43 @@ ajv@^8.0.1:
ansi-colors@^4.1.1:
version "4.1.3"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
+ resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz"
integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==
ansi-escapes@^4.2.1:
version "4.3.2"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
dependencies:
type-fest "^0.21.3"
ansi-regex@^5.0.1:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
ansi-styles@^3.2.1:
version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
color-convert "^2.0.1"
ansi-styles@^5.0.0:
version "5.2.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
anymatch@^3.0.3:
version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+ resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
dependencies:
normalize-path "^3.0.0"
@@ -1108,34 +1243,51 @@ anymatch@^3.0.3:
argparse@^1.0.7:
version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
dependencies:
sprintf-js "~1.0.2"
array-union@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
astral-regex@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
async@^3.2.3:
version "3.2.6"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce"
+ resolved "https://registry.npmjs.org/async/-/async-3.2.6.tgz"
integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
asynckit@^0.4.0:
version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+axios-mock-adapter@^1.22.0:
+ version "1.22.0"
+ resolved "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz"
+ integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ is-buffer "^2.0.5"
+
+axios@^1.6.7:
+ version "1.9.0"
+ resolved "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz"
+ integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==
+ dependencies:
+ follow-redirects "^1.15.6"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
babel-jest@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5"
+ resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz"
integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
dependencies:
"@jest/transform" "^29.7.0"
@@ -1148,7 +1300,7 @@ babel-jest@^29.7.0:
babel-plugin-istanbul@^6.1.1:
version "6.1.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
+ resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz"
integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
@@ -1159,7 +1311,7 @@ babel-plugin-istanbul@^6.1.1:
babel-plugin-jest-hoist@^29.6.3:
version "29.6.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626"
+ resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
dependencies:
"@babel/template" "^7.3.3"
@@ -1169,7 +1321,7 @@ babel-plugin-jest-hoist@^29.6.3:
babel-preset-current-node-syntax@^1.0.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30"
+ resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz"
integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==
dependencies:
"@babel/plugin-syntax-async-generators" "^7.8.4"
@@ -1190,7 +1342,7 @@ babel-preset-current-node-syntax@^1.0.0:
babel-preset-jest@^29.6.3:
version "29.6.3"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c"
+ resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
dependencies:
babel-plugin-jest-hoist "^29.6.3"
@@ -1198,22 +1350,22 @@ babel-preset-jest@^29.6.3:
balanced-match@^1.0.0:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base64-js@^1.3.0:
version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
bignumber.js@^9.0.0:
version "9.3.0"
- resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.0.tgz#bdba7e2a4c1a2eba08290e8dcad4f36393c92acd"
+ resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz"
integrity sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==
brace-expansion@^1.1.7:
version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
@@ -1221,21 +1373,21 @@ brace-expansion@^1.1.7:
brace-expansion@^2.0.1:
version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
dependencies:
balanced-match "^1.0.0"
braces@^3.0.3:
version "3.0.3"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
+ resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
dependencies:
fill-range "^7.1.1"
browserslist@^4.24.0:
version "4.25.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c"
+ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz"
integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==
dependencies:
caniuse-lite "^1.0.30001718"
@@ -1245,31 +1397,31 @@ browserslist@^4.24.0:
bs-logger@^0.2.6:
version "0.2.6"
- resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
+ resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz"
integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
dependencies:
fast-json-stable-stringify "2.x"
bser@2.1.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
+ resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz"
integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
dependencies:
node-int64 "^0.4.0"
buffer-equal-constant-time@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
buffer-from@^1.0.0:
version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
+ resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz"
integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
dependencies:
es-errors "^1.3.0"
@@ -1277,27 +1429,27 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
callsites@^3.0.0:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase@^5.3.1:
version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
camelcase@^6.2.0:
version "6.3.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001718:
- version "1.0.30001720"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd"
- integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==
+ version "1.0.30001721"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz"
+ integrity sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==
chalk@^2.4.2:
version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
@@ -1306,7 +1458,7 @@ chalk@^2.4.2:
chalk@^4.0.0, chalk@^4.0.2:
version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
@@ -1314,22 +1466,27 @@ chalk@^4.0.0, chalk@^4.0.2:
char-regex@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
+ resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
ci-info@^3.2.0:
version "3.9.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
+ resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+circ-json@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/circ-json/-/circ-json-1.0.4.tgz"
+ integrity sha512-/2NljkKlOCvNgs8jsIlJcCFhUfF6C1JJKM8PdJQ6HqIrqhJBouMcWFdeDJLNLZAadeTj0K9FMziH74hpEtAr1g==
+
cjs-module-lexer@^1.0.0:
version "1.4.3"
- resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d"
+ resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz"
integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==
cliui@^8.0.1:
version "8.0.1"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
+ resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz"
integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
dependencies:
string-width "^4.2.0"
@@ -1338,58 +1495,58 @@ cliui@^8.0.1:
co@^4.6.0:
version "4.6.0"
- resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
collect-v8-coverage@^1.0.0:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9"
+ resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz"
integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==
color-convert@^1.9.0:
version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@~1.1.4:
version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
combined-stream@^1.0.8:
version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
concat-map@0.0.1:
version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
convert-source-map@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
create-jest@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320"
+ resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz"
integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==
dependencies:
"@jest/types" "^29.6.3"
@@ -1402,7 +1559,7 @@ create-jest@^29.7.0:
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.6"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
dependencies:
path-key "^3.1.0"
@@ -1411,63 +1568,63 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
data-uri-to-buffer@^4.0.0:
version "4.0.1"
- resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
+ resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz"
integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
version "4.4.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
+ resolved "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz"
integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
dependencies:
ms "^2.1.3"
dedent@^1.0.0:
version "1.6.0"
- resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.6.0.tgz#79d52d6389b1ffa67d2bcef59ba51847a9d503b2"
+ resolved "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz"
integrity sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==
deep-is@^0.1.3:
version "0.1.4"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
deepmerge@^4.2.2:
version "4.3.1"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
+ resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
delayed-stream@~1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
detect-newline@^3.0.0:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
+ resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
diff-sequences@^29.6.3:
version "29.6.3"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921"
+ resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz"
integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
dir-glob@^3.0.1:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
dependencies:
path-type "^4.0.0"
doctrine@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
dependencies:
esutils "^2.0.2"
dunder-proto@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
dependencies:
call-bind-apply-helpers "^1.0.1"
@@ -1476,7 +1633,7 @@ dunder-proto@^1.0.1:
duplexify@^4.1.3:
version "4.1.3"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f"
+ resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz"
integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==
dependencies:
end-of-stream "^1.4.1"
@@ -1486,43 +1643,43 @@ duplexify@^4.1.3:
ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11:
version "1.0.11"
- resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz"
integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
dependencies:
safe-buffer "^5.0.1"
ejs@^3.1.10:
version "3.1.10"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b"
+ resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz"
integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==
dependencies:
jake "^10.8.5"
electron-to-chromium@^1.5.160:
- version "1.5.161"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12"
- integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==
+ version "1.5.165"
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz"
+ integrity sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==
emittery@^0.13.1:
version "0.13.1"
- resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad"
+ resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz"
integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
emoji-regex@^8.0.0:
version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
end-of-stream@^1.4.1:
version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
dependencies:
once "^1.4.0"
enquirer@^2.3.5:
version "2.4.1"
- resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56"
+ resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz"
integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==
dependencies:
ansi-colors "^4.1.1"
@@ -1530,31 +1687,31 @@ enquirer@^2.3.5:
error-ex@^1.3.1:
version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
es-define-property@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz"
integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
es-errors@^1.3.0:
version "1.3.0"
- resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
version "1.1.1"
- resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz"
integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
dependencies:
es-errors "^1.3.0"
es-set-tostringtag@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
+ resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz"
integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
dependencies:
es-errors "^1.3.0"
@@ -1562,9 +1719,38 @@ es-set-tostringtag@^2.1.0:
has-tostringtag "^1.0.2"
hasown "^2.0.2"
+esbuild@^0.20.1:
+ version "0.20.2"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz"
+ integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.20.2"
+ "@esbuild/android-arm" "0.20.2"
+ "@esbuild/android-arm64" "0.20.2"
+ "@esbuild/android-x64" "0.20.2"
+ "@esbuild/darwin-arm64" "0.20.2"
+ "@esbuild/darwin-x64" "0.20.2"
+ "@esbuild/freebsd-arm64" "0.20.2"
+ "@esbuild/freebsd-x64" "0.20.2"
+ "@esbuild/linux-arm" "0.20.2"
+ "@esbuild/linux-arm64" "0.20.2"
+ "@esbuild/linux-ia32" "0.20.2"
+ "@esbuild/linux-loong64" "0.20.2"
+ "@esbuild/linux-mips64el" "0.20.2"
+ "@esbuild/linux-ppc64" "0.20.2"
+ "@esbuild/linux-riscv64" "0.20.2"
+ "@esbuild/linux-s390x" "0.20.2"
+ "@esbuild/linux-x64" "0.20.2"
+ "@esbuild/netbsd-x64" "0.20.2"
+ "@esbuild/openbsd-x64" "0.20.2"
+ "@esbuild/sunos-x64" "0.20.2"
+ "@esbuild/win32-arm64" "0.20.2"
+ "@esbuild/win32-ia32" "0.20.2"
+ "@esbuild/win32-x64" "0.20.2"
+
esbuild@~0.25.0:
version "0.25.5"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.5.tgz#71075054993fdfae76c66586f9b9c1f8d7edd430"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz"
integrity sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==
optionalDependencies:
"@esbuild/aix-ppc64" "0.25.5"
@@ -1595,27 +1781,27 @@ esbuild@~0.25.0:
escalade@^3.1.1, escalade@^3.2.0:
version "3.2.0"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
escape-string-regexp@^1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
escape-string-regexp@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
escape-string-regexp@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
eslint-scope@^5.1.1:
version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
dependencies:
esrecurse "^4.3.0"
@@ -1623,31 +1809,31 @@ eslint-scope@^5.1.1:
eslint-utils@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
dependencies:
eslint-visitor-keys "^1.1.0"
eslint-utils@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz"
integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
dependencies:
eslint-visitor-keys "^2.0.0"
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@^2.0.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
eslint@^7.14.0:
version "7.32.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz"
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
dependencies:
"@babel/code-frame" "7.12.11"
@@ -1693,7 +1879,7 @@ eslint@^7.14.0:
espree@^7.3.0, espree@^7.3.1:
version "7.3.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
+ resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz"
integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
dependencies:
acorn "^7.4.0"
@@ -1702,46 +1888,46 @@ espree@^7.3.0, espree@^7.3.1:
esprima@^4.0.0:
version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.4.0:
version "1.6.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
+ resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
dependencies:
estraverse "^5.1.0"
esrecurse@^4.3.0:
version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
dependencies:
estraverse "^5.2.0"
estraverse@^4.1.1:
version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
estraverse@^5.1.0, estraverse@^5.2.0:
version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
esutils@^2.0.2:
version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
event-target-shim@^5.0.0:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
execa@^5.0.0:
version "5.1.1"
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
dependencies:
cross-spawn "^7.0.3"
@@ -1756,12 +1942,12 @@ execa@^5.0.0:
exit@^0.1.2:
version "0.1.2"
- resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
expect@^29.0.0, expect@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc"
+ resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz"
integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
dependencies:
"@jest/expect-utils" "^29.7.0"
@@ -1772,17 +1958,17 @@ expect@^29.0.0, expect@^29.7.0:
extend@^3.0.2:
version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.2.9:
version "3.3.3"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
+ resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
@@ -1793,36 +1979,36 @@ fast-glob@^3.2.9:
fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
fast-levenshtein@^2.0.6:
version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
fast-uri@^3.0.1:
version "3.0.6"
- resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748"
+ resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz"
integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==
fastq@^1.6.0:
version "1.19.1"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5"
+ resolved "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz"
integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
dependencies:
reusify "^1.0.4"
fb-watchman@^2.0.0:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c"
+ resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz"
integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
dependencies:
bser "2.1.1"
fetch-blob@^3.1.2, fetch-blob@^3.1.4:
version "3.2.0"
- resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
+ resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz"
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
dependencies:
node-domexception "^1.0.0"
@@ -1830,28 +2016,28 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4:
file-entry-cache@^6.0.1:
version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
dependencies:
flat-cache "^3.0.4"
filelist@^1.0.4:
version "1.0.4"
- resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+ resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz"
integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
dependencies:
minimatch "^5.0.1"
fill-range@^7.1.1:
version "7.1.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
+ resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
dependencies:
to-regex-range "^5.0.1"
find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies:
locate-path "^5.0.0"
@@ -1859,7 +2045,7 @@ find-up@^4.0.0, find-up@^4.1.0:
flat-cache@^3.0.4:
version "3.2.0"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
+ resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz"
integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
dependencies:
flatted "^3.2.9"
@@ -1868,12 +2054,17 @@ flat-cache@^3.0.4:
flatted@^3.2.9:
version "3.3.3"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358"
+ resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz"
integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
+follow-redirects@^1.15.6:
+ version "1.15.9"
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz"
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
+
form-data@^2.5.0:
version "2.5.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.3.tgz#f9bcf87418ce748513c0c3494bb48ec270c97acc"
+ resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.3.tgz"
integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==
dependencies:
asynckit "^0.4.0"
@@ -1882,36 +2073,46 @@ form-data@^2.5.0:
mime-types "^2.1.35"
safe-buffer "^5.2.1"
+form-data@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz"
+ integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ es-set-tostringtag "^2.1.0"
+ mime-types "^2.1.12"
+
formdata-polyfill@^4.0.10:
version "4.0.10"
- resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
+ resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz"
integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
dependencies:
fetch-blob "^3.1.2"
fs.realpath@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@^2.3.2, fsevents@~2.3.3:
version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
functional-red-black-tree@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"
integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
gaxios@^6.0.0, gaxios@^6.1.1:
version "6.7.1"
- resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-6.7.1.tgz#ebd9f7093ede3ba502685e73390248bb5b7f71fb"
+ resolved "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz"
integrity sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==
dependencies:
extend "^3.0.2"
@@ -1922,7 +2123,7 @@ gaxios@^6.0.0, gaxios@^6.1.1:
gcp-metadata@^6.1.0:
version "6.1.1"
- resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-6.1.1.tgz#f65aa69f546bc56e116061d137d3f5f90bdec494"
+ resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.1.tgz"
integrity sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==
dependencies:
gaxios "^6.1.1"
@@ -1931,17 +2132,17 @@ gcp-metadata@^6.1.0:
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
get-caller-file@^2.0.5:
version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-intrinsic@^1.2.6:
version "1.3.0"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz"
integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
dependencies:
call-bind-apply-helpers "^1.0.2"
@@ -1957,12 +2158,12 @@ get-intrinsic@^1.2.6:
get-package-type@^0.1.0:
version "0.1.0"
- resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
+ resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
get-proto@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz"
integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
dependencies:
dunder-proto "^1.0.1"
@@ -1970,26 +2171,26 @@ get-proto@^1.0.1:
get-stream@^6.0.0:
version "6.0.1"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
get-tsconfig@^4.7.5:
version "4.10.1"
- resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.1.tgz#d34c1c01f47d65a606c37aa7a177bc3e56ab4b2e"
+ resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz"
integrity sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==
dependencies:
resolve-pkg-maps "^1.0.0"
glob-parent@^5.1.2:
version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
glob@^7.1.3, glob@^7.1.4:
version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
dependencies:
fs.realpath "^1.0.0"
@@ -2001,19 +2202,19 @@ glob@^7.1.3, glob@^7.1.4:
globals@^11.1.0:
version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.6.0, globals@^13.9.0:
version "13.24.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
+ resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
dependencies:
type-fest "^0.20.2"
globby@^11.0.3:
version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
dependencies:
array-union "^2.1.0"
@@ -2023,17 +2224,17 @@ globby@^11.0.3:
merge2 "^1.4.1"
slash "^3.0.0"
-google-ads-node@16.0.0:
- version "16.0.0"
- resolved "https://registry.yarnpkg.com/google-ads-node/-/google-ads-node-16.0.0.tgz#0265f7ce150c4c2aa707865be15944f0caad4b0a"
- integrity sha512-cRaEyf/ulHflBfzao9rqmVIz634wAKDqZQ3M/vX/qpIPvMk2+VACHmIJi1KfgNaplLjgX5r/XCgjElhY+hLIzA==
+google-ads-node@17.0.0:
+ version "17.0.0"
+ resolved "https://registry.npmjs.org/google-ads-node/-/google-ads-node-17.0.0.tgz"
+ integrity sha512-1lVbIQCl9jy6FLJ7DPzGxvO8/+FqhSTgA+19NRh5Zz3mT4CJq+6VsomLBsujqR33BfXXQLI15q5McDMTnMNYOw==
dependencies:
- google-gax "5.1.0-rc.1"
+ google-gax "^5.1.1-rc.1"
lru-cache "^10.2.0"
google-auth-library@^10.0.0-rc.1, google-auth-library@^9.15.1:
version "9.15.1"
- resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.15.1.tgz#0c5d84ed1890b2375f1cd74f03ac7b806b392928"
+ resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.1.tgz"
integrity sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==
dependencies:
base64-js "^1.3.0"
@@ -2043,10 +2244,10 @@ google-auth-library@^10.0.0-rc.1, google-auth-library@^9.15.1:
gtoken "^7.0.0"
jws "^4.0.0"
-google-gax@5.1.0-rc.1, google-gax@^5.1.0-rc.1:
- version "5.1.0-rc.1"
- resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-5.1.0-rc.1.tgz#da572d5371894d8203e89195301ce4ea86b8b955"
- integrity sha512-+XLPXNLAh5TKcUhDm4k0znlPvQoWkVeXMJr7neRPYC6NwKh2d3cC9FqcjoChhJIUC695eAtDj5Cf8ICXMxt3Qw==
+google-gax@^5.1.1-rc.1:
+ version "5.1.1-rc.1"
+ resolved "https://registry.npmjs.org/google-gax/-/google-gax-5.1.1-rc.1.tgz"
+ integrity sha512-HSHw7NytSxiyTp3WgWQXu4Cnl49VH2qRcAU047fmShUbbxkGwYX3MlipxhDkWIWMRl7Dktyq2gRvwQVP6ILgUA==
dependencies:
"@grpc/grpc-js" "^1.12.6"
"@grpc/proto-loader" "^0.7.13"
@@ -2063,27 +2264,27 @@ google-gax@5.1.0-rc.1, google-gax@^5.1.0-rc.1:
google-logging-utils@^0.0.2:
version "0.0.2"
- resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-0.0.2.tgz#5fd837e06fa334da450433b9e3e1870c1594466a"
+ resolved "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-0.0.2.tgz"
integrity sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==
google-logging-utils@^1.1.1:
version "1.1.1"
- resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-1.1.1.tgz#4a1f44a69a187eb954629c88c5af89c0dfbca51a"
+ resolved "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.1.tgz"
integrity sha512-rcX58I7nqpu4mbKztFeOAObbomBbHU2oIb/d3tJfF3dizGSApqtSwYJigGCooHdnMyQBIw8BrWyK96w3YXgr6A==
gopd@^1.2.0:
version "1.2.0"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
graceful-fs@^4.2.9:
version "4.2.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
+ resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
gtoken@^7.0.0:
version "7.1.0"
- resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-7.1.0.tgz#d61b4ebd10132222817f7222b1e6064bd463fc26"
+ resolved "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz"
integrity sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==
dependencies:
gaxios "^6.0.0"
@@ -2091,41 +2292,41 @@ gtoken@^7.0.0:
has-flag@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
has-flag@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-symbols@^1.0.3, has-symbols@^1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz"
integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
has-tostringtag@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies:
has-symbols "^1.0.3"
hasown@^2.0.2:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
html-escaper@^2.0.0:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
http-proxy-agent@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+ resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz"
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
dependencies:
"@tootallnate/once" "2"
@@ -2134,7 +2335,7 @@ http-proxy-agent@^5.0.0:
https-proxy-agent@^5.0.0:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
dependencies:
agent-base "6"
@@ -2142,7 +2343,7 @@ https-proxy-agent@^5.0.0:
https-proxy-agent@^7.0.1:
version "7.0.6"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz"
integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
dependencies:
agent-base "^7.1.2"
@@ -2150,22 +2351,22 @@ https-proxy-agent@^7.0.1:
human-signals@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
ignore@^4.0.6:
version "4.0.6"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^5.1.8, ignore@^5.2.0:
version "5.3.2"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.3.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
+ resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
dependencies:
parent-module "^1.0.0"
@@ -2173,7 +2374,7 @@ import-fresh@^3.0.0, import-fresh@^3.2.1:
import-local@^3.0.2:
version "3.2.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260"
+ resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz"
integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==
dependencies:
pkg-dir "^4.2.0"
@@ -2181,12 +2382,12 @@ import-local@^3.0.2:
imurmurhash@^0.1.4:
version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
inflight@^1.0.4:
version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
dependencies:
once "^1.3.0"
@@ -2194,66 +2395,71 @@ inflight@^1.0.4:
inherits@2, inherits@^2.0.3:
version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
is-arrayish@^0.2.1:
version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+is-buffer@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz"
+ integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
is-core-module@^2.16.0:
version "2.16.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz"
integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
dependencies:
hasown "^2.0.2"
is-extglob@^2.1.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-generator-fn@^2.0.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
+ resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz"
integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
is-glob@^4.0.0, is-glob@^4.0.1:
version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
is-stream@^2.0.0:
version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
isexe@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.2"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756"
+ resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz"
integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
istanbul-lib-instrument@^5.0.4:
version "5.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d"
+ resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz"
integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
dependencies:
"@babel/core" "^7.12.3"
@@ -2264,7 +2470,7 @@ istanbul-lib-instrument@^5.0.4:
istanbul-lib-instrument@^6.0.0:
version "6.0.3"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765"
+ resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz"
integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==
dependencies:
"@babel/core" "^7.23.9"
@@ -2275,7 +2481,7 @@ istanbul-lib-instrument@^6.0.0:
istanbul-lib-report@^3.0.0:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d"
+ resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz"
integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
dependencies:
istanbul-lib-coverage "^3.0.0"
@@ -2284,7 +2490,7 @@ istanbul-lib-report@^3.0.0:
istanbul-lib-source-maps@^4.0.0:
version "4.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
+ resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz"
integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
dependencies:
debug "^4.1.1"
@@ -2293,7 +2499,7 @@ istanbul-lib-source-maps@^4.0.0:
istanbul-reports@^3.1.3:
version "3.1.7"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b"
+ resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz"
integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==
dependencies:
html-escaper "^2.0.0"
@@ -2301,7 +2507,7 @@ istanbul-reports@^3.1.3:
jake@^10.8.5:
version "10.9.2"
- resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f"
+ resolved "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz"
integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==
dependencies:
async "^3.2.3"
@@ -2311,7 +2517,7 @@ jake@^10.8.5:
jest-changed-files@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a"
+ resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz"
integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==
dependencies:
execa "^5.0.0"
@@ -2320,7 +2526,7 @@ jest-changed-files@^29.7.0:
jest-circus@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a"
+ resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz"
integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
dependencies:
"@jest/environment" "^29.7.0"
@@ -2346,7 +2552,7 @@ jest-circus@^29.7.0:
jest-cli@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995"
+ resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz"
integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==
dependencies:
"@jest/core" "^29.7.0"
@@ -2363,7 +2569,7 @@ jest-cli@^29.7.0:
jest-config@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f"
+ resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz"
integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
dependencies:
"@babel/core" "^7.11.6"
@@ -2391,7 +2597,7 @@ jest-config@^29.7.0:
jest-diff@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a"
+ resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz"
integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
dependencies:
chalk "^4.0.0"
@@ -2401,14 +2607,14 @@ jest-diff@^29.7.0:
jest-docblock@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a"
+ resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz"
integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
dependencies:
detect-newline "^3.0.0"
jest-each@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1"
+ resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz"
integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
dependencies:
"@jest/types" "^29.6.3"
@@ -2419,7 +2625,7 @@ jest-each@^29.7.0:
jest-environment-node@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376"
+ resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz"
integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
dependencies:
"@jest/environment" "^29.7.0"
@@ -2431,12 +2637,12 @@ jest-environment-node@^29.7.0:
jest-get-type@^29.6.3:
version "29.6.3"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1"
+ resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz"
integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
jest-haste-map@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104"
+ resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
dependencies:
"@jest/types" "^29.6.3"
@@ -2455,7 +2661,7 @@ jest-haste-map@^29.7.0:
jest-leak-detector@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728"
+ resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
dependencies:
jest-get-type "^29.6.3"
@@ -2463,7 +2669,7 @@ jest-leak-detector@^29.7.0:
jest-matcher-utils@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12"
+ resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz"
integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==
dependencies:
chalk "^4.0.0"
@@ -2473,7 +2679,7 @@ jest-matcher-utils@^29.7.0:
jest-message-util@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3"
+ resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz"
integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==
dependencies:
"@babel/code-frame" "^7.12.13"
@@ -2488,7 +2694,7 @@ jest-message-util@^29.7.0:
jest-mock@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347"
+ resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz"
integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
dependencies:
"@jest/types" "^29.6.3"
@@ -2497,17 +2703,17 @@ jest-mock@^29.7.0:
jest-pnp-resolver@^1.2.2:
version "1.2.3"
- resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e"
+ resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
jest-regex-util@^29.6.3:
version "29.6.3"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52"
+ resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
jest-resolve-dependencies@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428"
+ resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz"
integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==
dependencies:
jest-regex-util "^29.6.3"
@@ -2515,7 +2721,7 @@ jest-resolve-dependencies@^29.7.0:
jest-resolve@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30"
+ resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz"
integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
dependencies:
chalk "^4.0.0"
@@ -2530,7 +2736,7 @@ jest-resolve@^29.7.0:
jest-runner@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e"
+ resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz"
integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
dependencies:
"@jest/console" "^29.7.0"
@@ -2557,7 +2763,7 @@ jest-runner@^29.7.0:
jest-runtime@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817"
+ resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz"
integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
dependencies:
"@jest/environment" "^29.7.0"
@@ -2585,7 +2791,7 @@ jest-runtime@^29.7.0:
jest-snapshot@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5"
+ resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz"
integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
dependencies:
"@babel/core" "^7.11.6"
@@ -2611,7 +2817,7 @@ jest-snapshot@^29.7.0:
jest-util@^29.0.0, jest-util@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc"
+ resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz"
integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
dependencies:
"@jest/types" "^29.6.3"
@@ -2623,7 +2829,7 @@ jest-util@^29.0.0, jest-util@^29.7.0:
jest-validate@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c"
+ resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz"
integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
dependencies:
"@jest/types" "^29.6.3"
@@ -2635,7 +2841,7 @@ jest-validate@^29.7.0:
jest-watcher@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2"
+ resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz"
integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
dependencies:
"@jest/test-result" "^29.7.0"
@@ -2649,7 +2855,7 @@ jest-watcher@^29.7.0:
jest-worker@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
dependencies:
"@types/node" "*"
@@ -2657,9 +2863,9 @@ jest-worker@^29.7.0:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-jest@^29.0.3:
+jest@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613"
+ resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz"
integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
dependencies:
"@jest/core" "^29.7.0"
@@ -2669,12 +2875,12 @@ jest@^29.0.3:
js-tokens@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.13.1:
version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
dependencies:
argparse "^1.0.7"
@@ -2682,49 +2888,49 @@ js-yaml@^3.13.1:
jsesc@^3.0.2:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
json-bigint@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1"
+ resolved "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz"
integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==
dependencies:
bignumber.js "^9.0.0"
json-buffer@3.0.1:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
json-parse-even-better-errors@^2.3.0:
version "2.3.1"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
json-schema-traverse@^0.4.1:
version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
json-schema-traverse@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
json5@^2.2.3:
version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jwa@^2.0.0:
version "2.0.1"
- resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804"
+ resolved "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz"
integrity sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==
dependencies:
buffer-equal-constant-time "^1.0.1"
@@ -2733,7 +2939,7 @@ jwa@^2.0.0:
jws@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4"
+ resolved "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz"
integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==
dependencies:
jwa "^2.0.0"
@@ -2741,24 +2947,24 @@ jws@^4.0.0:
keyv@^4.5.3:
version "4.5.4"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
+ resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
dependencies:
json-buffer "3.0.1"
kleur@^3.0.3:
version "3.0.3"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
+ resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
leven@^3.1.0:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
levn@^0.4.1:
version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
dependencies:
prelude-ls "^1.2.1"
@@ -2766,95 +2972,105 @@ levn@^0.4.1:
lines-and-columns@^1.1.6:
version "1.2.4"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+ resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
locate-path@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
dependencies:
p-locate "^4.1.0"
lodash.camelcase@^4.3.0:
version "4.3.0"
- resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+ resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"
integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
lodash.memoize@^4.1.2:
version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
lodash.merge@^4.6.2:
version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
lodash.truncate@^4.4.2:
version "4.4.2"
- resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
+ resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz"
integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
+lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
long@*, long@^5.0.0:
version "5.3.2"
- resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83"
+ resolved "https://registry.npmjs.org/long/-/long-5.3.2.tgz"
integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==
long@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+ resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
lru-cache@^10.2.0:
version "10.4.3"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
lru-cache@^5.1.1:
version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
dependencies:
yallist "^3.0.2"
make-dir@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
+ resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz"
integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
dependencies:
semver "^7.5.3"
make-error@^1.3.6:
version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
makeerror@1.0.12:
version "1.0.12"
- resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
+ resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
dependencies:
tmpl "1.0.5"
+map-obj@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz"
+ integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
+
math-intrinsics@^1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
merge-stream@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4, micromatch@^4.0.8:
version "4.0.8"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
+ resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
dependencies:
braces "^3.0.3"
@@ -2862,60 +3078,60 @@ micromatch@^4.0.4, micromatch@^4.0.8:
mime-db@1.52.0:
version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.35:
+mime-types@^2.1.12, mime-types@^2.1.35:
version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
mimic-fn@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
dependencies:
brace-expansion "^1.1.7"
minimatch@^5.0.1:
version "5.1.6"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz"
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
dependencies:
brace-expansion "^2.0.1"
ms@^2.1.3:
version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
natural-compare@^1.4.0:
version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
node-domexception@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
+ resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
node-fetch@^2.6.9:
version "2.7.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz"
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
dependencies:
whatwg-url "^5.0.0"
node-fetch@^3.3.2:
version "3.3.2"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz"
integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==
dependencies:
data-uri-to-buffer "^4.0.0"
@@ -2924,48 +3140,48 @@ node-fetch@^3.3.2:
node-int64@^0.4.0:
version "0.4.0"
- resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz"
integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
node-releases@^2.0.19:
version "2.0.19"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz"
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
normalize-path@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
npm-run-path@^4.0.1:
version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
dependencies:
path-key "^3.0.0"
object-hash@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
+ resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
once@^1.3.0, once@^1.4.0:
version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
dependencies:
wrappy "1"
onetime@^5.1.2:
version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
dependencies:
mimic-fn "^2.1.0"
optionator@^0.9.1:
version "0.9.4"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
+ resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz"
integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
dependencies:
deep-is "^0.1.3"
@@ -2977,40 +3193,40 @@ optionator@^0.9.1:
p-limit@^2.2.0:
version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
p-limit@^3.1.0:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
dependencies:
yocto-queue "^0.1.0"
p-locate@^4.1.0:
version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
dependencies:
p-limit "^2.2.0"
p-try@^2.0.0:
version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
parent-module@^1.0.0:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
dependencies:
callsites "^3.0.0"
parse-json@^5.2.0:
version "5.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+ resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
dependencies:
"@babel/code-frame" "^7.0.0"
@@ -3020,64 +3236,64 @@ parse-json@^5.2.0:
path-exists@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
path-is-absolute@^1.0.0:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.7:
version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-type@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
picocolors@^1.0.0, picocolors@^1.1.1:
version "1.1.1"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
pirates@^4.0.4:
version "4.0.7"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22"
+ resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz"
integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
pkg-dir@^4.2.0:
version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
dependencies:
find-up "^4.0.0"
pluralize@^8.0.0:
version "8.0.0"
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
+ resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz"
integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
prelude-ls@^1.2.1:
version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
pretty-format@^29.0.0, pretty-format@^29.7.0:
version "29.7.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812"
+ resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz"
integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
dependencies:
"@jest/schemas" "^29.6.3"
@@ -3086,12 +3302,12 @@ pretty-format@^29.0.0, pretty-format@^29.7.0:
progress@^2.0.0:
version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
prompts@^2.0.1:
version "2.4.2"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
+ resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz"
integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
dependencies:
kleur "^3.0.3"
@@ -3099,14 +3315,14 @@ prompts@^2.0.1:
proto3-json-serializer@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/proto3-json-serializer/-/proto3-json-serializer-3.0.0.tgz#9d74849374eac2c12557f8c4ee059d615a30d5b1"
+ resolved "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-3.0.0.tgz"
integrity sha512-mHPIc7zaJc26HMpgX5J7vXjliYv4Rnn5ICUyINudz76iY4zFMQHTaQXrTFn0EoHnRsLD6BE+OuHhQHFUU93I9A==
dependencies:
protobufjs "^7.4.0"
-protobufjs@^7.2.5, protobufjs@^7.4.0, protobufjs@^7.5.3:
+protobufjs@^7.2.5, protobufjs@^7.2.6, protobufjs@^7.4.0, protobufjs@^7.5.3:
version "7.5.3"
- resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.3.tgz#13f95a9e3c84669995ec3652db2ac2fb00b89363"
+ resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.3.tgz"
integrity sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==
dependencies:
"@protobufjs/aspromise" "^1.1.2"
@@ -3122,29 +3338,34 @@ protobufjs@^7.2.5, protobufjs@^7.4.0, protobufjs@^7.5.3:
"@types/node" ">=13.7.0"
long "^5.0.0"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
punycode@^2.1.0:
version "2.3.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
pure-rand@^6.0.0:
version "6.1.0"
- resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2"
+ resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz"
integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
queue-microtask@^1.2.2:
version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
react-is@^18.0.0:
version "18.3.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
+ resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz"
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
readable-stream@^3.1.1:
version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
dependencies:
inherits "^2.0.3"
@@ -3153,49 +3374,49 @@ readable-stream@^3.1.1:
regexpp@^3.1.0:
version "3.2.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
require-directory@^2.1.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
require-from-string@^2.0.2:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
resolve-cwd@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
+ resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
dependencies:
resolve-from "^5.0.0"
resolve-from@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve-from@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
resolve-pkg-maps@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
+ resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz"
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
resolve.exports@^2.0.0:
version "2.0.3"
- resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f"
+ resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz"
integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==
resolve@^1.20.0:
version "1.22.10"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
+ resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz"
integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
dependencies:
is-core-module "^2.16.0"
@@ -3204,7 +3425,7 @@ resolve@^1.20.0:
retry-request@^8.0.0:
version "8.0.0"
- resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-8.0.0.tgz#91c847cb648a049c14f0cb3322313d091d2445a3"
+ resolved "https://registry.npmjs.org/retry-request/-/retry-request-8.0.0.tgz"
integrity sha512-dJkZNmyV9C8WKUmbdj1xcvVlXBSvsUQCkg89TCK8rD72RdSn9A2jlXlS2VuYSTHoPJjJEfUHhjNYrlvuksF9cg==
dependencies:
"@types/request" "^2.48.12"
@@ -3213,68 +3434,68 @@ retry-request@^8.0.0:
reusify@^1.0.4:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
+ resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz"
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
rimraf@^3.0.2:
version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
run-parallel@^1.1.9:
version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
dependencies:
queue-microtask "^1.2.2"
safe-buffer@^5.0.1, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
semver@^6.3.0, semver@^6.3.1:
version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.2.1, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.7.2:
version "7.7.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
shebang-command@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
dependencies:
shebang-regex "^3.0.0"
shebang-regex@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
sisteransi@^1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
slash@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
slice-ansi@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz"
integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
dependencies:
ansi-styles "^4.0.0"
@@ -3283,7 +3504,7 @@ slice-ansi@^4.0.0:
source-map-support@0.5.13:
version "0.5.13"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
+ resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
dependencies:
buffer-from "^1.0.0"
@@ -3291,36 +3512,48 @@ source-map-support@0.5.13:
source-map@^0.6.0, source-map@^0.6.1:
version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sprintf-js@~1.0.2:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
stack-utils@^2.0.3:
version "2.0.6"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
+ resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz"
integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
dependencies:
escape-string-regexp "^2.0.0"
+stream-chain@^2.2.5:
+ version "2.2.5"
+ resolved "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz"
+ integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==
+
stream-events@^1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5"
+ resolved "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz"
integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==
dependencies:
stubs "^3.0.0"
+stream-json@^1.8.0:
+ version "1.9.1"
+ resolved "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz"
+ integrity sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==
+ dependencies:
+ stream-chain "^2.2.5"
+
stream-shift@^1.0.2:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b"
+ resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz"
integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
string-length@^4.0.1:
version "4.0.2"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
+ resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"
integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
dependencies:
char-regex "^1.0.2"
@@ -3328,7 +3561,7 @@ string-length@^4.0.1:
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
@@ -3337,67 +3570,67 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
string_decoder@^1.1.1:
version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
ansi-regex "^5.0.1"
strip-bom@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
+ resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz"
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
strip-final-newline@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
stubs@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b"
+ resolved "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz"
integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==
supports-color@^5.3.0:
version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
supports-color@^8.0.0:
version "8.1.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
dependencies:
has-flag "^4.0.0"
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
table@^6.0.9:
version "6.9.0"
- resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5"
+ resolved "https://registry.npmjs.org/table/-/table-6.9.0.tgz"
integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==
dependencies:
ajv "^8.0.1"
@@ -3408,7 +3641,7 @@ table@^6.0.9:
teeny-request@^10.0.0:
version "10.1.0"
- resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-10.1.0.tgz#02a4e246bd97e508c75342a5d83b64189ed851df"
+ resolved "https://registry.npmjs.org/teeny-request/-/teeny-request-10.1.0.tgz"
integrity sha512-3ZnLvgWF29jikg1sAQ1g0o+lr5JX6sVgYvfUJazn7ZjJroDBUTWp44/+cFVX0bULjv4vci+rBD+oGVAkWqhUbw==
dependencies:
http-proxy-agent "^5.0.0"
@@ -3418,7 +3651,7 @@ teeny-request@^10.0.0:
test-exclude@^6.0.0:
version "6.0.0"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
+ resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz"
integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
dependencies:
"@istanbuljs/schema" "^0.1.2"
@@ -3427,29 +3660,29 @@ test-exclude@^6.0.0:
text-table@^0.2.0:
version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
tmpl@1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
+ resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
to-regex-range@^5.0.1:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
is-number "^7.0.0"
tr46@~0.0.3:
version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-ts-jest@^29.0.0:
+ts-jest@^29.1.2:
version "29.3.4"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.3.4.tgz#9354472aceae1d3867a80e8e02014ea5901aee41"
+ resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.4.tgz"
integrity sha512-Iqbrm8IXOmV+ggWHOTEbjwyCf2xZlUMv5npExksXohL+tk8va4Fjhb+X2+Rt9NBmgO7bJ8WpnMLOwih/DnMlFA==
dependencies:
bs-logger "^0.2.6"
@@ -3465,19 +3698,19 @@ ts-jest@^29.0.0:
tslib@^1.8.1:
version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tsutils@^3.21.0:
version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+ resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
dependencies:
tslib "^1.8.1"
tsx@^4.19.3:
version "4.19.4"
- resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.4.tgz#647b4141f4fdd9d773a9b564876773d2846901f4"
+ resolved "https://registry.npmjs.org/tsx/-/tsx-4.19.4.tgz"
integrity sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==
dependencies:
esbuild "~0.25.0"
@@ -3487,44 +3720,44 @@ tsx@^4.19.3:
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
dependencies:
prelude-ls "^1.2.1"
type-detect@4.0.8:
version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
type-fest@^0.20.2:
version "0.20.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
type-fest@^0.21.3:
version "0.21.3"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
type-fest@^4.41.0:
version "4.41.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz"
integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==
typescript@^5.5.4:
version "5.8.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
undici-types@~6.21.0:
version "6.21.0"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb"
+ resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz"
integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
update-browserslist-db@^1.1.3:
version "1.1.3"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz"
integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
dependencies:
escalade "^3.2.0"
@@ -3532,29 +3765,29 @@ update-browserslist-db@^1.1.3:
uri-js@^4.2.2:
version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
dependencies:
punycode "^2.1.0"
util-deprecate@^1.0.1:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
uuid@^9.0.1:
version "9.0.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
+ resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
v8-compile-cache@^2.0.3:
version "2.4.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128"
+ resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz"
integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==
v8-to-istanbul@^9.0.1:
version "9.3.0"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175"
+ resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz"
integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==
dependencies:
"@jridgewell/trace-mapping" "^0.3.12"
@@ -3563,24 +3796,24 @@ v8-to-istanbul@^9.0.1:
walker@^1.0.8:
version "1.0.8"
- resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
+ resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz"
integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
dependencies:
makeerror "1.0.12"
web-streams-polyfill@^3.0.3:
version "3.3.3"
- resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"
+ resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz"
integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==
webidl-conversions@^3.0.0:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
whatwg-url@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
@@ -3588,19 +3821,19 @@ whatwg-url@^5.0.0:
which@^2.0.1:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
word-wrap@^1.2.5:
version "1.2.5"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz"
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
wrap-ansi@^7.0.0:
version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
dependencies:
ansi-styles "^4.0.0"
@@ -3609,12 +3842,12 @@ wrap-ansi@^7.0.0:
wrappy@1:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
write-file-atomic@^4.0.2:
version "4.0.2"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
+ resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz"
integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
dependencies:
imurmurhash "^0.1.4"
@@ -3622,22 +3855,22 @@ write-file-atomic@^4.0.2:
y18n@^5.0.5:
version "5.0.8"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
yallist@^3.0.2:
version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
yargs-parser@^21.1.1:
version "21.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs@^17.3.1, yargs@^17.7.2:
version "17.7.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz"
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
dependencies:
cliui "^8.0.1"
@@ -3650,5 +3883,5 @@ yargs@^17.3.1, yargs@^17.7.2:
yocto-queue@^0.1.0:
version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==