n8n-nodes-google-ad-scraper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +213 -0
  3. package/dist/credentials/ApifyApi.credentials.d.ts +10 -0
  4. package/dist/credentials/ApifyApi.credentials.js +36 -0
  5. package/dist/credentials/ApifyApi.credentials.js.map +1 -0
  6. package/dist/credentials/ApifyOAuth2Api.credentials.d.ts +9 -0
  7. package/dist/credentials/ApifyOAuth2Api.credentials.js +66 -0
  8. package/dist/credentials/ApifyOAuth2Api.credentials.js.map +1 -0
  9. package/dist/docs/actions.png +0 -0
  10. package/dist/docs/actor-subtitle.png +0 -0
  11. package/dist/docs/auth.png +0 -0
  12. package/dist/docs/node-description.png +0 -0
  13. package/dist/docs/run-actor.png +0 -0
  14. package/dist/docs/trigger.png +0 -0
  15. package/dist/docs/workflow.png +0 -0
  16. package/dist/icons/apify.svg +5 -0
  17. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.d.ts +13 -0
  18. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.js +88 -0
  19. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.js.map +1 -0
  20. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.json +38 -0
  21. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.properties.d.ts +4 -0
  22. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.properties.js +118 -0
  23. package/dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.properties.js.map +1 -0
  24. package/dist/nodes/ApifyGoogleAdsScraper/helpers/executeActor.d.ts +5 -0
  25. package/dist/nodes/ApifyGoogleAdsScraper/helpers/executeActor.js +68 -0
  26. package/dist/nodes/ApifyGoogleAdsScraper/helpers/executeActor.js.map +1 -0
  27. package/dist/nodes/ApifyGoogleAdsScraper/helpers/genericFunctions.d.ts +10 -0
  28. package/dist/nodes/ApifyGoogleAdsScraper/helpers/genericFunctions.js +90 -0
  29. package/dist/nodes/ApifyGoogleAdsScraper/helpers/genericFunctions.js.map +1 -0
  30. package/dist/nodes/ApifyGoogleAdsScraper/logo.png +0 -0
  31. package/dist/package.json +62 -0
  32. package/dist/tsconfig.tsbuildinfo +1 -0
  33. package/package.json +62 -0
package/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright 2022 n8n
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,213 @@
1
+ # n8n-nodes-google-ads-scraper
2
+
3
+ An n8n community node that integrates the [Apify Google Ads Scraper](https://apify.com/lexis-solutions/google-ads-scraper) Actor directly into your n8n workflows.
4
+
5
+ This node enables you to extract advertising data from Google's Ads Transparency Center, providing access to comprehensive information about text, image, and video advertisements. Retrieve details such as headlines, descriptions, geographic targeting, impression metrics, and associated media assets.
6
+
7
+ [n8n](https://n8n.io/) is an open-source, [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform that empowers you to automate your business processes.
8
+
9
+ ## Table of Contents
10
+
11
+ - [Installation](#installation)
12
+ - [Operations](#operations)
13
+ - [Credentials](#credentials)
14
+ - [Usage](#usage)
15
+ - [Input Parameters](#input-parameters)
16
+ - [Output](#output)
17
+
18
+ ## Installation
19
+
20
+ Install this community node by following the official [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).
21
+
22
+ ## Operations
23
+
24
+ The **Apify Google Ads Scraper** node connects to Apify's cloud platform and executes the Google Ads Scraper Actor. Simply configure your input parameters—including start URLs, scraping limits, and optional settings—and the node will orchestrate the entire scraping process to gather Google Ads data.
25
+
26
+ ### Capabilities
27
+
28
+ - **Seamless execution**: Automatically runs the Actor using your configured parameters
29
+ - **Progress tracking**: Monitors the scraping job in real-time and reports completion status
30
+ - **Data collection**: Retrieves all scraped results and formats them for use in your workflow
31
+ - **Robust error handling**: Delivers comprehensive error information when issues occur
32
+
33
+ The node manages the complete scraping lifecycle: initiating the Actor run, waiting for completion, and fetching all results automatically.
34
+
35
+ ## Credentials
36
+
37
+ This node requires an Apify API Key for authentication.
38
+
39
+ **Obtaining your API Key**: Create an account at the [Apify Console](https://console.apify.com/) and retrieve your API token from the settings.
40
+
41
+ **Setup Steps**:
42
+
43
+ 1. Visit [Apify Console](https://console.apify.com/)
44
+ 2. Sign in or register for a new account
45
+ 3. Open Settings → Integrations
46
+ 4. Copy your API token
47
+ 5. Add the token as credentials in the n8n node configuration
48
+
49
+ ## Usage
50
+
51
+ **Getting Started**:
52
+
53
+ 1. **Insert the node** into your n8n workflow canvas
54
+ 2. **Authenticate** by providing your Apify API key credentials
55
+ 3. **Configure inputs** specifying which Google Ads data you want to collect
56
+ 4. **Execute** your workflow to begin data extraction
57
+
58
+ ### Input Parameters
59
+
60
+ Comprehensive parameter documentation is available in the [Apify Google Ads Scraper Actor documentation](https://apify.com/lexis-solutions/google-ads-scraper).
61
+
62
+ #### Available Parameters
63
+
64
+ - **startUrls** (array, required): Collection of Google Transparency Center URLs to process
65
+ - **maxItems** (integer, optional): Limit on the number of ads to scrape (default: 100)
66
+ - **downloadMedia** (boolean, optional): Enable downloading media files to Key-Value Store (default: false)
67
+ - **cookies** (array, optional): Browser cookies in JSON format for accessing restricted content
68
+ - **proxyConfiguration** (object, optional): Proxy settings for location-based targeting
69
+
70
+ #### Example Input Configuration
71
+
72
+ ```json
73
+ {
74
+ "startUrls": [
75
+ {
76
+ "url": "https://adstransparency.google.com/advertiser/AR07117872862404280321?region=US&start-date=2025-05-22&end-date=2025-05-22"
77
+ }
78
+ ],
79
+ "cookies": [],
80
+ "maxItems": 40,
81
+ "downloadMedia": false,
82
+ "proxyConfiguration": {
83
+ "useApifyProxy": true
84
+ }
85
+ }
86
+ ```
87
+
88
+ ### Output
89
+
90
+ Results are returned as an array of ad objects. Each item represents a single advertisement with the following structure:
91
+
92
+ ```json
93
+ {
94
+ "id": "CR08100116008800354305",
95
+ "advertiserId": "AR10303883279069085697",
96
+ "creativeId": "CR08100116008800354305",
97
+ "advertiserName": "My Jewellery B.V",
98
+ "format": "IMAGE",
99
+ "url": "https://adstransparency.google.com/advertiser/AR10303883279069085697/creative/CR08100116008800354305?region=DE&platform=YOUTUBE&start-date=2022-01-01&end-date=2024-12-31&format=IMAGE",
100
+ "previewUrl": "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcT5cZ5keol3Qh0OGy8BxONGNpoc9OeRl771pz5cN4FnyOwhmGU",
101
+ "previewStoreKey": "CR08100116008800354305_preview_0.jpg",
102
+ "firstShownAt": "1710421161",
103
+ "lastShownAt": "1758540064",
104
+ "impressions": "600000",
105
+ "shownCountries": ["Germany"],
106
+ "countryStats": [
107
+ {
108
+ "code": "DE",
109
+ "name": "Germany",
110
+ "firstShownAt": "2024-03-14T00:00:00.000Z",
111
+ "lastShownAt": "2025-09-22T00:00:00.000Z",
112
+ "impressions": {
113
+ "lowerBound": "500000",
114
+ "upperBound": "600000"
115
+ },
116
+ "platformStats": [
117
+ {
118
+ "name": "YouTube",
119
+ "code": "YOUTUBE",
120
+ "impressions": {
121
+ "lowerBound": "8000",
122
+ "upperBound": "9000"
123
+ }
124
+ },
125
+ {
126
+ "name": "Google Shopping",
127
+ "code": "SHOPPING",
128
+ "impressions": {
129
+ "lowerBound": "3000",
130
+ "upperBound": "4000"
131
+ }
132
+ },
133
+ {
134
+ "name": "Google Search",
135
+ "code": "SEARCH",
136
+ "impressions": {
137
+ "lowerBound": "450000",
138
+ "upperBound": "500000"
139
+ }
140
+ }
141
+ ]
142
+ }
143
+ ],
144
+ "audienceSelections": [
145
+ {
146
+ "name": "Demographic info",
147
+ "hasIncludedCriteria": true,
148
+ "hasExcludedCriteria": false
149
+ },
150
+ {
151
+ "name": "Geographic locations",
152
+ "hasIncludedCriteria": true,
153
+ "hasExcludedCriteria": true
154
+ },
155
+ {
156
+ "name": "Contextual signals",
157
+ "hasIncludedCriteria": true,
158
+ "hasExcludedCriteria": true
159
+ }
160
+ ],
161
+ "variants": [
162
+ {
163
+ "textContent": "Handykette mit Leopardemuster | My Jewellery - My Jewellery - Bigshopper",
164
+ "images": [
165
+ "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcT5cZ5keol3Qh0OGy8BxONGNpoc9OeRl771pz5cN4FnyOwhmGU"
166
+ ],
167
+ "imageStoreKeys": ["CR08100116008800354305_v0_0.jpg"]
168
+ }
169
+ ],
170
+ "originUrl": "https://adstransparency.google.com/advertiser/AR10303883279069085697?region=DE&platform=YOUTUBE&start-date=2022-01-01&end-date=2024-12-31&format=IMAGE"
171
+ }
172
+ ```
173
+
174
+ ## Data Fields Explained
175
+
176
+ The scraper extracts a wide range of advertising intelligence:
177
+
178
+ - **Advertiser details**: Company name and unique identifier
179
+ - **Creative information**: Ad ID, format type (TEXT/IMAGE/VIDEO), and URLs
180
+ - **Performance metrics**: Impression counts with upper and lower bounds
181
+ - **Geographic insights**: Countries where ads were displayed with per-country statistics
182
+ - **Platform breakdown**: Separate metrics for YouTube, Google Shopping, and Google Search
183
+ - **Audience targeting**: Detailed targeting criteria with inclusion/exclusion flags
184
+ - **Ad variants**: Multiple versions with text content and media links
185
+ - **Temporal data**: First and last shown timestamps
186
+
187
+ ## Common Use Cases
188
+
189
+ - **Competitive intelligence**: Track and analyze competitor advertising strategies
190
+ - **Market analysis**: Research advertising trends and creative patterns
191
+ - **Investigative reporting**: Leverage transparency data for journalism
192
+ - **Agency operations**: Monitor client and competitor ad campaigns
193
+ - **Creative benchmarking**: Study ad formats, media, and messaging approaches
194
+ - **Regulatory compliance**: Verify ad transparency and adherence to regulations
195
+
196
+ ## Important Considerations
197
+
198
+ - **Visibility factors**: The quantity of ads retrieved is influenced by authentication (cookies) and geographic location (IP address)
199
+ - **Cookie authentication**: Use cookies from an authenticated Google account to access age-restricted or personalized advertisements
200
+ - **Geographic targeting**: Configure proxy settings to retrieve ads specific to certain regions
201
+ - **Format support**: The scraper handles all three ad formats: text, image, and video
202
+
203
+ ## Getting Help
204
+
205
+ For assistance, documentation, or feature requests:
206
+
207
+ - Consult the [Apify Google Ads Scraper Actor documentation](https://apify.com/lexis-solutions/google-ads-scraper)
208
+ - Explore the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
209
+ - Reach out to Lexis Solutions: [scraping@lexis.solutions](mailto:scraping@lexis.solutions)
210
+
211
+ ## License
212
+
213
+ This community node is distributed as-is and adheres to n8n's community node licensing terms.
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class ApifyApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: Icon;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApifyApi = void 0;
4
+ class ApifyApi {
5
+ constructor() {
6
+ this.name = 'apifyApi';
7
+ this.displayName = 'Apify API';
8
+ this.documentationUrl = 'https://docs.apify.com/platform/integrations/api#api-token';
9
+ this.icon = "file:../nodes/ApifyGoogleAdsScraper/logo.png";
10
+ this.properties = [
11
+ {
12
+ displayName: 'API Key',
13
+ name: 'apiKey',
14
+ type: 'string',
15
+ typeOptions: { password: true },
16
+ default: '',
17
+ },
18
+ ];
19
+ this.authenticate = {
20
+ type: 'generic',
21
+ properties: {
22
+ headers: {
23
+ Authorization: '=Bearer {{$credentials.apiKey}}',
24
+ },
25
+ },
26
+ };
27
+ this.test = {
28
+ request: {
29
+ method: 'GET',
30
+ url: 'https://api.apify.com/v2/me',
31
+ },
32
+ };
33
+ }
34
+ }
35
+ exports.ApifyApi = ApifyApi;
36
+ //# sourceMappingURL=ApifyApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApifyApi.credentials.js","sourceRoot":"","sources":["../../credentials/ApifyApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,QAAQ;IAArB;QACC,SAAI,GAAG,UAAU,CAAC;QAElB,gBAAW,GAAG,WAAW,CAAC;QAE1B,qBAAgB,GAAG,4DAA4D,CAAC;QAEhF,SAAI,GAAS,8CAA8C,CAAA;QAE3D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAKF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,6BAA6B;aAClC;SACD,CAAC;IACH,CAAC;CAAA;AArCD,4BAqCC"}
@@ -0,0 +1,9 @@
1
+ import type { Icon, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class ApifyOAuth2Api implements ICredentialType {
3
+ name: string;
4
+ extends: string[];
5
+ displayName: string;
6
+ icon: Icon;
7
+ documentationUrl: string;
8
+ properties: INodeProperties[];
9
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApifyOAuth2Api = void 0;
4
+ const scopes = ['profile', 'full_api_access'];
5
+ class ApifyOAuth2Api {
6
+ constructor() {
7
+ this.name = 'apifyOAuth2Api';
8
+ this.extends = ['oAuth2Api'];
9
+ this.displayName = 'Apify OAuth2 API';
10
+ this.icon = "file:../nodes/ApifyGoogleAdsScraper/logo.png";
11
+ this.documentationUrl = 'https://docs.apify.com/api/v2';
12
+ this.properties = [
13
+ {
14
+ displayName: 'Grant Type',
15
+ name: 'grantType',
16
+ type: 'hidden',
17
+ default: 'pkce',
18
+ },
19
+ {
20
+ displayName: 'Authorization URL',
21
+ name: 'authUrl',
22
+ type: 'hidden',
23
+ default: 'https://console.apify.com/authorize/oauth',
24
+ },
25
+ {
26
+ displayName: 'Access Token URL',
27
+ name: 'accessTokenUrl',
28
+ type: 'hidden',
29
+ default: 'https://console-backend.apify.com/oauth/apps/token',
30
+ },
31
+ {
32
+ displayName: 'Scope',
33
+ name: 'scope',
34
+ type: 'hidden',
35
+ default: `${scopes.join(' ')}`,
36
+ },
37
+ {
38
+ displayName: 'Auth URI Query Parameters',
39
+ name: 'authQueryParameters',
40
+ type: 'hidden',
41
+ default: '',
42
+ },
43
+ {
44
+ displayName: 'Authentication',
45
+ name: 'authentication',
46
+ type: 'hidden',
47
+ default: 'header',
48
+ },
49
+ {
50
+ displayName: 'Client ID',
51
+ name: 'clientId',
52
+ type: 'hidden',
53
+ default: '',
54
+ },
55
+ {
56
+ displayName: 'Client Secret',
57
+ name: 'clientSecret',
58
+ type: 'hidden',
59
+ default: '',
60
+ typeOptions: { password: true },
61
+ },
62
+ ];
63
+ }
64
+ }
65
+ exports.ApifyOAuth2Api = ApifyOAuth2Api;
66
+ //# sourceMappingURL=ApifyOAuth2Api.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApifyOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/ApifyOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9C,MAAa,cAAc;IAA3B;QACC,SAAI,GAAG,gBAAgB,CAAC;QAExB,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,gBAAW,GAAG,kBAAkB,CAAC;QAEjC,SAAI,GAAS,8CAA8C,CAAA;QAG3D,qBAAgB,GAAG,+BAA+B,CAAC;QAEnD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aACf;YACD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2CAA2C;aACpD;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oDAAoD;aAC7D;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aAC9B;YACD;gBACC,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ;aACjB;YACD;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/B;SACD,CAAC;IACH,CAAC;CAAA;AA/DD,wCA+DC"}
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ <svg width="150" height="150" viewBox="0 0 150 150" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M86.0214 0H147.727C148.982 0 150 1.01753 150 2.27273V96.5744C150 98.8332 147.062 99.7089 145.826 97.8188L84.1196 3.51714C83.1305 2.00559 84.215 0 86.0214 0Z" fill="#246DFF"/>
3
+ <path d="M63.9786 0H2.27273C1.01753 0 0 1.01753 0 2.27273V96.5744C0 98.8332 2.93774 99.7089 4.1745 97.8188L65.8804 3.51714C66.8695 2.00559 65.785 0 63.9786 0Z" fill="#20A34E"/>
4
+ <path d="M73.9429 75.5012L3.84485 146.126C2.42137 147.56 3.43724 150 5.45792 150H144.6C146.612 150 147.632 147.578 146.225 146.139L77.1811 75.5135C76.2942 74.6063 74.8365 74.6008 73.9429 75.5012Z" fill="#F86606"/>
5
+ </svg>
@@ -0,0 +1,13 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare const ACTOR_ID: string;
3
+ export declare const PACKAGE_NAME: string;
4
+ export declare const CLASS_NAME: string;
5
+ export declare const ClassNameCamel: string;
6
+ export declare const X_PLATFORM_HEADER_ID: string;
7
+ export declare const X_PLATFORM_APP_HEADER_ID: string;
8
+ export declare const DISPLAY_NAME: string;
9
+ export declare const DESCRIPTION: string;
10
+ export declare class ApifyGoogleAdsScraper implements INodeType {
11
+ description: INodeTypeDescription;
12
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
13
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApifyGoogleAdsScraper = exports.DESCRIPTION = exports.DISPLAY_NAME = exports.X_PLATFORM_APP_HEADER_ID = exports.X_PLATFORM_HEADER_ID = exports.ClassNameCamel = exports.CLASS_NAME = exports.PACKAGE_NAME = exports.ACTOR_ID = void 0;
4
+ const ApifyGoogleAdsScraper_properties_1 = require("./ApifyGoogleAdsScraper.properties");
5
+ const executeActor_1 = require("./helpers/executeActor");
6
+ exports.ACTOR_ID = '3Y5oM7ystipacxama';
7
+ exports.PACKAGE_NAME = 'n8n-nodes-google-ad-scraper';
8
+ exports.CLASS_NAME = 'ApifyGoogleAdsScraper';
9
+ exports.ClassNameCamel = exports.CLASS_NAME.charAt(0).toLowerCase() + exports.CLASS_NAME.slice(1);
10
+ exports.X_PLATFORM_HEADER_ID = 'n8n';
11
+ exports.X_PLATFORM_APP_HEADER_ID = 'google-ads-scraper-app';
12
+ exports.DISPLAY_NAME = 'Apify Google Ads Scraper (2X Faster, More Data)';
13
+ exports.DESCRIPTION = "Scrape any company's current & past Google ads – 2× faster than any competitor with unique extra fields they don't have. Get ad copy, impressions, shown dates, media (images & videos), plus unique insights like full ad links, first shown date & audience targeting.";
14
+ class ApifyGoogleAdsScraper {
15
+ constructor() {
16
+ this.description = {
17
+ displayName: exports.DISPLAY_NAME,
18
+ name: exports.ClassNameCamel,
19
+ icon: 'file:logo.png',
20
+ group: ['transform'],
21
+ version: [1],
22
+ defaultVersion: 1,
23
+ subtitle: 'Run Scraper',
24
+ description: exports.DESCRIPTION,
25
+ defaults: {
26
+ name: exports.DISPLAY_NAME,
27
+ },
28
+ inputs: ["main"],
29
+ outputs: ["main"],
30
+ usableAsTool: true,
31
+ credentials: [
32
+ {
33
+ displayName: 'Apify API key connection',
34
+ name: 'apifyApi',
35
+ required: false,
36
+ displayOptions: {
37
+ show: {
38
+ authentication: ['apifyApi'],
39
+ },
40
+ },
41
+ },
42
+ {
43
+ displayName: 'Apify OAuth2 connection',
44
+ name: 'apifyOAuth2Api',
45
+ required: false,
46
+ displayOptions: {
47
+ show: {
48
+ authentication: ['apifyOAuth2Api'],
49
+ },
50
+ },
51
+ },
52
+ ],
53
+ properties: ApifyGoogleAdsScraper_properties_1.properties,
54
+ };
55
+ }
56
+ async execute() {
57
+ const items = this.getInputData();
58
+ const returnData = [];
59
+ for (let i = 0; i < items.length; i++) {
60
+ try {
61
+ const data = await executeActor_1.runActor.call(this, i);
62
+ const addPairedItem = (item) => ({
63
+ ...item,
64
+ pairedItem: { item: i },
65
+ });
66
+ if (Array.isArray(data)) {
67
+ returnData.push(...data.map(addPairedItem));
68
+ }
69
+ else {
70
+ returnData.push(addPairedItem(data));
71
+ }
72
+ }
73
+ catch (error) {
74
+ if (this.continueOnFail()) {
75
+ returnData.push({
76
+ json: { error: error.message },
77
+ pairedItem: { item: i },
78
+ });
79
+ continue;
80
+ }
81
+ throw error;
82
+ }
83
+ }
84
+ return [returnData];
85
+ }
86
+ }
87
+ exports.ApifyGoogleAdsScraper = ApifyGoogleAdsScraper;
88
+ //# sourceMappingURL=ApifyGoogleAdsScraper.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApifyGoogleAdsScraper.node.js","sourceRoot":"","sources":["../../../nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ {
2
+ "node": "n8n-nodes-google-ad-scraper",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": [
6
+ "Development",
7
+ "Marketing & Content",
8
+ "Sales",
9
+ "Analytics",
10
+ "Utility",
11
+ "Data & Storage"
12
+ ],
13
+ "resources": {
14
+ "credentialDocumentation": [
15
+ {
16
+ "url": "https://docs.apify.com/platform/integrations/n8n"
17
+ }
18
+ ],
19
+ "primaryDocumentation": [
20
+ {
21
+ "url": "https://docs.apify.com/"
22
+ }
23
+ ]
24
+ },
25
+ "alias": [
26
+ "apify",
27
+ "actor",
28
+ "serp",
29
+ "llm",
30
+ "ai agent",
31
+ "scrape",
32
+ "crawler",
33
+ "web",
34
+ "dataset",
35
+ "search",
36
+ "data extraction"
37
+ ]
38
+ }
@@ -0,0 +1,4 @@
1
+ import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+ export declare function buildActorInput(context: IExecuteFunctions, itemIndex: number, defaultInput: Record<string, any>): Record<string, any>;
3
+ export declare const actorProperties: INodeProperties[];
4
+ export declare const properties: INodeProperties[];
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.properties = exports.actorProperties = void 0;
4
+ exports.buildActorInput = buildActorInput;
5
+ function getFixedCollectionParam(context, paramName, itemIndex, optionName, transformType) {
6
+ var _a;
7
+ const param = context.getNodeParameter(paramName, itemIndex, {});
8
+ if (!((_a = param === null || param === void 0 ? void 0 : param[optionName]) === null || _a === void 0 ? void 0 : _a.length))
9
+ return {};
10
+ let result = param[optionName];
11
+ if (transformType === 'mapValues') {
12
+ result = result.map((item) => item.value);
13
+ }
14
+ return { [paramName]: result };
15
+ }
16
+ function getJsonParam(context, paramName, itemIndex) {
17
+ try {
18
+ const rawValue = context.getNodeParameter(paramName, itemIndex);
19
+ if (typeof rawValue === 'string' && rawValue.trim() === '') {
20
+ return {};
21
+ }
22
+ return { [paramName]: typeof rawValue === 'string' ? JSON.parse(rawValue) : rawValue };
23
+ }
24
+ catch (error) {
25
+ throw new Error(`Invalid JSON in parameter "${paramName}": ${error.message}`);
26
+ }
27
+ }
28
+ function buildActorInput(context, itemIndex, defaultInput) {
29
+ return {
30
+ ...defaultInput,
31
+ ...getFixedCollectionParam(context, 'startUrls', itemIndex, 'items', 'passthrough'),
32
+ ...getJsonParam(context, 'cookies', itemIndex),
33
+ maxItems: context.getNodeParameter('maxItems', itemIndex),
34
+ ...getJsonParam(context, 'proxyConfiguration', itemIndex),
35
+ downloadMedia: context.getNodeParameter('downloadMedia', itemIndex),
36
+ };
37
+ }
38
+ const authenticationProperties = [
39
+ {
40
+ displayName: 'Authentication',
41
+ name: 'authentication',
42
+ type: 'options',
43
+ options: [
44
+ {
45
+ name: 'API Key',
46
+ value: 'apifyApi',
47
+ },
48
+ {
49
+ name: 'OAuth2',
50
+ value: 'apifyOAuth2Api',
51
+ },
52
+ ],
53
+ default: 'apifyApi',
54
+ description: 'Choose which authentication method to use',
55
+ },
56
+ ];
57
+ exports.actorProperties = [
58
+ {
59
+ "displayName": "Start URLs",
60
+ "name": "startUrls",
61
+ "description": "Google Ads Transparency Center URLs",
62
+ "required": true,
63
+ "default": {},
64
+ "type": "fixedCollection",
65
+ "typeOptions": {
66
+ "multipleValues": true
67
+ },
68
+ "options": [
69
+ {
70
+ "name": "items",
71
+ "displayName": "items",
72
+ "values": [
73
+ {
74
+ "displayName": "item",
75
+ "name": "url",
76
+ "type": "string",
77
+ "default": ""
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "displayName": "Cookies (not required)",
85
+ "name": "cookies",
86
+ "description": "1. Install the Cookie-Editor Chrome extension.\n2. Go to https://adstransparency.google.com and log in.\n3. Open the Cookie-Editor extension and export cookies as JSON.\n4. Paste the exported cookie contents here.",
87
+ "required": false,
88
+ "default": "[]",
89
+ "type": "json"
90
+ },
91
+ {
92
+ "displayName": "Max Items",
93
+ "name": "maxItems",
94
+ "description": "Maximum number of items to scrape",
95
+ "required": false,
96
+ "default": 100,
97
+ "type": "number",
98
+ "typeOptions": {}
99
+ },
100
+ {
101
+ "displayName": "Proxy Configuration",
102
+ "name": "proxyConfiguration",
103
+ "description": "Your proxy configuration from Apify",
104
+ "required": false,
105
+ "default": "{\"useApifyProxy\":true,\"apifyProxyGroups\":[]}",
106
+ "type": "json"
107
+ },
108
+ {
109
+ "displayName": "Download media to Key-Value Store",
110
+ "name": "downloadMedia",
111
+ "description": "If true, downloads preview and variant images/videos into KV store and returns stored keys.",
112
+ "required": false,
113
+ "default": false,
114
+ "type": "boolean"
115
+ }
116
+ ];
117
+ exports.properties = [...exports.actorProperties, ...authenticationProperties];
118
+ //# sourceMappingURL=ApifyGoogleAdsScraper.properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApifyGoogleAdsScraper.properties.js","sourceRoot":"","sources":["../../../nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.properties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ export declare function getDefaultBuild(this: IExecuteFunctions, actorId: string): Promise<any>;
3
+ export declare function getDefaultInputsFromBuild(build: any): Record<string, any>;
4
+ export declare function runActorApi(this: IExecuteFunctions, actorId: string, mergedInput: Record<string, any>, qs: Record<string, any>): Promise<any>;
5
+ export declare function runActor(this: IExecuteFunctions, i: number): Promise<INodeExecutionData>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultBuild = getDefaultBuild;
4
+ exports.getDefaultInputsFromBuild = getDefaultInputsFromBuild;
5
+ exports.runActorApi = runActorApi;
6
+ exports.runActor = runActor;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const genericFunctions_1 = require("./genericFunctions");
9
+ const ApifyGoogleAdsScraper_node_1 = require("../ApifyGoogleAdsScraper.node");
10
+ const ApifyGoogleAdsScraper_properties_1 = require("../ApifyGoogleAdsScraper.properties");
11
+ async function getDefaultBuild(actorId) {
12
+ const defaultBuildResp = await genericFunctions_1.apiRequest.call(this, {
13
+ method: 'GET',
14
+ uri: `/v2/acts/${actorId}/builds/default`,
15
+ });
16
+ if (!(defaultBuildResp === null || defaultBuildResp === void 0 ? void 0 : defaultBuildResp.data)) {
17
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), {
18
+ message: `Could not fetch default build for Actor ${actorId}`,
19
+ });
20
+ }
21
+ return defaultBuildResp.data;
22
+ }
23
+ function getDefaultInputsFromBuild(build) {
24
+ var _a, _b;
25
+ const buildInputProperties = (_b = (_a = build === null || build === void 0 ? void 0 : build.actorDefinition) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.properties;
26
+ const defaultInput = {};
27
+ if (buildInputProperties && typeof buildInputProperties === 'object') {
28
+ for (const [key, property] of Object.entries(buildInputProperties)) {
29
+ if (property &&
30
+ typeof property === 'object' &&
31
+ 'prefill' in property &&
32
+ property.prefill !== undefined &&
33
+ property.prefill !== null) {
34
+ defaultInput[key] = property.prefill;
35
+ }
36
+ }
37
+ }
38
+ return defaultInput;
39
+ }
40
+ async function runActorApi(actorId, mergedInput, qs) {
41
+ return await genericFunctions_1.apiRequest.call(this, {
42
+ method: 'POST',
43
+ uri: `/v2/acts/${actorId}/runs`,
44
+ body: mergedInput,
45
+ qs,
46
+ });
47
+ }
48
+ async function runActor(i) {
49
+ var _a;
50
+ const build = await getDefaultBuild.call(this, ApifyGoogleAdsScraper_node_1.ACTOR_ID);
51
+ const defaultInput = getDefaultInputsFromBuild(build);
52
+ const mergedInput = (0, ApifyGoogleAdsScraper_properties_1.buildActorInput)(this, i, defaultInput);
53
+ const run = await runActorApi.call(this, ApifyGoogleAdsScraper_node_1.ACTOR_ID, mergedInput, { waitForFinish: 0 });
54
+ if (!((_a = run === null || run === void 0 ? void 0 : run.data) === null || _a === void 0 ? void 0 : _a.id)) {
55
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), {
56
+ message: `Run ID not found after running the Actor`,
57
+ });
58
+ }
59
+ const runId = run.data.id;
60
+ const datasetId = run.data.defaultDatasetId;
61
+ const lastRunData = await genericFunctions_1.pollRunStatus.call(this, runId);
62
+ const resultData = await genericFunctions_1.getResults.call(this, datasetId);
63
+ if ((0, genericFunctions_1.isUsedAsAiTool)(this.getNode().type)) {
64
+ return { json: { ...resultData } };
65
+ }
66
+ return { json: { ...lastRunData, ...resultData } };
67
+ }
68
+ //# sourceMappingURL=executeActor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeActor.js","sourceRoot":"","sources":["../../../../nodes/ApifyGoogleAdsScraper/helpers/executeActor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type IExecuteFunctions, type IHookFunctions, type ILoadOptionsFunctions, type IHttpRequestOptions } from 'n8n-workflow';
2
+ type IApiRequestOptions = Omit<IHttpRequestOptions, 'url'> & {
3
+ uri?: string;
4
+ url?: string;
5
+ };
6
+ export declare function apiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, requestOptions: IApiRequestOptions): Promise<any>;
7
+ export declare function isUsedAsAiTool(nodeType: string): boolean;
8
+ export declare function pollRunStatus(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, runId: string): Promise<any>;
9
+ export declare function getResults(this: IExecuteFunctions, datasetId: string): Promise<any>;
10
+ export {};
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiRequest = apiRequest;
4
+ exports.isUsedAsAiTool = isUsedAsAiTool;
5
+ exports.pollRunStatus = pollRunStatus;
6
+ exports.getResults = getResults;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const ApifyGoogleAdsScraper_node_1 = require("../ApifyGoogleAdsScraper.node");
9
+ async function apiRequest(requestOptions) {
10
+ var _a;
11
+ const { method = 'GET', qs, uri, ...rest } = requestOptions;
12
+ const query = qs || {};
13
+ const endpoint = `https://api.apify.com${uri !== null && uri !== void 0 ? uri : ''}`;
14
+ const headers = {
15
+ 'x-apify-integration-platform': ApifyGoogleAdsScraper_node_1.X_PLATFORM_HEADER_ID,
16
+ ...(ApifyGoogleAdsScraper_node_1.X_PLATFORM_APP_HEADER_ID && { 'x-apify-integration-app-id': ApifyGoogleAdsScraper_node_1.X_PLATFORM_APP_HEADER_ID }),
17
+ };
18
+ if (isUsedAsAiTool(this.getNode().type)) {
19
+ headers['x-apify-integration-ai-tool'] = 'true';
20
+ }
21
+ const options = {
22
+ ...rest,
23
+ method,
24
+ qs: query,
25
+ url: endpoint,
26
+ headers,
27
+ json: true,
28
+ };
29
+ if (method === 'GET' && 'body' in options) {
30
+ delete options.body;
31
+ }
32
+ try {
33
+ const authenticationMethod = this.getNodeParameter('authentication', 0);
34
+ try {
35
+ await this.getCredentials(authenticationMethod);
36
+ }
37
+ catch {
38
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No valid credentials found for ${authenticationMethod}. Please configure them first.`);
39
+ }
40
+ return await this.helpers.httpRequestWithAuthentication.call(this, authenticationMethod, options);
41
+ }
42
+ catch (error) {
43
+ if (error instanceof n8n_workflow_1.NodeApiError)
44
+ throw error;
45
+ if ((_a = error.response) === null || _a === void 0 ? void 0 : _a.body) {
46
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error, {
47
+ message: error.response.body,
48
+ description: error.message,
49
+ });
50
+ }
51
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
52
+ }
53
+ }
54
+ function isUsedAsAiTool(nodeType) {
55
+ const parts = nodeType.split('.');
56
+ return parts[parts.length - 1] === `${ApifyGoogleAdsScraper_node_1.ClassNameCamel}Tool`;
57
+ }
58
+ async function pollRunStatus(runId) {
59
+ var _a;
60
+ let lastRunData;
61
+ while (true) {
62
+ try {
63
+ const pollResult = await apiRequest.call(this, {
64
+ method: 'GET',
65
+ uri: `/v2/actor-runs/${runId}`,
66
+ });
67
+ const status = (_a = pollResult === null || pollResult === void 0 ? void 0 : pollResult.data) === null || _a === void 0 ? void 0 : _a.status;
68
+ lastRunData = pollResult === null || pollResult === void 0 ? void 0 : pollResult.data;
69
+ if (['SUCCEEDED', 'FAILED', 'TIMED-OUT', 'ABORTED'].includes(status))
70
+ break;
71
+ }
72
+ catch (err) {
73
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), {
74
+ message: `Error polling run status: ${err}`,
75
+ });
76
+ }
77
+ await (0, n8n_workflow_1.sleep)(1000);
78
+ }
79
+ return lastRunData;
80
+ }
81
+ async function getResults(datasetId) {
82
+ const results = await apiRequest.call(this, {
83
+ method: 'GET',
84
+ uri: `/v2/datasets/${datasetId}/items`,
85
+ });
86
+ if (isUsedAsAiTool(this.getNode().type)) {
87
+ }
88
+ return this.helpers.returnJsonArray(results);
89
+ }
90
+ //# sourceMappingURL=genericFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericFunctions.js","sourceRoot":"","sources":["../../../../nodes/ApifyGoogleAdsScraper/helpers/genericFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "n8n-nodes-google-ad-scraper",
3
+ "version": "1.0.0",
4
+ "description": "n8n community node that integrates the Apify Google Ads Scraper Actor to extract advertising data from Google's Ads Transparency Center, including text, image, and video advertisements with details such as headlines, descriptions, geographic targeting, and impression metrics",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "n8n-nodes",
8
+ "n8n"
9
+ ],
10
+ "license": "MIT",
11
+ "author": {
12
+ "name": "AUTHOR_NAME",
13
+ "email": "AUTHOR_EMAIL"
14
+ },
15
+ "engines": {
16
+ "node": ">=18.10"
17
+ },
18
+ "packageManager": "npm@10.8.2",
19
+ "main": "index.js",
20
+ "scripts": {
21
+ "build": "n8n-node build",
22
+ "dev:manual": "cross-env N8N_CUSTOM_EXTENSIONS=. npx n8n",
23
+ "dev": "n8n-node dev",
24
+ "lint": "n8n-node lint",
25
+ "lint:fix": "n8n-node lint --fix",
26
+ "merge:api": "npx openapi-merge-cli --config ./openapi.config.json",
27
+ "test": "WEBHOOK_URL=https://localhost:5678 jest --config jest.config.js",
28
+ "create-actor-app": "npx tsx scripts/cli.ts"
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "n8n": {
34
+ "n8nNodesApiVersion": 1,
35
+ "credentials": [
36
+ "dist/credentials/ApifyApi.credentials.js",
37
+ "dist/credentials/ApifyOAuth2Api.credentials.js"
38
+ ],
39
+ "nodes": [
40
+ "dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.js"
41
+ ]
42
+ },
43
+ "peerDependencies": {
44
+ "n8n-workflow": "*"
45
+ },
46
+ "devDependencies": {
47
+ "@n8n/node-cli": "*",
48
+ "@types/jest": "^29.5.14",
49
+ "@types/node": "^24.0.1",
50
+ "apify-client": "^2.16.0",
51
+ "chalk": "^5.6.0",
52
+ "eslint": "^9.32.0",
53
+ "glob": "^11.0.3",
54
+ "gulp": "^4.0.2",
55
+ "jest": "^29.7.0",
56
+ "nock": "^14.0.5",
57
+ "prettier": "^3.6.2",
58
+ "sharp": "^0.34.2",
59
+ "ts-jest": "^29.3.2",
60
+ "typescript": "5.9.2"
61
+ }
62
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/n8n-workflow/node_modules/axios/index.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/crypto.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/snapshot-agent.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/web-globals/streams.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/n8n-workflow/node_modules/form-data/index.d.ts","../node_modules/nock/types/index.d.ts","../node_modules/n8n-workflow/dist/constants.d.ts","../node_modules/n8n-workflow/dist/deferredpromise.d.ts","../node_modules/n8n-workflow/dist/errors/error.types.d.ts","../node_modules/n8n-workflow/dist/errors/base/base.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/operational.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/unexpected.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/user.error.d.ts","../node_modules/n8n-workflow/dist/errors/application.error.d.ts","../node_modules/n8n-workflow/dist/errors/abstract/execution-base.error.d.ts","../node_modules/n8n-workflow/dist/errors/expression.error.d.ts","../node_modules/n8n-workflow/dist/errors/execution-cancelled.error.d.ts","../node_modules/n8n-workflow/dist/errors/abstract/node.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-api.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-ssl.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-activation.error.d.ts","../node_modules/n8n-workflow/dist/errors/webhook-taken.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-deactivation.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/cli-subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/trigger-close.error.d.ts","../node_modules/n8n-workflow/dist/errors/expression-extension.error.d.ts","../node_modules/n8n-workflow/dist/errors/db-connection-timeout-error.d.ts","../node_modules/n8n-workflow/dist/errors/ensure-error.d.ts","../node_modules/n8n-workflow/dist/errors/index.d.ts","../node_modules/n8n-workflow/dist/executionstatus.d.ts","../node_modules/n8n-workflow/dist/result.d.ts","../node_modules/n8n-workflow/dist/expression.d.ts","../node_modules/n8n-workflow/dist/workflow.d.ts","../node_modules/n8n-workflow/dist/workflowdataproxyenvprovider.d.ts","../node_modules/n8n-workflow/dist/interfaces.d.ts","../node_modules/n8n-workflow/dist/loggerproxy.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/namedtypes.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/kinds.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/builders.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/scope.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/node-path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/main.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/options.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/parser.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/printer.d.ts","../node_modules/@n8n/tournament/node_modules/recast/main.d.ts","../node_modules/@n8n/tournament/dist/expressionsplitter.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/namedtypes.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/kinds.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/builders.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/types.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/path.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/scope.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/node-path.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/visitor.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/main.d.ts","../node_modules/@n8n/tournament/dist/ast.d.ts","../node_modules/@n8n/tournament/dist/expressionbuilder.d.ts","../node_modules/@n8n/tournament/dist/evaluator.d.ts","../node_modules/@n8n/tournament/dist/analysis.d.ts","../node_modules/@n8n/tournament/dist/index.d.ts","../node_modules/n8n-workflow/dist/expressionevaluatorproxy.d.ts","../node_modules/n8n-workflow/dist/nodehelpers.d.ts","../node_modules/n8n-workflow/dist/observableobject.d.ts","../node_modules/n8n-workflow/dist/telemetryhelpers.d.ts","../node_modules/n8n-workflow/dist/cron.d.ts","../node_modules/n8n-workflow/dist/globalstate.d.ts","../node_modules/n8n-workflow/dist/messageeventbus.d.ts","../node_modules/zod/lib/helpers/typealiases.d.ts","../node_modules/zod/lib/helpers/util.d.ts","../node_modules/zod/lib/zoderror.d.ts","../node_modules/zod/lib/locales/en.d.ts","../node_modules/zod/lib/errors.d.ts","../node_modules/zod/lib/helpers/parseutil.d.ts","../node_modules/zod/lib/helpers/enumutil.d.ts","../node_modules/zod/lib/helpers/errorutil.d.ts","../node_modules/zod/lib/helpers/partialutil.d.ts","../node_modules/zod/lib/standard-schema.d.ts","../node_modules/zod/lib/types.d.ts","../node_modules/zod/lib/external.d.ts","../node_modules/zod/lib/index.d.ts","../node_modules/zod/index.d.ts","../node_modules/n8n-workflow/dist/fromaiparseutils.d.ts","../node_modules/n8n-workflow/dist/metadatautils.d.ts","../node_modules/n8n-workflow/dist/workflowdataproxy.d.ts","../node_modules/n8n-workflow/dist/versionednodetype.d.ts","../node_modules/n8n-workflow/dist/typevalidation.d.ts","../node_modules/n8n-workflow/dist/utils.d.ts","../node_modules/n8n-workflow/dist/type-guards.d.ts","../node_modules/n8n-workflow/dist/extensions/extensions.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionextension.d.ts","../node_modules/n8n-workflow/dist/extensions/index.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionparser.d.ts","../node_modules/n8n-workflow/dist/nativemethods/index.d.ts","../node_modules/n8n-workflow/dist/nodeparameters/filterparameter.d.ts","../node_modules/n8n-workflow/dist/index.d.ts","../credentials/apifyapi.credentials.ts","../credentials/apifyoauth2api.credentials.ts","../nodes/apifygoogleadsscraper/apifygoogleadsscraper.properties.ts","../nodes/apifygoogleadsscraper/helpers/genericfunctions.ts","../nodes/apifygoogleadsscraper/helpers/executeactor.ts","../nodes/apifygoogleadsscraper/apifygoogleadsscraper.node.ts","../nodes/apifygoogleadsscraper/apifygoogleadsscraper.node.json","../package.json","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[53,107,124,125,258],[53,107,124,125,267],[53,107,124,125],[53,107,124,125,280],[53,107,124,125,220],[53,107,124,125,207,218],[53,107,124,125,223],[53,107,124,125,207,208,219],[53,107,124,125,219,220,221,222],[53,107,124,125,209,210],[53,107,124,125,209],[53,107,124,125,210,212],[53,107,124,125,209,215,216],[53,107,124,125,209,211,212,213,215,216,217],[53,107,124,125,212,213,214],[53,107,124,125,212,215,217],[53,107,124,125,212],[53,107,124,125,212,215],[53,107,124,125,209,211],[53,107,124,125,193],[53,107,124,125,204],[53,107,124,125,203,204,205,206],[53,107,124,125,194,195],[53,107,124,125,194],[53,107,124,125,193,195,197],[53,107,124,125,194,200,201],[53,107,124,125,193,197,198,199],[53,107,124,125,193,197,200,202],[53,107,124,125,193,197],[53,107,124,125,193,200],[53,107,124,125,193,194,196],[53,107,124,125,193,194,196,197,198,200,201,202],[53,107,124,125,267,268,269,270,271],[53,107,124,125,267,269],[53,107,119,124,125,157],[53,107,124,125,275],[53,107,124,125,276],[53,107,124,125,282,285],[53,104,105,107,124,125],[53,106,107,124,125],[107,124,125],[53,107,112,124,125,142],[53,107,108,113,118,124,125,127,139,150],[53,107,108,109,118,124,125,127],[53,107,110,124,125,151],[53,107,111,112,119,124,125,128],[53,107,112,124,125,139,147],[53,107,113,115,118,124,125,127],[53,106,107,114,124,125],[53,107,115,116,124,125],[53,107,117,118,124,125],[53,106,107,118,124,125],[53,107,118,119,120,124,125,139,150],[53,107,118,119,120,124,125,134,139,142],[53,99,107,115,118,121,124,125,127,139,150,258],[53,107,118,119,121,122,124,125,127,139,147,150],[53,107,121,123,124,125,139,147,150],[51,52,53,54,55,56,57,58,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[53,107,118,124,125],[53,107,124,125,126,150],[53,107,115,118,124,125,127,139],[53,107,124,125,128],[53,107,124,125,129],[53,106,107,124,125,130],[53,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,258],[53,107,124,125,132],[53,107,124,125,133],[53,107,118,124,125,134,135],[53,107,124,125,134,136,151,153],[53,107,119,124,125],[53,107,118,124,125,139,140,142],[53,107,124,125,141,142],[53,107,124,125,139,140],[53,107,124,125,142],[53,107,124,125,143],[53,104,107,124,125,139,144],[53,107,118,124,125,145,146],[53,107,124,125,145,146],[53,107,112,124,125,127,139,147],[53,107,124,125,148],[53,107,124,125,127,149],[53,107,121,124,125,133,150],[53,107,112,124,125,151],[53,107,124,125,139,152],[53,107,124,125,126,153],[53,107,124,125,154],[53,107,112,124,125],[53,99,107,124,125],[53,107,124,125,155],[53,99,107,118,120,124,125,130,139,142,150,152,153,155],[53,107,124,125,139,156],[53,107,124,125,289,327],[53,107,124,125,289,312,327],[53,107,124,125,288,327],[53,107,124,125,327],[53,107,124,125,289],[53,107,124,125,289,313,327],[53,107,124,125,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326],[53,107,124,125,313,327],[53,107,124,125,329],[53,107,124,125,278,284],[53,107,124,125,282],[53,107,124,125,279,283],[53,107,124,125,191],[53,107,124,125,162,167,191],[53,107,124,125,168,191],[53,107,124,125,162],[53,107,124,125,163],[53,107,124,125,179],[53,107,124,125,167],[53,107,124,125,168],[53,107,124,125,169],[53,107,124,125,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[53,107,124,125,162,171,191],[53,107,124,125,171,172,191],[53,107,124,125,178],[53,107,124,125,175],[53,107,124,125,167,168,191],[53,107,124,125,189,191],[53,107,124,125,191,223],[53,107,124,125,252],[53,107,124,125,252,253],[53,107,124,125,244],[53,107,121,124,125,160,161,185,186,187,188,189,190,191,192,224,225,226,227,228,229,230,245,246,247,248,249,250,251,254,255,256,257],[50,53,107,119,121,124,125,139,147,150,158,159,160,161,169,172,173,175,178,185,186,187,189,190,258],[53,107,124,125,167,191],[53,107,124,125,188,191],[53,107,124,125,189,190,191],[53,107,121,124,125,139,157,258],[53,107,119,121,124,125,133,150,258],[53,107,124,125,281],[53,65,68,71,72,107,124,125,150],[53,68,107,124,125,139,150],[53,68,72,107,124,125,150],[53,107,124,125,139],[53,62,107,124,125],[53,66,107,124,125],[53,64,65,68,107,124,125,150],[53,107,124,125,127,147],[53,107,124,125,157],[53,62,107,124,125,157],[53,64,68,107,124,125,127,150],[53,59,60,61,63,67,107,118,124,125,139,150],[53,68,76,84,107,124,125],[53,60,66,107,124,125],[53,68,93,94,107,124,125],[53,60,63,68,107,124,125,142,150,157],[53,68,107,124,125],[53,64,68,107,124,125,150],[53,59,107,124,125],[53,62,63,64,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,107,124,125],[53,68,86,89,107,115,124,125],[53,68,76,77,78,107,124,125],[53,66,68,77,79,107,124,125],[53,67,107,124,125],[53,60,62,68,107,124,125],[53,68,72,77,79,107,124,125],[53,72,107,124,125],[53,66,68,71,107,124,125,150],[53,60,64,68,76,107,124,125],[53,68,86,107,124,125],[53,79,107,124,125],[53,62,68,93,107,124,125,142,155,157],[53,107,124,125,243],[53,107,124,125,233,234],[53,107,124,125,231,232,233,235,236,241],[53,107,124,125,232,233],[53,107,124,125,242],[53,107,124,125,233],[53,107,124,125,231,232,233,236,237,238,239,240],[53,107,124,125,231,232,243],[53,107,124,125,258,261,263],[53,107,124,125,258,261,262,264],[53,107,124,125,258,264]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc602ef9638db2163c461ec64133fe76f890f6e03b69b1c96f5c5e59592025e8","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"830171b27c5fdf9bcbe4cf7d428fcf3ae2c67780fb7fbdccdf70d1623d938bc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b21e13ed07d0df176ae31d6b7f01f7b17d66dbeb489c0d31d00de2ca14883da","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f929f0b6b3421a2d34344b0f421f45aeb2c84ad365ebf29d04312023b3accc58","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8cf132379078d0974a59df26069689a2d33c7dc826b5be56231841cb2f32e58","impliedFormat":1},{"version":"fbf413fc617837453c878a9174a1f1b383616857a3f8366bc41cf30df4aea7d5","impliedFormat":1},{"version":"148c73ec11318850f571172ceae3e55ce479d850fe18ec8eae0abd99d9f6c319","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"e8aabbee5e7b9101b03bb4222607d57f38859b8115a8050a4eb91b4ee43a3a73","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"c0bb1b65757c72bbf8ddf7eaa532223bacf58041ff16c883e76f45506596e925","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"145dcf25fd4967c610c53d93d7bc4dce8fbb1b6dd7935362472d4ae49363c7ba","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"9043daec15206650fa119bad6b8d70136021ea7d52673a71f79a87a42ee38d44","affectsGlobalScope":true,"impliedFormat":1},{"version":"150d28d98d2f6aa7053ee0eb7de5a1c2ab23a6dbcc92eed0a630b2f572a1a5ec","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"28e3631087ecef78fef8efdb21d4d2509f776ef6f0d660ff605b5ee6a22ebb8c","impliedFormat":1},{"version":"b33b74b97952d9bf4fbd2951dcfbb5136656ddb310ce1c84518aaa77dbca9992","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b306cd4282bbb54d4a6bb23cfb7a271160983dfc38c67b5a132504cfcc34896","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"450172a56b944c2d83f45cc11c9a388ea967cd301a21202aa0a23c34c7506a18","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"72f8936aebf0c4a1adab767b97d34ba7d3a308afcf76de4417b9c16fb92ed548","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"04aa8fb012abeecf5666b013c59ba01dca5aa0c28173cb5385bc88d4adeb8d64","affectsGlobalScope":true,"impliedFormat":1},{"version":"3585d6891e9ea18e07d0755a6d90d71331558ba5dc5561933553209f886db106","affectsGlobalScope":true,"impliedFormat":1},{"version":"86be71cbb0593468644932a6eb96d527cfa600cecfc0b698af5f52e51804451d","impliedFormat":1},{"version":"84dd6b0fd2505135692935599d6606f50a421389e8d4535194bcded307ee5cf2","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"db19ea066fdc5f97df3f769e582ae3000380ab7942e266654bdb1a4650d19eaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a034894bf28c220a331c7a0229d33564803abe2ac1b9a5feee91b6b9b6e88ea","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"0bd1c536795238663d7213d12f7ed8a103740a1037138381ff7b0f851f457068","impliedFormat":1},{"version":"8093df4b6de7728cd3327b33ce2846cb808e3b738b55f380578ab47fb1a0a82f","impliedFormat":1},{"version":"a0981ee0c7ac06bdb575558bd09bac190e1c0c7888ddcb63d8bf648f23a30e8c","impliedFormat":1},{"version":"b047c5f4612ebd6f142d2eda135939c6808ac082b2251a36e9e002b96f04ca18","impliedFormat":1},{"version":"816c068d57010d183fa4dce821e6552a912cb654cf9f0e840f49f0a0fb3d2157","impliedFormat":1},{"version":"5ca59af607163e4c0b2350019394132c6fd5d643ecc13d5d2692084c23eb74fc","impliedFormat":1},{"version":"ebc356c4f81035935ebddc0e1c7818038b78043d349d58e1042aa1c0579b5600","impliedFormat":1},{"version":"fc73b467be17d21f268b1dae8e63c269e8eba711d6d3faf3c5e525383ac5b461","impliedFormat":1},{"version":"4ba081d644e7e33dc2fa68f4bf7b963cbf9838092a10f0f7d5dcc98095012bfb","impliedFormat":1},{"version":"7c1d9666b46748a09c7c290f2cad37d32d0a395c4fc49357f0f7b32cd2dc7d97","impliedFormat":1},{"version":"054eafa956d5592e6a91c2553e5657ee3032ed50121a65da1079c96d82631459","impliedFormat":1},{"version":"01d56fcd8d2968c9545f42ab80c1e6a43be249dadeb2d38262b888370ebbdf32","impliedFormat":1},{"version":"cf53b1ef37bdf9eacfe04a5c0977793a87fbdd8d6893aa513075fa656c2f7638","impliedFormat":1},{"version":"bfccff2a7a1a17431408d48ec6ef5f54c42d1a1650b97e291c63de8b07333ccb","impliedFormat":1},{"version":"ab8790af6d4be130bd0faaba17d6a1d6394b21a643af03be4827fd7f8664caac","impliedFormat":1},{"version":"37020cf15e16fa6e1c6e2485cd51d6cbe74adee3b860ab49fb7528ca7e8e518e","impliedFormat":1},{"version":"2f83df884805baffce941efa67d2e459f09d82ae5f03b35771eea7bb9875346b","impliedFormat":1},{"version":"1950d2a49c05c7aa6decfe409b552c4ea5fb156894cf0541b34999819bd778ea","impliedFormat":1},{"version":"32fe829960ff7120843f6dd20197e863aee3e81ecded415641a7500654d1bda7","impliedFormat":1},{"version":"0b8d5b22b236fff7e23f3a5d1ddeb80bee6630bd35b1bf1c3efae226f08a1c3d","impliedFormat":1},{"version":"393b1ed0dca4f0aac333e65f2e40dfedfa8b37ac60571e02b152d32d8c84d340","impliedFormat":1},{"version":"f46d50c283425bcc59d68ccf067b3672fb727f802652dc7d60d2e470fb956370","impliedFormat":1},{"version":"38e7ca4f87ae169831eee751ad1b043b672bc9f328c0d44ec5a1bed98756a0b4","impliedFormat":1},{"version":"0b4b6ca509cdb152e18ceeed526d17bb416e7e518508d859a0174977195f9a35","impliedFormat":1},{"version":"124e0f6c51420174212b8d23f9a53d5d781d4777995164f1fb64957eac658ce7","impliedFormat":1},{"version":"c7da212302d6bfa21317461599d24e8077b34664b4ed409c4c02a3d5fe31efaf","impliedFormat":1},{"version":"bf070df468371021e0dd0ad9ab7918b3f94254044136bf711c7e0e855f75309e","impliedFormat":1},{"version":"3226c2a2af36d14aa551babd4154ad18042c0deb1509a61058c6b066cfddc30a","impliedFormat":1},{"version":"191d027b3924d5046fbf118bae0987969b9e03eba478ad34d2572244720ddb3c","impliedFormat":1},{"version":"14f2edd0618d9adaf83d22b55155ec41faddac678b4d158c8380e4325c8b36b6","impliedFormat":1},{"version":"72c9243dfd255afefe50d511f215053083a79db363d12e7e394ba78462be9e1b","impliedFormat":1},{"version":"2fbcb6bb6ffd69437452ca3029458f3c81a92b72aa71922df931cc4d373fffc1","impliedFormat":1},{"version":"8515d09f98ff2e7251cc970e74af5a0790caa52abc02d412ae87cbc6e47239ca","impliedFormat":1},{"version":"6d5438d567004aa049a2cdcad7aa2c3d671c9e74a0209297935b12bc16c3cf38","impliedFormat":1},{"version":"e78705f977ecfcc36de9ab57841ad7a617ef649b07a995577fd857f1d175f730","impliedFormat":1},{"version":"5083850590c7890ffb680f0c9838f48b07eb8b2f7dbe02874858fcac0691705d","impliedFormat":1},{"version":"02a4a2284d423d8ccc3a77aa9257c34fdac28cddfb46f73178e60f6a1b1b31e9","impliedFormat":1},{"version":"3ee8e014aab37dbd755401967fbb9602221550038f6b8da6cedd5291a918ae0a","impliedFormat":1},{"version":"826f3c6a6d737e0d330522094a21cde94a202c5373448240ba483709cb829aec","impliedFormat":1},{"version":"7e4a23f6f3763da4a06900935d22acfd463c375cada5ab325e3980bd6c95d5b3","impliedFormat":1},{"version":"f3e045e81b47113fa02aaf9637b9ef84347610aaceda60a0d8316aabc3f03638","impliedFormat":1},{"version":"1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","impliedFormat":1},{"version":"6a8d6deca8ec4250630fea4e5f23bd9bf0face98739ccd22e08a17173117155b","impliedFormat":1},{"version":"226dbfe4506447111bd898161d47850f8c57f04cbb6a3a6d487b7939dbf89b1b","impliedFormat":1},{"version":"13f846a45f738733c8a63a06eaa9f580e9c07eb7aed5d8a2c674114846a42175","impliedFormat":1},{"version":"9d14fcf0b69094271127c7b6acb36987be5d1bffa4eb948359549f040fb50349","impliedFormat":1},{"version":"e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","impliedFormat":1},{"version":"28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","impliedFormat":1},{"version":"1147c3efa5a256bcd6a3d2cfaf764185b7120bf985f8412d9bae596a0348f77b","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"0295c7a5d5d956391ab9bf0410e73a89e25fe26810f9a1d823cc794d682cdafc","impliedFormat":1},{"version":"19826a846db870c2261a3c4cf0695df889d9fe3eebe7775f3f5bc76fe7ad07a7","impliedFormat":1},{"version":"e04cafd03370139cdb0c846273cb19eb4264be0073c7baf78e9b2c16ffb74813","impliedFormat":1},{"version":"7c01c77fb7d8664daa64819245d785e106e0a3cb6e43da64346e4400d7fa9401","impliedFormat":1},{"version":"8c2ca98f4713d989d610fbd38a44316bc43c50aa26983e62dc31002f32ce63fa","impliedFormat":1},{"version":"ee931610d1cf7a6e666fad138187751392fc88bee931b94ac8c4571208dc7370","impliedFormat":1},{"version":"53543b3b64e624a81fc5876da6d72c94dd87655e7afc10988cf82ce7cbc74180","impliedFormat":1},{"version":"967e68e99b8a80551837321442a0e2f12ef50aa1ce567ec991ac6bf062a0c7cf","impliedFormat":1},{"version":"144ab2f3ef7404caf39c6acc88d248d7e55ab3dd1c4c0d89367ad12169aec113","impliedFormat":1},{"version":"759002d4454b851c51b3585e0837c77d159c59957fc519c876449ee5d80a6643","impliedFormat":1},{"version":"1ff2be5eb8b9b508603019df9f851240e57360a9417e672bf4de9d3495833f81","impliedFormat":1},{"version":"8263aed8d77f5b9a10de995c8efd14ea0e5bc54e2b4525178b643f5b24f90f1d","impliedFormat":1},{"version":"a7e7df52af8795560306e4b354e6670d978c59a87dd78b81e58656890c5ed451","impliedFormat":1},{"version":"d6220bee7bd245bc2a377f1a8ef31c496132cc9c7e7e3937e7dd4cbbcec0b38d","impliedFormat":1},{"version":"7686d52e8cbd036b9ca265490c31e36945a52ef3a9e726523d36b02befec7331","impliedFormat":1},{"version":"0f55c8c4605355ddea9fdd104ea0cb089e6ce7f41165fdc72d08247665dba0d4","impliedFormat":1},{"version":"9cc46a5cf6e8b232bb86abfd0c0ed4e0fd25d95aa3d2930e4705b078d29e51ec","impliedFormat":1},{"version":"edd5e20e9eb8cb2eaf941d431af3ab69a9b94e7f5d8699b4c938fee1be8d53c4","impliedFormat":1},{"version":"edcb8d46132756662651f6a42656aaeced2e221d0929411fb0a62c906f9873dd","impliedFormat":1},{"version":"382d2239e60b72282adfeb672e22e6df4de3737ce7e5df2151823dab489496ba","impliedFormat":1},{"version":"304b0d21771513c0a36ed7179a9d1069bfa776e95f50b789ce898f3ef2b71514","impliedFormat":1},{"version":"a42e1c2eec0e747163afa705044664a39065215a8d66c930f8d43f118a9bc044","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"b542939a35357458e62f8229c2d7578ae888d63d3ab837395d7bb8a3064c205e","impliedFormat":1},{"version":"3a5af4fba7b27b815bb40f52715aedebaa4b371da3e5a664e7e0798c9b638825","impliedFormat":1},{"version":"8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","impliedFormat":1},{"version":"ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","impliedFormat":1},{"version":"49c632082dc8a916353288d3d8b2dc82b3471794249a381d090d960c8ceac908","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"71addb585c2db7b8e53dc1b0bcfa58c6c67c6e4fa2b968942046749d66f82e7e","impliedFormat":1},{"version":"c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"0320c5b275beb43649be5a818dfa83a2586ae110ac5bbb2c5eb7184e1fe3ca60","impliedFormat":1},{"version":"f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","impliedFormat":1},{"version":"b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","impliedFormat":1},{"version":"5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","impliedFormat":1},{"version":"378e26daa6ec402b81f5aea1ab47262d4f8ad8966037c26be75e8185366d09a1","impliedFormat":1},{"version":"4788f58342a67af140858e23a24cdf62457ec1ff79af68ac71b9d3c0c89bb53b","impliedFormat":1},{"version":"efb8488e3acac79cac5927eaa8069fffc1d37cc3b2c3213d0256e9e1be8276bc","impliedFormat":1},{"version":"951baa882e6e3e5026cb8a16f80a8bebec1caa35c3fa016c9a3ce6a338bd3123","impliedFormat":1},{"version":"361547594eb0fdbb5316523e4668c26ec483de464f53c4a0f65bbca573abae3e","impliedFormat":1},{"version":"afcef07b51d43cdd4e1bc0b92a3d84734cded5f12d764af090666afefb5a3676","impliedFormat":1},{"version":"3f6f70c077ed8d600aa24d8c0e83ba0dd5d2c5300d524cd2181efd30c0a62c72","impliedFormat":1},{"version":"b773bcdaeda86c0f58910cecd6c77a0bd60be763127c42cad5a64fe66799b1f6","impliedFormat":1},{"version":"0ca63470234437191f454f7f66b5815d79b59ebc636faa1de1194d282563e431","impliedFormat":1},{"version":"6d3b514475ee51ab5e99e4fc82ffcd6191d40c19dd197a1743111e0757c6f9c6","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"716c6fce977a188f23ee5165e4179944a63e8620784a7054fc0dd81f6c348bb4","impliedFormat":1},{"version":"cf2324583854e9b5dd489e537e2d46375ffb66169fbd947dea112898210ed9ff","impliedFormat":1},{"version":"b4b08a04e1861c2494437fad74c5c71f38a2f3d3cdd51fba70fcb072f3337b58","impliedFormat":1},{"version":"f8050503207f0881e6ab5b51e78e258851d3ce4be3ed9e0b6bf85d038e6caf04","signature":"71b3732b2869028a4060f79d65c9a3286d5d0fc7b6934a0269c086ab280710be"},{"version":"dc3e790816bb5ea4f6e1513a4e5fe759eab03903792595712ef1652d2c52ba59","signature":"e99af3b2f4cde83355945f960cce3977e27fb7e62fb29e1072b90ef84dcef88c"},{"version":"6e2bee80442e5f6993e382b59912f2c8c5318bf5c43c31c6c08700f61a4e60a6","signature":"cfbd826c41cc4473f94bfe0f4bb16629dfa82fc346829936565ff8f256dc7f4d"},{"version":"58960ce2c0efdcf2337e5e7dab1528dca08a86fd2b35e3fa41c6c498e9ee1272","signature":"31811fcb215ea0ca61d2ecb13422aa5a206391d7052b6d6e2869d7ad05eb39f6"},{"version":"1ba0ce61c31b67c8f7f952868d05f278e6a62fe7b2520df0575333bb04ef2910","signature":"58d85b85c6e61b50175a231f61151d32e7fd061998a05890fdac91adb3bbdfb8"},{"version":"cc713eb50e602a043001f13c65d2e74784c1dee210d4bee75900a1b5ccf3e412","signature":"bbc5fbc8eb33c4a60af839ab2800c126f501112bb5c38c893c075aa9f62c8a36"},"ab37bc03ec344f83435469b22955e9f78e4a61662f7c14e39002382f45c8b75c","17033f97b3521baadfef29e4db1c27613bee8704c5a22eeffaddf645e94aa155",{"version":"a28ac3e717907284b3910b8e9b3f9844a4e0b0a861bea7b923e5adf90f620330","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"82e5a50e17833a10eb091923b7e429dc846d42f1c6161eb6beeb964288d98a15","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"ce6a3f09b8db73a7e9701aca91a04b4fabaf77436dd35b24482f9ee816016b17","impliedFormat":1},{"version":"20e086e5b64fdd52396de67761cc0e94693494deadb731264aac122adf08de3f","impliedFormat":1},{"version":"6e78f75403b3ec65efb41c70d392aeda94360f11cedc9fb2c039c9ea23b30962","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"eefd2bbc8edb14c3bd1246794e5c070a80f9b8f3730bd42efb80df3cc50b9039","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a56fe175741cc8841835eb72e61fa5a34adcbc249ede0e3494c229f0750f6b85","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[259,266]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":6,"useUnknownInCatchVariables":false},"referencedMap":[[259,1],[260,1],[269,2],[267,3],[278,3],[281,4],[222,5],[219,6],[221,7],[220,8],[208,3],[223,9],[211,10],[210,11],[209,12],[217,13],[218,14],[215,15],[216,16],[213,17],[214,18],[212,19],[204,20],[205,21],[206,3],[207,22],[196,23],[195,24],[194,25],[202,26],[200,27],[201,28],[198,29],[199,30],[197,31],[203,32],[193,3],[280,3],[272,33],[268,2],[270,34],[271,2],[273,3],[274,35],[275,3],[276,36],[277,37],[286,38],[287,3],[104,39],[105,39],[106,40],[53,41],[107,42],[108,43],[109,44],[51,3],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,50],[117,51],[118,52],[119,53],[120,54],[54,3],[52,3],[121,55],[122,56],[123,57],[157,58],[124,59],[125,3],[126,60],[127,61],[128,62],[129,63],[130,64],[131,65],[132,66],[133,67],[134,68],[135,68],[136,69],[137,3],[138,70],[139,71],[141,72],[140,73],[142,74],[143,75],[144,76],[145,77],[146,78],[147,79],[148,80],[149,81],[150,82],[151,83],[152,84],[153,85],[154,86],[55,3],[56,87],[57,3],[58,3],[100,88],[101,89],[102,3],[103,74],[155,90],[156,91],[312,92],[313,93],[289,94],[292,95],[310,92],[311,92],[301,92],[300,96],[298,92],[293,92],[306,92],[304,92],[308,92],[288,92],[305,92],[309,92],[294,92],[295,92],[307,92],[290,92],[296,92],[297,92],[299,92],[303,92],[314,97],[302,92],[291,92],[327,98],[326,3],[321,97],[323,99],[322,97],[315,97],[316,97],[318,97],[320,97],[324,99],[325,99],[317,99],[319,99],[328,3],[329,3],[330,100],[285,101],[283,102],[284,103],[279,3],[160,3],[228,104],[161,3],[168,105],[171,106],[167,3],[163,107],[164,108],[165,108],[166,108],[180,109],[183,110],[184,3],[162,3],[170,111],[182,112],[169,111],[185,113],[172,114],[173,115],[174,111],[179,116],[181,105],[176,117],[175,118],[177,117],[178,106],[186,3],[188,119],[224,120],[253,121],[255,3],[252,3],[254,122],[245,123],[229,3],[258,124],[191,125],[192,104],[230,104],[246,1],[256,121],[225,119],[257,126],[226,104],[187,3],[227,104],[251,104],[249,104],[250,104],[248,104],[189,127],[247,128],[190,3],[50,3],[158,129],[159,130],[282,131],[48,3],[49,3],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[18,3],[19,3],[4,3],[20,3],[24,3],[21,3],[22,3],[23,3],[25,3],[26,3],[27,3],[5,3],[28,3],[29,3],[30,3],[31,3],[6,3],[35,3],[32,3],[33,3],[34,3],[36,3],[7,3],[37,3],[42,3],[43,3],[38,3],[39,3],[40,3],[41,3],[44,3],[45,3],[1,3],[46,3],[47,3],[76,132],[88,133],[74,134],[89,135],[98,136],[65,137],[66,138],[64,139],[97,140],[92,141],[96,142],[68,143],[85,144],[67,145],[95,146],[62,147],[63,141],[69,148],[70,3],[75,149],[73,148],[60,150],[99,151],[90,152],[79,153],[78,148],[80,154],[83,155],[77,156],[81,157],[93,140],[71,158],[72,159],[84,160],[61,135],[87,161],[86,148],[82,162],[91,3],[59,3],[94,163],[244,164],[235,165],[242,166],[237,3],[238,3],[236,167],[239,164],[231,3],[232,3],[243,168],[234,169],[240,3],[241,170],[233,171],[265,3],[264,172],[261,1],[263,173],[262,174],[266,3]],"version":"5.9.2"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "n8n-nodes-google-ad-scraper",
3
+ "version": "1.0.0",
4
+ "description": "n8n community node that integrates the Apify Google Ads Scraper Actor to extract advertising data from Google's Ads Transparency Center, including text, image, and video advertisements with details such as headlines, descriptions, geographic targeting, and impression metrics",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "n8n-nodes",
8
+ "n8n"
9
+ ],
10
+ "license": "MIT",
11
+ "author": {
12
+ "name": "AUTHOR_NAME",
13
+ "email": "AUTHOR_EMAIL"
14
+ },
15
+ "engines": {
16
+ "node": ">=18.10"
17
+ },
18
+ "packageManager": "npm@10.8.2",
19
+ "main": "index.js",
20
+ "scripts": {
21
+ "build": "n8n-node build",
22
+ "dev:manual": "cross-env N8N_CUSTOM_EXTENSIONS=. npx n8n",
23
+ "dev": "n8n-node dev",
24
+ "lint": "n8n-node lint",
25
+ "lint:fix": "n8n-node lint --fix",
26
+ "merge:api": "npx openapi-merge-cli --config ./openapi.config.json",
27
+ "test": "WEBHOOK_URL=https://localhost:5678 jest --config jest.config.js",
28
+ "create-actor-app": "npx tsx scripts/cli.ts"
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "n8n": {
34
+ "n8nNodesApiVersion": 1,
35
+ "credentials": [
36
+ "dist/credentials/ApifyApi.credentials.js",
37
+ "dist/credentials/ApifyOAuth2Api.credentials.js"
38
+ ],
39
+ "nodes": [
40
+ "dist/nodes/ApifyGoogleAdsScraper/ApifyGoogleAdsScraper.node.js"
41
+ ]
42
+ },
43
+ "peerDependencies": {
44
+ "n8n-workflow": "*"
45
+ },
46
+ "devDependencies": {
47
+ "@n8n/node-cli": "*",
48
+ "@types/jest": "^29.5.14",
49
+ "@types/node": "^24.0.1",
50
+ "apify-client": "^2.16.0",
51
+ "chalk": "^5.6.0",
52
+ "eslint": "^9.32.0",
53
+ "glob": "^11.0.3",
54
+ "gulp": "^4.0.2",
55
+ "jest": "^29.7.0",
56
+ "nock": "^14.0.5",
57
+ "prettier": "^3.6.2",
58
+ "sharp": "^0.34.2",
59
+ "ts-jest": "^29.3.2",
60
+ "typescript": "5.9.2"
61
+ }
62
+ }