Api roll 1: 2014-09-23

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//595873002
diff --git a/discovery/googleapis/adexchangeseller__v1.1.json b/discovery/googleapis/adexchangeseller__v1.1.json
index 359aacd..ac8638e 100644
--- a/discovery/googleapis/adexchangeseller__v1.1.json
+++ b/discovery/googleapis/adexchangeseller__v1.1.json
@@ -18,7 +18,7 @@
     "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/ad-exchange/seller-rest/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/-Sh2IMIsIqhQ3klzcQfPkMhvc2c\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/bok_hcSdBm1EdbGDzvvOPwoa2gI\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
         "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -704,7 +704,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140921",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Account": {
diff --git a/discovery/googleapis/admin__directory_v1.json b/discovery/googleapis/admin__directory_v1.json
index bb12303..ae35668 100644
--- a/discovery/googleapis/admin__directory_v1.json
+++ b/discovery/googleapis/admin__directory_v1.json
@@ -52,6 +52,12 @@
                 },
                 "https://www.googleapis.com/auth/admin.directory.user.security": {
                     "description": "Manage data access permissions for users on your domain"
+                },
+                "https://www.googleapis.com/auth/admin.directory.userschema": {
+                    "description": "View and manage the provisioning of user schemas on your domain"
+                },
+                "https://www.googleapis.com/auth/admin.directory.userschema.readonly": {
+                    "description": "View user schemas on your domain"
                 }
             }
         }
@@ -63,7 +69,7 @@
     "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/admin-sdk/directory/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/j_ZwE0C9AiYczX4hTNBHFJNHzq0\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/JayrKKEnIqmNj16l21fqKTyl5PU\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -1468,6 +1474,184 @@
                 }
             }
         },
+        "schemas": {
+            "methods": {
+                "delete": {
+                    "description": "Delete schema",
+                    "httpMethod": "DELETE",
+                    "id": "directory.schemas.delete",
+                    "parameterOrder": [
+                        "customerId",
+                        "schemaKey"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        },
+                        "schemaKey": {
+                            "description": "Name or immutable Id of the schema",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas/{schemaKey}",
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema"
+                    ]
+                },
+                "get": {
+                    "description": "Retrieve schema",
+                    "httpMethod": "GET",
+                    "id": "directory.schemas.get",
+                    "parameterOrder": [
+                        "customerId",
+                        "schemaKey"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        },
+                        "schemaKey": {
+                            "description": "Name or immutable Id of the schema",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas/{schemaKey}",
+                    "response": {
+                        "$ref": "Schema"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema",
+                        "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
+                    ]
+                },
+                "insert": {
+                    "description": "Create schema.",
+                    "httpMethod": "POST",
+                    "id": "directory.schemas.insert",
+                    "parameterOrder": [
+                        "customerId"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas",
+                    "request": {
+                        "$ref": "Schema"
+                    },
+                    "response": {
+                        "$ref": "Schema"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema"
+                    ]
+                },
+                "list": {
+                    "description": "Retrieve all schemas for a customer",
+                    "httpMethod": "GET",
+                    "id": "directory.schemas.list",
+                    "parameterOrder": [
+                        "customerId"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas",
+                    "response": {
+                        "$ref": "Schemas"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema",
+                        "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
+                    ]
+                },
+                "patch": {
+                    "description": "Update schema. This method supports patch semantics.",
+                    "httpMethod": "PATCH",
+                    "id": "directory.schemas.patch",
+                    "parameterOrder": [
+                        "customerId",
+                        "schemaKey"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        },
+                        "schemaKey": {
+                            "description": "Name or immutable Id of the schema.",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas/{schemaKey}",
+                    "request": {
+                        "$ref": "Schema"
+                    },
+                    "response": {
+                        "$ref": "Schema"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema"
+                    ]
+                },
+                "update": {
+                    "description": "Update schema",
+                    "httpMethod": "PUT",
+                    "id": "directory.schemas.update",
+                    "parameterOrder": [
+                        "customerId",
+                        "schemaKey"
+                    ],
+                    "parameters": {
+                        "customerId": {
+                            "description": "Immutable id of the Google Apps account",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        },
+                        "schemaKey": {
+                            "description": "Name or immutable Id of the schema.",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "customer/{customerId}/schemas/{schemaKey}",
+                    "request": {
+                        "$ref": "Schema"
+                    },
+                    "response": {
+                        "$ref": "Schema"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/admin.directory.userschema"
+                    ]
+                }
+            }
+        },
         "tokens": {
             "methods": {
                 "delete": {
@@ -1582,11 +1766,46 @@
                         "userKey"
                     ],
                     "parameters": {
+                        "customFieldMask": {
+                            "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
+                            "location": "query",
+                            "type": "string"
+                        },
+                        "projection": {
+                            "default": "basic",
+                            "description": "What subset of fields to fetch for this user.",
+                            "enum": [
+                                "basic",
+                                "custom",
+                                "full"
+                            ],
+                            "enumDescriptions": [
+                                "Do not include any custom fields for the user.",
+                                "Include custom fields from schemas mentioned in customFieldMask.",
+                                "Include all fields associated with this user."
+                            ],
+                            "location": "query",
+                            "type": "string"
+                        },
                         "userKey": {
                             "description": "Email or immutable Id of the user",
                             "location": "path",
                             "required": true,
                             "type": "string"
+                        },
+                        "viewType": {
+                            "default": "admin_view",
+                            "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
+                            "enum": [
+                                "admin_view",
+                                "domain_public"
+                            ],
+                            "enumDescriptions": [
+                                "Fetches the ADMIN_VIEW of the user.",
+                                "Fetches the DOMAIN_PUBLIC view of the user."
+                            ],
+                            "location": "query",
+                            "type": "string"
                         }
                     },
                     "path": "users/{userKey}",
@@ -1618,6 +1837,11 @@
                     "httpMethod": "GET",
                     "id": "directory.users.list",
                     "parameters": {
+                        "customFieldMask": {
+                            "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
+                            "location": "query",
+                            "type": "string"
+                        },
                         "customer": {
                             "description": "Immutable id of the Google Apps account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.",
                             "location": "query",
@@ -1675,8 +1899,24 @@
                             "location": "query",
                             "type": "string"
                         },
+                        "projection": {
+                            "default": "basic",
+                            "description": "What subset of fields to fetch for this user.",
+                            "enum": [
+                                "basic",
+                                "custom",
+                                "full"
+                            ],
+                            "enumDescriptions": [
+                                "Do not include any custom fields for the user.",
+                                "Include custom fields from schemas mentioned in customFieldMask.",
+                                "Include all fields associated with this user."
+                            ],
+                            "location": "query",
+                            "type": "string"
+                        },
                         "query": {
-                            "description": "Query string search. Should be of the form \"\" where field can be any of supported fields, operators can be one of '=' for exact match or ':' for prefix match. For prefix match, the value should always be followed by a *.",
+                            "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users",
                             "location": "query",
                             "type": "string"
                         },
@@ -1697,6 +1937,20 @@
                             ],
                             "location": "query",
                             "type": "string"
+                        },
+                        "viewType": {
+                            "default": "admin_view",
+                            "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
+                            "enum": [
+                                "admin_view",
+                                "domain_public"
+                            ],
+                            "enumDescriptions": [
+                                "Fetches the ADMIN_VIEW of the user.",
+                                "Fetches the DOMAIN_PUBLIC view of the user."
+                            ],
+                            "location": "query",
+                            "type": "string"
                         }
                     },
                     "path": "users",
@@ -1812,6 +2066,11 @@
                     "httpMethod": "POST",
                     "id": "directory.users.watch",
                     "parameters": {
+                        "customFieldMask": {
+                            "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
+                            "location": "query",
+                            "type": "string"
+                        },
                         "customer": {
                             "description": "Immutable id of the Google Apps account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.",
                             "location": "query",
@@ -1869,8 +2128,24 @@
                             "location": "query",
                             "type": "string"
                         },
+                        "projection": {
+                            "default": "basic",
+                            "description": "What subset of fields to fetch for this user.",
+                            "enum": [
+                                "basic",
+                                "custom",
+                                "full"
+                            ],
+                            "enumDescriptions": [
+                                "Do not include any custom fields for the user.",
+                                "Include custom fields from schemas mentioned in customFieldMask.",
+                                "Include all fields associated with this user."
+                            ],
+                            "location": "query",
+                            "type": "string"
+                        },
                         "query": {
-                            "description": "Query string search. Should be of the form \"\" where field can be any of supported fields, operators can be one of '=' for exact match or ':' for prefix match. For prefix match, the value should always be followed by a *.",
+                            "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users",
                             "location": "query",
                             "type": "string"
                         },
@@ -1891,6 +2166,20 @@
                             ],
                             "location": "query",
                             "type": "string"
+                        },
+                        "viewType": {
+                            "default": "admin_view",
+                            "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
+                            "enum": [
+                                "admin_view",
+                                "domain_public"
+                            ],
+                            "enumDescriptions": [
+                                "Fetches the ADMIN_VIEW of the user.",
+                                "Fetches the DOMAIN_PUBLIC view of the user."
+                            ],
+                            "location": "query",
+                            "type": "string"
                         }
                     },
                     "path": "users/watch",
@@ -2222,7 +2511,7 @@
             }
         }
     },
-    "revision": "20140905",
+    "revision": "20140919",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Alias": {
@@ -3018,6 +3307,147 @@
             },
             "type": "object"
         },
+        "Schema": {
+            "description": "JSON template for Schema resource in Directory API.",
+            "id": "Schema",
+            "properties": {
+                "etag": {
+                    "description": "ETag of the resource.",
+                    "type": "string"
+                },
+                "fields": {
+                    "annotations": {
+                        "required": [
+                            "directory.schemas.insert",
+                            "directory.schemas.update"
+                        ]
+                    },
+                    "description": "Fields of Schema",
+                    "items": {
+                        "$ref": "SchemaFieldSpec"
+                    },
+                    "type": "array"
+                },
+                "kind": {
+                    "default": "admin#directory#schema",
+                    "description": "Kind of resource this is.",
+                    "type": "string"
+                },
+                "schemaId": {
+                    "description": "Unique identifier of Schema (Read-only)",
+                    "type": "string"
+                },
+                "schemaName": {
+                    "annotations": {
+                        "required": [
+                            "directory.schemas.insert"
+                        ]
+                    },
+                    "description": "Schema name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "SchemaFieldSpec": {
+            "description": "JSON template for FieldSpec resource for Schemas in Directory API.",
+            "id": "SchemaFieldSpec",
+            "properties": {
+                "etag": {
+                    "description": "ETag of the resource.",
+                    "type": "string"
+                },
+                "fieldId": {
+                    "description": "Unique identifier of Field (Read-only)",
+                    "type": "string"
+                },
+                "fieldName": {
+                    "annotations": {
+                        "required": [
+                            "directory.schemas.insert",
+                            "directory.schemas.update"
+                        ]
+                    },
+                    "description": "Name of the field.",
+                    "type": "string"
+                },
+                "fieldType": {
+                    "annotations": {
+                        "required": [
+                            "directory.schemas.insert",
+                            "directory.schemas.update"
+                        ]
+                    },
+                    "description": "Type of the field.",
+                    "type": "string"
+                },
+                "indexed": {
+                    "default": "true",
+                    "description": "Boolean specifying whether the field is indexed or not.",
+                    "type": "boolean"
+                },
+                "kind": {
+                    "default": "admin#directory#schema#fieldspec",
+                    "description": "Kind of resource this is.",
+                    "type": "string"
+                },
+                "multiValued": {
+                    "annotations": {
+                        "required": [
+                            "directory.schemas.insert",
+                            "directory.schemas.update"
+                        ]
+                    },
+                    "description": "Boolean specifying whether this is a multi-valued field or not.",
+                    "type": "boolean"
+                },
+                "numericIndexingSpec": {
+                    "description": "Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the numericIndexingSpec allows range queries to be supported.",
+                    "properties": {
+                        "maxValue": {
+                            "description": "Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.",
+                            "format": "double",
+                            "type": "number"
+                        },
+                        "minValue": {
+                            "description": "Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.",
+                            "format": "double",
+                            "type": "number"
+                        }
+                    },
+                    "type": "object"
+                },
+                "readAccessType": {
+                    "default": "ALL_DOMAIN_USERS",
+                    "description": "Read ACLs on the field specifying who can view values of this field. Valid values are \"ALL_DOMAIN_USERS\" and \"ADMINS_AND_SELF\".",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "Schemas": {
+            "description": "JSON response template for List Schema operation in Directory API.",
+            "id": "Schemas",
+            "properties": {
+                "etag": {
+                    "description": "ETag of the resource.",
+                    "type": "string"
+                },
+                "kind": {
+                    "default": "admin#directory#schemas",
+                    "description": "Kind of resource this is.",
+                    "type": "string"
+                },
+                "schemas": {
+                    "description": "List of UserSchema objects.",
+                    "items": {
+                        "$ref": "Schema"
+                    },
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
         "Token": {
             "description": "JSON template for token resource in Directory API.",
             "id": "Token",
@@ -3085,7 +3515,7 @@
             "type": "object"
         },
         "User": {
-            "description": "JSON template for User object in Apps Directory API.",
+            "description": "JSON template for User object in Directory API.",
             "id": "User",
             "properties": {
                 "addresses": {
@@ -3111,6 +3541,13 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "customSchemas": {
+                    "additionalProperties": {
+                        "$ref": "UserCustomProperties"
+                    },
+                    "description": "Custom fields of the user.",
+                    "type": "object"
+                },
                 "customerId": {
                     "description": "CustomerId of User (Read-only)",
                     "type": "string"
@@ -3291,6 +3728,14 @@
             },
             "type": "object"
         },
+        "UserCustomProperties": {
+            "additionalProperties": {
+                "type": "any"
+            },
+            "description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)",
+            "id": "UserCustomProperties",
+            "type": "object"
+        },
         "UserEmail": {
             "description": "JSON template for an email.",
             "id": "UserEmail",
diff --git a/discovery/googleapis/admin__email_migration_v2.json b/discovery/googleapis/admin__email_migration_v2.json
index 65153ab..6c585ea 100644
--- a/discovery/googleapis/admin__email_migration_v2.json
+++ b/discovery/googleapis/admin__email_migration_v2.json
@@ -14,10 +14,10 @@
     "description": "Email Migration API lets you migrate emails of users to Google backends.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/admin-sdk/email-migration/v2/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/sAW4O9TJFjBOU_nyFti74xIcDhI\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/Dam2iHq0kOgu8qnsdYB9fhgy5SY\"",
     "icons": {
-        "x16": "http://www.google.com/images/icons/product/search-16.gif",
-        "x32": "http://www.google.com/images/icons/product/search-32.gif"
+        "x16": "https://www.google.com/images/icons/product/googlemail-16.png",
+        "x32": "https://www.google.com/images/icons/product/googlemail-32.png"
     },
     "id": "admin:email_migration_v2",
     "kind": "discovery#restDescription",
@@ -116,7 +116,7 @@
             }
         }
     },
-    "revision": "20140130",
+    "revision": "20140903",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "MailItem": {
diff --git a/discovery/googleapis/admin__reports_v1.json b/discovery/googleapis/admin__reports_v1.json
index e53011d..ff6f4e6 100644
--- a/discovery/googleapis/admin__reports_v1.json
+++ b/discovery/googleapis/admin__reports_v1.json
@@ -18,7 +18,7 @@
     "description": "Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/admin-sdk/reports/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/1CnyuAQi1v-9K692tzB6A2cyPVk\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/kIY0aqiDkZ24yMy88cSNtVuMbHk\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -370,7 +370,7 @@
             }
         }
     },
-    "revision": "20140725",
+    "revision": "20140912",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Activities": {
@@ -451,6 +451,21 @@
                                             "format": "int64",
                                             "type": "string"
                                         },
+                                        "multiIntValue": {
+                                            "description": "Multi-int value of the parameter.",
+                                            "items": {
+                                                "format": "int64",
+                                                "type": "string"
+                                            },
+                                            "type": "array"
+                                        },
+                                        "multiValue": {
+                                            "description": "Multi-string value of the parameter.",
+                                            "items": {
+                                                "type": "string"
+                                            },
+                                            "type": "array"
+                                        },
                                         "name": {
                                             "description": "The name of the parameter.",
                                             "type": "string"
diff --git a/discovery/googleapis/adsense__v1.4.json b/discovery/googleapis/adsense__v1.4.json
index e4fb64d..ec4f0a6 100644
--- a/discovery/googleapis/adsense__v1.4.json
+++ b/discovery/googleapis/adsense__v1.4.json
@@ -18,7 +18,7 @@
     "description": "Gives AdSense publishers access to their inventory and the ability to generate reports",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/adsense/management/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/w5NCsqdDReX8O9yjFmrFBeYpEhQ\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/21ZlLWjjym4MBeOUj_1PdKmd4yc\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/adsense-16.png",
         "x32": "https://www.google.com/images/icons/product/adsense-32.png"
@@ -1624,7 +1624,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140921",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Account": {
diff --git a/discovery/googleapis/adsensehost__v4.1.json b/discovery/googleapis/adsensehost__v4.1.json
index 3d262f6..328d61d 100644
--- a/discovery/googleapis/adsensehost__v4.1.json
+++ b/discovery/googleapis/adsensehost__v4.1.json
@@ -15,7 +15,7 @@
     "description": "Gives AdSense Hosts access to report generation, ad code generation, and publisher management capabilities.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/adsense/host/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/9aNn1Kv5HngMiv4DqtLxcaAgF8g\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/w_BZT9vnsySgZ6dEU-tvcfoerto\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/adsense-16.png",
         "x32": "https://www.google.com/images/icons/product/adsense-32.png"
@@ -1072,7 +1072,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140921",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Account": {
diff --git a/discovery/googleapis/androidpublisher__v2.json b/discovery/googleapis/androidpublisher__v2.json
index 1a18112..0c33bd4 100644
--- a/discovery/googleapis/androidpublisher__v2.json
+++ b/discovery/googleapis/androidpublisher__v2.json
@@ -15,7 +15,7 @@
     "description": "Lets Android application developers access their Google Play accounts.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/android-publisher",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/tXT4pCufDuL1OYbmvPiKHbGGdkc\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/rvEzY_KAgBOlUM1lQqukKQLrl6Y\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/android-16.png",
         "x32": "https://www.google.com/images/icons/product/android-32.png"
@@ -2004,6 +2004,46 @@
                                 "https://www.googleapis.com/auth/androidpublisher"
                             ]
                         },
+                        "defer": {
+                            "description": "Defers a user's subscription purchase until a specified future expiration time.",
+                            "httpMethod": "POST",
+                            "id": "androidpublisher.purchases.subscriptions.defer",
+                            "parameterOrder": [
+                                "packageName",
+                                "subscriptionId",
+                                "token"
+                            ],
+                            "parameters": {
+                                "packageName": {
+                                    "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "subscriptionId": {
+                                    "description": "The purchased subscription ID (for example, 'monthly001').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "token": {
+                                    "description": "The token provided to the user's device when the subscription was purchased.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer",
+                            "request": {
+                                "$ref": "SubscriptionPurchasesDeferRequest"
+                            },
+                            "response": {
+                                "$ref": "SubscriptionPurchasesDeferResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/androidpublisher"
+                            ]
+                        },
                         "get": {
                             "description": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
                             "httpMethod": "GET",
@@ -2040,6 +2080,74 @@
                             "scopes": [
                                 "https://www.googleapis.com/auth/androidpublisher"
                             ]
+                        },
+                        "refund": {
+                            "description": "Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.",
+                            "httpMethod": "POST",
+                            "id": "androidpublisher.purchases.subscriptions.refund",
+                            "parameterOrder": [
+                                "packageName",
+                                "subscriptionId",
+                                "token"
+                            ],
+                            "parameters": {
+                                "packageName": {
+                                    "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "subscriptionId": {
+                                    "description": "The purchased subscription ID (for example, 'monthly001').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "token": {
+                                    "description": "The token provided to the user's device when the subscription was purchased.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund",
+                            "scopes": [
+                                "https://www.googleapis.com/auth/androidpublisher"
+                            ]
+                        },
+                        "revoke": {
+                            "description": "Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.",
+                            "httpMethod": "POST",
+                            "id": "androidpublisher.purchases.subscriptions.revoke",
+                            "parameterOrder": [
+                                "packageName",
+                                "subscriptionId",
+                                "token"
+                            ],
+                            "parameters": {
+                                "packageName": {
+                                    "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "subscriptionId": {
+                                    "description": "The purchased subscription ID (for example, 'monthly001').",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "token": {
+                                    "description": "The token provided to the user's device when the subscription was purchased.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke",
+                            "scopes": [
+                                "https://www.googleapis.com/auth/androidpublisher"
+                            ]
                         }
                     }
                 }
@@ -2271,6 +2379,10 @@
                     "description": "Purchase type enum value. Unmodifiable after creation.",
                     "type": "string"
                 },
+                "season": {
+                    "$ref": "Season",
+                    "description": "Definition of a season for a seasonal subscription. Can be defined only for yearly subscriptions."
+                },
                 "sku": {
                     "description": "The stock-keeping-unit (SKU) of the product, unique within an app.",
                     "type": "string"
@@ -2467,6 +2579,22 @@
             },
             "type": "object"
         },
+        "MonthDay": {
+            "id": "MonthDay",
+            "properties": {
+                "day": {
+                    "description": "Day of a month, value in [1, 31] range. Valid range depends on the specified month.",
+                    "format": "uint32",
+                    "type": "integer"
+                },
+                "month": {
+                    "description": "Month of a year. e.g. 1 = JAN, 2 = FEB etc.",
+                    "format": "uint32",
+                    "type": "integer"
+                }
+            },
+            "type": "object"
+        },
         "PageInfo": {
             "id": "PageInfo",
             "properties": {
@@ -2530,6 +2658,37 @@
             },
             "type": "object"
         },
+        "Season": {
+            "id": "Season",
+            "properties": {
+                "end": {
+                    "$ref": "MonthDay",
+                    "description": "Inclusive end date of the recurrence period."
+                },
+                "start": {
+                    "$ref": "MonthDay",
+                    "description": "Inclusive start date of the recurrence period."
+                }
+            },
+            "type": "object"
+        },
+        "SubscriptionDeferralInfo": {
+            "description": "A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.",
+            "id": "SubscriptionDeferralInfo",
+            "properties": {
+                "desiredExpiryTimeMillis": {
+                    "description": "The desired next expiry time for the subscription in milliseconds since Epoch. The given time must be after the current expiry time for the subscription.",
+                    "format": "int64",
+                    "type": "string"
+                },
+                "expectedExpiryTimeMillis": {
+                    "description": "The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.",
+                    "format": "int64",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "SubscriptionPurchase": {
             "description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.",
             "id": "SubscriptionPurchase",
@@ -2556,6 +2715,27 @@
             },
             "type": "object"
         },
+        "SubscriptionPurchasesDeferRequest": {
+            "id": "SubscriptionPurchasesDeferRequest",
+            "properties": {
+                "deferralInfo": {
+                    "$ref": "SubscriptionDeferralInfo",
+                    "description": "The information about the new desired expiry time for the subscription."
+                }
+            },
+            "type": "object"
+        },
+        "SubscriptionPurchasesDeferResponse": {
+            "id": "SubscriptionPurchasesDeferResponse",
+            "properties": {
+                "newExpiryTimeMillis": {
+                    "description": "The new expiry time for the subscription in milliseconds since the Epoch.",
+                    "format": "int64",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "Testers": {
             "id": "Testers",
             "properties": {
diff --git a/discovery/googleapis/appsactivity__v1.json b/discovery/googleapis/appsactivity__v1.json
index 010ba44..39af361 100644
--- a/discovery/googleapis/appsactivity__v1.json
+++ b/discovery/googleapis/appsactivity__v1.json
@@ -23,7 +23,7 @@
     "description": "Provides a historical view of activity.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/google-apps/activity/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/MmwdCrDlqhBi2D0-JqsndcBoC3M\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/lSpXo4dql_m7xuje0Y2WPH_dsVA\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -149,7 +149,7 @@
             }
         }
     },
-    "revision": "20140619",
+    "revision": "20140828",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Activity": {
diff --git a/discovery/googleapis/appstate__v1.json b/discovery/googleapis/appstate__v1.json
index 4987982..73ddc54 100644
--- a/discovery/googleapis/appstate__v1.json
+++ b/discovery/googleapis/appstate__v1.json
@@ -15,7 +15,7 @@
     "description": "The Google App State API.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/games/services/web/api/states",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/-zmhkDRvj1IoucD8LokwszWaafM\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/HUrCO3I6MchQv8ct1rfLE-lXhNs\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -211,7 +211,7 @@
             }
         }
     },
-    "revision": "20140904",
+    "revision": "20140909",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "GetResponse": {
diff --git a/discovery/googleapis/calendar__v3.json b/discovery/googleapis/calendar__v3.json
index 17fa2d2..cd3e25f 100644
--- a/discovery/googleapis/calendar__v3.json
+++ b/discovery/googleapis/calendar__v3.json
@@ -17,7 +17,7 @@
     "description": "Lets you manipulate events and other calendar data.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/google-apps/calendar/firstapp",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/cBsbsu-N6Y-_6MMRCb7O-46pRnI\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/vWqMsHvvvKs-y7bO-cWrAXLs9SU\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/calendar-16.png",
         "x32": "http://www.google.com/images/icons/product/calendar-32.png"
@@ -1535,7 +1535,7 @@
             }
         }
     },
-    "revision": "20140902",
+    "revision": "20140914",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Acl": {
@@ -2240,6 +2240,7 @@
             "id": "EventAttendee",
             "properties": {
                 "additionalGuests": {
+                    "default": "0",
                     "description": "Number of additional guests. Optional. The default is 0.",
                     "format": "int32",
                     "type": "integer"
@@ -2268,6 +2269,7 @@
                     "type": "string"
                 },
                 "optional": {
+                    "default": "false",
                     "description": "Whether this is an optional attendee. Optional. The default is False.",
                     "type": "boolean"
                 },
@@ -2276,6 +2278,7 @@
                     "type": "boolean"
                 },
                 "resource": {
+                    "default": "false",
                     "description": "Whether the attendee is a resource. Read-only. The default is False.",
                     "type": "boolean"
                 },
@@ -2284,6 +2287,7 @@
                     "type": "string"
                 },
                 "self": {
+                    "default": "false",
                     "description": "Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.",
                     "type": "boolean"
                 }
diff --git a/discovery/googleapis/civicinfo__us_v1.json b/discovery/googleapis/civicinfo__us_v1.json
index fde1585..829c102 100644
--- a/discovery/googleapis/civicinfo__us_v1.json
+++ b/discovery/googleapis/civicinfo__us_v1.json
@@ -6,7 +6,7 @@
     "description": "An API for accessing civic information.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/civic-information",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/tNyc5_G2Q097X-O_7m0x4Pe2LIg\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/xUdHq4Z75BUD9ZtUhNKiCTTAQpg\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -162,7 +162,7 @@
             }
         }
     },
-    "revision": "20140815",
+    "revision": "20140918",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AdministrationRegion": {
@@ -532,7 +532,7 @@
             "id": "GeographicDivision",
             "properties": {
                 "alsoKnownAs": {
-                    "description": "Any other valid OCD IDs that refer to the same division. For example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.",
+                    "description": "Any other valid OCD IDs that refer to the same division.\n\nBecause OCD IDs are meant to be human-readable and at least somewhat predictable, there are occasionally several identifiers for a single division. These identifiers are defined to be equivalent to one another, and one is always indicated as the primary identifier. The primary identifier will be returned in ocd_id above, and any other equivalent valid identifiers will be returned in this list.\n\nFor example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.",
                     "items": {
                         "type": "string"
                     },
@@ -590,7 +590,7 @@
             "type": "object"
         },
         "Official": {
-            "description": "Information about a official holding an elected office.",
+            "description": "Information about a person holding an elected office.",
             "id": "Official",
             "properties": {
                 "address": {
diff --git a/discovery/googleapis/civicinfo__v1.json b/discovery/googleapis/civicinfo__v1.json
index 2d46e7d..c51d4c3 100644
--- a/discovery/googleapis/civicinfo__v1.json
+++ b/discovery/googleapis/civicinfo__v1.json
@@ -6,7 +6,7 @@
     "description": "An API for accessing civic information.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/civic-information",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/Sze2Rhamx1amW6d_XzjhazX9mXA\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/E48KE0Nyeq0wTXpsQ1wBH_VLmVc\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -162,7 +162,7 @@
             }
         }
     },
-    "revision": "20140815",
+    "revision": "20140918",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AdministrationRegion": {
@@ -532,7 +532,7 @@
             "id": "GeographicDivision",
             "properties": {
                 "alsoKnownAs": {
-                    "description": "Any other valid OCD IDs that refer to the same division. For example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.",
+                    "description": "Any other valid OCD IDs that refer to the same division.\n\nBecause OCD IDs are meant to be human-readable and at least somewhat predictable, there are occasionally several identifiers for a single division. These identifiers are defined to be equivalent to one another, and one is always indicated as the primary identifier. The primary identifier will be returned in ocd_id above, and any other equivalent valid identifiers will be returned in this list.\n\nFor example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.",
                     "items": {
                         "type": "string"
                     },
@@ -590,7 +590,7 @@
             "type": "object"
         },
         "Official": {
-            "description": "Information about a official holding an elected office.",
+            "description": "Information about a person holding an elected office.",
             "id": "Official",
             "properties": {
                 "address": {
diff --git a/discovery/googleapis/content__v2.json b/discovery/googleapis/content__v2.json
index 8e6d9dc..e751d06 100644
--- a/discovery/googleapis/content__v2.json
+++ b/discovery/googleapis/content__v2.json
@@ -15,7 +15,7 @@
     "description": "Manage product items, inventory, and Merchant Center accounts for Google Shopping.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/shopping-content/v2/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/mXxQR2aSdOdWdq_00grXYfGGqMU\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/WKtj4perod7wdCJHRIDRqG7zj-U\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -933,7 +933,7 @@
             }
         }
     },
-    "revision": "20140831",
+    "revision": "20140916",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Account": {
diff --git a/discovery/googleapis/dfareporting__v1.3.json b/discovery/googleapis/dfareporting__v1.3.json
index 28070ed..4997af1 100644
--- a/discovery/googleapis/dfareporting__v1.3.json
+++ b/discovery/googleapis/dfareporting__v1.3.json
@@ -14,7 +14,7 @@
     "description": "Lets you create, run and download reports.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/doubleclick-advertisers/reporting/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/DksHEtiLa6AYCFbemQxikIlHU8s\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/MWMfv6FhKF4U3Z385phCHGvJ6w0\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
         "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -705,7 +705,7 @@
             }
         }
     },
-    "revision": "20140903",
+    "revision": "20140910",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Activities": {
diff --git a/discovery/googleapis/doubleclicksearch__v2.json b/discovery/googleapis/doubleclicksearch__v2.json
index 72fbd58..090116f 100644
--- a/discovery/googleapis/doubleclicksearch__v2.json
+++ b/discovery/googleapis/doubleclicksearch__v2.json
@@ -14,7 +14,7 @@
     "description": "Report and modify your advertising data in DoubleClick Search (for example, campaigns, ad groups, keywords, and conversions).",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/doubleclick-search/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/GOxwndul1frHFhJwbGPiuFL2qqY\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/fGqvJFn3J0Pke36WoleMuVHFod4\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -430,7 +430,7 @@
             }
         }
     },
-    "revision": "20140903",
+    "revision": "20140909",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Availability": {
diff --git a/discovery/googleapis/drive__v2.json b/discovery/googleapis/drive__v2.json
index f8206fb..2cd0c09 100644
--- a/discovery/googleapis/drive__v2.json
+++ b/discovery/googleapis/drive__v2.json
@@ -32,7 +32,7 @@
     "description": "The API to interact with Drive.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/drive/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/9I9Zl6d27F88N6e-Q2Opsw4M-bY\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/-2NkK8k7_hT4MS2pNsIOEUlM2A0\"",
     "icons": {
         "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
         "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -2429,7 +2429,7 @@
             }
         }
     },
-    "revision": "20140902",
+    "revision": "20140916",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "About": {
@@ -3578,6 +3578,27 @@
                     "format": "int64",
                     "type": "string"
                 },
+                "videoMediaMetadata": {
+                    "description": "Metadata about video media. This will only be present for video types.",
+                    "properties": {
+                        "durationMillis": {
+                            "description": "The duration of the video in milliseconds.",
+                            "format": "int64",
+                            "type": "string"
+                        },
+                        "height": {
+                            "description": "The height of the video in pixels.",
+                            "format": "int32",
+                            "type": "integer"
+                        },
+                        "width": {
+                            "description": "The width of the video in pixels.",
+                            "format": "int32",
+                            "type": "integer"
+                        }
+                    },
+                    "type": "object"
+                },
                 "webContentLink": {
                     "description": "A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.",
                     "type": "string"
@@ -3708,7 +3729,7 @@
                     "type": "string"
                 },
                 "emailAddress": {
-                    "description": "The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user and the given user's Google+ profile privacy settings allow exposing their email address.",
+                    "description": "The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.",
                     "type": "string"
                 },
                 "etag": {
diff --git a/discovery/googleapis/gamesManagement__v1management.json b/discovery/googleapis/gamesManagement__v1management.json
index 5639727..af9efba 100644
--- a/discovery/googleapis/gamesManagement__v1management.json
+++ b/discovery/googleapis/gamesManagement__v1management.json
@@ -18,7 +18,7 @@
     "description": "The Management API for Google Play Game Services.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/games/services",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/j6bIxSGy0DvVu81vCWQfkHkrm9A\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/IluT4nOQ5Y-TIa9GQcTCsb_yD1Y\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -397,7 +397,7 @@
             }
         }
     },
-    "revision": "20140903",
+    "revision": "20140905",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AchievementResetAllResponse": {
diff --git a/discovery/googleapis/games__v1.json b/discovery/googleapis/games__v1.json
index 6965a4e..d27f753 100644
--- a/discovery/googleapis/games__v1.json
+++ b/discovery/googleapis/games__v1.json
@@ -21,7 +21,7 @@
     "description": "The API for Google Play Game Services.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/games/services/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/1fGA1cCjRff4tjdq9wXB3UvbVW8\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/EQ0bR5eQIuMQqKzDSyOJahEWsT4\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -1907,7 +1907,7 @@
             }
         }
     },
-    "revision": "20140903",
+    "revision": "20140905",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AchievementDefinition": {
diff --git a/discovery/googleapis/identitytoolkit__v3.json b/discovery/googleapis/identitytoolkit__v3.json
index dbd5331..832e25c 100644
--- a/discovery/googleapis/identitytoolkit__v3.json
+++ b/discovery/googleapis/identitytoolkit__v3.json
@@ -6,7 +6,7 @@
     "description": "Help the third party sites to implement federated login.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/identity-toolkit/v3/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/3Q4T5rCRWv05dybb5cUgUxFbyZs\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/zVUSgAlpBKN8kedTmeeniVwh5g4\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -135,7 +135,7 @@
                     }
                 },
                 "resetPassword": {
-                    "description": "Set account info for a user.",
+                    "description": "Reset password for a user.",
                     "httpMethod": "POST",
                     "id": "identitytoolkit.relyingparty.resetPassword",
                     "path": "resetPassword",
@@ -197,7 +197,7 @@
             }
         }
     },
-    "revision": "20140717",
+    "revision": "20140916",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "CreateAuthUriResponse": {
@@ -208,6 +208,10 @@
                     "description": "The URI used by the IDP to authenticate the user.",
                     "type": "string"
                 },
+                "captchaRequired": {
+                    "description": "True if captcha is required.",
+                    "type": "boolean"
+                },
                 "forExistingProvider": {
                     "description": "True if the authUri is for user's existing provider.",
                     "type": "boolean"
diff --git a/discovery/googleapis/mapsengine__v1.json b/discovery/googleapis/mapsengine__v1.json
index 416d54d..32d010b 100644
--- a/discovery/googleapis/mapsengine__v1.json
+++ b/discovery/googleapis/mapsengine__v1.json
@@ -18,7 +18,7 @@
     "description": "The Google Maps Engine API allows developers to store and query geospatial vector and raster data.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/maps-engine/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/jGUBdJqkmjTr16N5VHnjqkXRtPo\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/KLvHOFhlqcmmjqmNE4lM_SMZ6_s\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/maps_engine-16.png",
         "x32": "https://www.google.com/images/icons/product/maps_engine-32.png"
@@ -236,6 +236,34 @@
                             ]
                         }
                     }
+                },
+                "permissions": {
+                    "methods": {
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.assets.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "assets/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
                 }
             }
         },
@@ -321,6 +349,7 @@
                             "type": "string"
                         },
                         "version": {
+                            "description": "Deprecated: The version parameter indicates which version of the layer should be returned. When version is set to published, the published version of the layer will be returned. Please use the layers.getPublished endpoint instead.",
                             "enum": [
                                 "draft",
                                 "published"
@@ -642,6 +671,86 @@
                             ]
                         }
                     }
+                },
+                "permissions": {
+                    "methods": {
+                        "batchDelete": {
+                            "description": "Remove permission entries from an already existing asset.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.layers.permissions.batchDelete",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset from which permissions will be removed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "layers/{id}/permissions/batchDelete",
+                            "request": {
+                                "$ref": "PermissionsBatchDeleteRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchDeleteResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "batchUpdate": {
+                            "description": "Add or update permission entries to an already existing asset.\n\nAn asset can hold up to 20 different permission entries. Each batchInsert request is atomic.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.layers.permissions.batchUpdate",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset to which permissions will be added.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "layers/{id}/permissions/batchUpdate",
+                            "request": {
+                                "$ref": "PermissionsBatchUpdateRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchUpdateResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.layers.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "layers/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
                 }
             }
         },
@@ -697,6 +806,7 @@
                             "type": "string"
                         },
                         "version": {
+                            "description": "Deprecated: The version parameter indicates which version of the map should be returned. When version is set to published, the published version of the map will be returned. Please use the maps.getPublished endpoint instead.",
                             "enum": [
                                 "draft",
                                 "published"
@@ -953,6 +1063,88 @@
                         "https://www.googleapis.com/auth/mapsengine"
                     ]
                 }
+            },
+            "resources": {
+                "permissions": {
+                    "methods": {
+                        "batchDelete": {
+                            "description": "Remove permission entries from an already existing asset.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.maps.permissions.batchDelete",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset from which permissions will be removed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "maps/{id}/permissions/batchDelete",
+                            "request": {
+                                "$ref": "PermissionsBatchDeleteRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchDeleteResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "batchUpdate": {
+                            "description": "Add or update permission entries to an already existing asset.\n\nAn asset can hold up to 20 different permission entries. Each batchInsert request is atomic.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.maps.permissions.batchUpdate",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset to which permissions will be added.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "maps/{id}/permissions/batchUpdate",
+                            "request": {
+                                "$ref": "PermissionsBatchUpdateRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchUpdateResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.maps.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "maps/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
+                }
             }
         },
         "projects": {
@@ -1367,6 +1559,86 @@
                         }
                     }
                 },
+                "permissions": {
+                    "methods": {
+                        "batchDelete": {
+                            "description": "Remove permission entries from an already existing asset.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.rasterCollections.permissions.batchDelete",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset from which permissions will be removed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasterCollections/{id}/permissions/batchDelete",
+                            "request": {
+                                "$ref": "PermissionsBatchDeleteRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchDeleteResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "batchUpdate": {
+                            "description": "Add or update permission entries to an already existing asset.\n\nAn asset can hold up to 20 different permission entries. Each batchInsert request is atomic.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.rasterCollections.permissions.batchUpdate",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset to which permissions will be added.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasterCollections/{id}/permissions/batchUpdate",
+                            "request": {
+                                "$ref": "PermissionsBatchUpdateRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchUpdateResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.rasterCollections.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasterCollections/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
+                },
                 "rasters": {
                     "methods": {
                         "batchDelete": {
@@ -1826,6 +2098,86 @@
                             ]
                         }
                     }
+                },
+                "permissions": {
+                    "methods": {
+                        "batchDelete": {
+                            "description": "Remove permission entries from an already existing asset.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.rasters.permissions.batchDelete",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset from which permissions will be removed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasters/{id}/permissions/batchDelete",
+                            "request": {
+                                "$ref": "PermissionsBatchDeleteRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchDeleteResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "batchUpdate": {
+                            "description": "Add or update permission entries to an already existing asset.\n\nAn asset can hold up to 20 different permission entries. Each batchInsert request is atomic.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.rasters.permissions.batchUpdate",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset to which permissions will be added.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasters/{id}/permissions/batchUpdate",
+                            "request": {
+                                "$ref": "PermissionsBatchUpdateRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchUpdateResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.rasters.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "rasters/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
                 }
             }
         },
@@ -2360,11 +2712,91 @@
                             ]
                         }
                     }
+                },
+                "permissions": {
+                    "methods": {
+                        "batchDelete": {
+                            "description": "Remove permission entries from an already existing asset.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.tables.permissions.batchDelete",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset from which permissions will be removed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "tables/{id}/permissions/batchDelete",
+                            "request": {
+                                "$ref": "PermissionsBatchDeleteRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchDeleteResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "batchUpdate": {
+                            "description": "Add or update permission entries to an already existing asset.\n\nAn asset can hold up to 20 different permission entries. Each batchInsert request is atomic.",
+                            "httpMethod": "POST",
+                            "id": "mapsengine.tables.permissions.batchUpdate",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset to which permissions will be added.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "tables/{id}/permissions/batchUpdate",
+                            "request": {
+                                "$ref": "PermissionsBatchUpdateRequest"
+                            },
+                            "response": {
+                                "$ref": "PermissionsBatchUpdateResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine"
+                            ]
+                        },
+                        "list": {
+                            "description": "Return all of the permissions for the specified asset.",
+                            "httpMethod": "GET",
+                            "id": "mapsengine.tables.permissions.list",
+                            "parameterOrder": [
+                                "id"
+                            ],
+                            "parameters": {
+                                "id": {
+                                    "description": "The ID of the asset whose permissions will be listed.",
+                                    "location": "path",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "tables/{id}/permissions",
+                            "response": {
+                                "$ref": "PermissionsListResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/mapsengine",
+                                "https://www.googleapis.com/auth/mapsengine.readonly"
+                            ]
+                        }
+                    }
                 }
             }
         }
     },
-    "revision": "20140909",
+    "revision": "20140919",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AcquisitionTime": {
@@ -2409,7 +2841,7 @@
             "id": "Asset",
             "properties": {
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this asset. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this asset. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitude and longitude in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -2421,6 +2853,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this asset. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "description": {
                     "description": "The asset's description.",
                     "type": "string"
@@ -2438,6 +2874,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this asset. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "name": {
                     "description": "The asset's name.",
                     "type": "string"
@@ -2474,6 +2914,10 @@
                         ""
                     ],
                     "type": "string"
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
@@ -2670,7 +3114,8 @@
                     "type": "array"
                 },
                 "normalizeGeometries": {
-                    "description": "If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, the all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.",
+                    "default": "true",
+                    "description": "If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.",
                     "type": "boolean"
                 }
             },
@@ -2687,7 +3132,8 @@
                     "type": "array"
                 },
                 "normalizeGeometries": {
-                    "description": "If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, the all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.",
+                    "default": "true",
+                    "description": "If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.",
                     "type": "boolean"
                 }
             },
@@ -3008,7 +3454,7 @@
             "id": "GeoJsonPolygon",
             "properties": {
                 "coordinates": {
-                    "description": "An array of LinearRings, each of which is an array of four or more GeoJsonPositions. The first and last coordinates in each LinearRing must be the same. For polygons with multiple rings, the first LinearRing is the external ring, with subsequent rings being interior rings (i.e. hole). All LinearRings must contain GeoJsonPositions in counter-clockwise order.",
+                    "description": "An array of LinearRings. A LinearRing is a GeoJsonLineString which is closed (that is, the first and last GeoJsonPositions are equal), and which contains at least four GeoJsonPositions. For polygons with multiple rings, the first LinearRing is the exterior ring, and any subsequent rings are interior rings (that is, holes).",
                     "items": {
                         "items": {
                             "$ref": "GeoJsonPosition"
@@ -3186,7 +3632,7 @@
             "id": "Layer",
             "properties": {
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this Layer. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this Layer. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitude and longitude in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -3198,6 +3644,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this layer. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "datasourceType": {
                     "description": "Deprecated: The type of the datasources used to build this Layer. Note: This has been replaced by layerType, but is still available for now to maintain backward compatibility.",
                     "enum": [
@@ -3212,14 +3662,14 @@
                 },
                 "datasources": {
                     "$ref": "Datasources",
-                    "description": "An array of datasources used to build this Layer. If layerType is \"image\", or layerType is not specified and datasourceType is \"image\", then each element in this array is a reference to an Image or RasterCollection. If layerType is \"vector\", or layerType is not specified and datasourceType is \"table\" then each element in this array is a reference to a Vector Table."
+                    "description": "An array of datasources used to build this layer. If layerType is \"image\", or layerType is not specified and datasourceType is \"image\", then each element in this array is a reference to an Image or RasterCollection. If layerType is \"vector\", or layerType is not specified and datasourceType is \"table\" then each element in this array is a reference to a Vector Table."
                 },
                 "description": {
                     "description": "The description of this Layer, supplied by the author.",
                     "type": "string"
                 },
                 "draftAccessList": {
-                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. The API does not yet support the new permissions model. When you create a map via the API without specifying permissions, the account that created the map is the owner and has effective administrator access. Users can then use the Maps Engine user interface to adjust the permissions. This is a temporary workaround until the API supports the new permissions model. Read Add new users and groups in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "etag": {
@@ -3235,6 +3685,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this layer. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "layerType": {
                     "annotations": {
                         "required": [
@@ -3289,7 +3743,7 @@
                     "type": "string"
                 },
                 "publishedAccessList": {
-                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read Share data, layers, and maps in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "publishingStatus": {
@@ -3306,17 +3760,21 @@
                 },
                 "style": {
                     "$ref": "VectorStyle",
-                    "description": "The Styling information for a vector layer."
+                    "description": "The styling information for a vector layer. Note: Style information is returned in response to a get request but not a list request. After requesting a list of layers, you'll need to send a get request to retrieve the VectorStyles for each layer."
                 },
                 "tags": {
                     "$ref": "Tags",
                     "description": "Tags of this Layer."
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
         },
         "LayersListResponse": {
-            "description": "The response returned by a call to layers.List.",
+            "description": "The response returned by a call to layers.List. Note: The list response does not include all the fields available in a layer. Refer to the layer resource description for details of the fields that are not included. You'll need to send a get request to retrieve the additional fields for each layer.",
             "id": "LayersListResponse",
             "properties": {
                 "layers": {
@@ -3394,7 +3852,7 @@
             "id": "Map",
             "properties": {
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this Map. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this Map. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitude and longitude in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -3410,6 +3868,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this map. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "defaultViewport": {
                     "$ref": "LatLngBox",
                     "description": "An array of four numbers (west, south, east, north) which defines the rectangular bounding box of the default viewport. The numbers represent latitude and longitude in decimal degrees."
@@ -3419,7 +3881,7 @@
                     "type": "string"
                 },
                 "draftAccessList": {
-                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. The API does not yet support the new permissions model. When you create a map via the API without specifying permissions, the account that created the map is the owner and has effective administrator access. Users can then use the Maps Engine user interface to adjust the permissions. This is a temporary workaround until the API supports the new permissions model. Read Add new users and groups in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "etag": {
@@ -3435,6 +3897,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this map. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "name": {
                     "annotations": {
                         "required": [
@@ -3472,7 +3938,7 @@
                     "type": "string"
                 },
                 "publishedAccessList": {
-                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read Share data, layers, and maps in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "publishingStatus": {
@@ -3498,6 +3964,10 @@
                         "type": "string"
                     },
                     "type": "array"
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
@@ -3742,6 +4212,134 @@
             },
             "type": "object"
         },
+        "Permission": {
+            "description": "A permission defines the user or group that has access to an asset, and the type of access they have.",
+            "id": "Permission",
+            "properties": {
+                "discoverable": {
+                    "description": "Indicates whether a public asset is listed and can be found via a web search (value true), or is visible only to people who have a link to the asset (value false).",
+                    "type": "boolean"
+                },
+                "id": {
+                    "annotations": {
+                        "required": [
+                            "mapsengine.layers.permissions.batchUpdate",
+                            "mapsengine.maps.permissions.batchUpdate",
+                            "mapsengine.rasterCollections.permissions.batchUpdate",
+                            "mapsengine.tables.permissions.batchUpdate"
+                        ]
+                    },
+                    "description": "The unique identifier of the permission. This could be the email address of the user or group this permission refers to, or the string \"anyone\" for public permissions.",
+                    "type": "string"
+                },
+                "role": {
+                    "annotations": {
+                        "required": [
+                            "mapsengine.layers.permissions.batchUpdate",
+                            "mapsengine.maps.permissions.batchUpdate",
+                            "mapsengine.rasterCollections.permissions.batchUpdate",
+                            "mapsengine.tables.permissions.batchUpdate"
+                        ]
+                    },
+                    "description": "The type of access granted to this user or group.",
+                    "enum": [
+                        "owner",
+                        "reader",
+                        "viewer",
+                        "writer"
+                    ],
+                    "enumDescriptions": [
+                        "",
+                        "",
+                        "",
+                        ""
+                    ],
+                    "type": "string"
+                },
+                "type": {
+                    "description": "The account type.",
+                    "enum": [
+                        "anyone",
+                        "group",
+                        "user"
+                    ],
+                    "enumDescriptions": [
+                        "",
+                        "",
+                        ""
+                    ],
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "PermissionsBatchDeleteRequest": {
+            "description": "The request sent to mapsengine.permissions.batchDelete.",
+            "id": "PermissionsBatchDeleteRequest",
+            "properties": {
+                "ids": {
+                    "annotations": {
+                        "required": [
+                            "mapsengine.layers.permissions.batchDelete",
+                            "mapsengine.maps.permissions.batchDelete",
+                            "mapsengine.rasterCollections.permissions.batchDelete",
+                            "mapsengine.tables.permissions.batchDelete"
+                        ]
+                    },
+                    "description": "An array of permission ids to be removed. This could be the email address of the user or group this permission refers to, or the string \"anyone\" for public permissions.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
+        "PermissionsBatchDeleteResponse": {
+            "description": "The response returned by a call to mapsengine.permissions.batchDelete.",
+            "id": "PermissionsBatchDeleteResponse",
+            "type": "object"
+        },
+        "PermissionsBatchUpdateRequest": {
+            "description": "The request sent to mapsengine.permissions.batchUpdate.",
+            "id": "PermissionsBatchUpdateRequest",
+            "properties": {
+                "permissions": {
+                    "annotations": {
+                        "required": [
+                            "mapsengine.layers.permissions.batchUpdate",
+                            "mapsengine.maps.permissions.batchUpdate",
+                            "mapsengine.rasterCollections.permissions.batchUpdate",
+                            "mapsengine.tables.permissions.batchUpdate"
+                        ]
+                    },
+                    "description": "The permissions to be inserted or updated.",
+                    "items": {
+                        "$ref": "Permission"
+                    },
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
+        "PermissionsBatchUpdateResponse": {
+            "description": "The response returned by a call to mapsengine.permissions.batchUpdate.",
+            "id": "PermissionsBatchUpdateResponse",
+            "type": "object"
+        },
+        "PermissionsListResponse": {
+            "id": "PermissionsListResponse",
+            "properties": {
+                "permissions": {
+                    "description": "The set of permissions associated with this asset.",
+                    "items": {
+                        "$ref": "Permission"
+                    },
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
         "PointStyle": {
             "description": "Style for points.",
             "id": "PointStyle",
@@ -3825,20 +4423,11 @@
                     "description": "The description of this Layer, supplied by the author.",
                     "type": "string"
                 },
-                "etag": {
-                    "description": "The ETag, used to refer to the current version of the asset.",
-                    "type": "string"
-                },
                 "id": {
                     "description": "A globally unique ID, used to refer to this Layer.",
                     "type": "string"
                 },
                 "layerType": {
-                    "annotations": {
-                        "required": [
-                            "mapsengine.layers.create"
-                        ]
-                    },
                     "description": "The type of the datasources used to build this Layer. This should be used instead of datasourceType. At least one of layerType and datasourceType and must be specified, but layerType takes precedence.",
                     "enum": [
                         "image",
@@ -3851,20 +4440,10 @@
                     "type": "string"
                 },
                 "name": {
-                    "annotations": {
-                        "required": [
-                            "mapsengine.layers.create"
-                        ]
-                    },
                     "description": "The name of this Layer, supplied by the author.",
                     "type": "string"
                 },
                 "projectId": {
-                    "annotations": {
-                        "required": [
-                            "mapsengine.layers.create"
-                        ]
-                    },
                     "description": "The ID of the project that this Layer is in.",
                     "type": "string"
                 }
@@ -3906,29 +4485,15 @@
                     "description": "The description of this Map, supplied by the author.",
                     "type": "string"
                 },
-                "etag": {
-                    "description": "The ETag, used to refer to the current version of the asset.",
-                    "type": "string"
-                },
                 "id": {
                     "description": "A globally unique ID, used to refer to this Map.",
                     "type": "string"
                 },
                 "name": {
-                    "annotations": {
-                        "required": [
-                            "mapsengine.maps.create"
-                        ]
-                    },
                     "description": "The name of this Map, supplied by the author.",
                     "type": "string"
                 },
                 "projectId": {
-                    "annotations": {
-                        "required": [
-                            "mapsengine.maps.create"
-                        ]
-                    },
                     "description": "The ID of the project that this Map is in.",
                     "type": "string"
                 }
@@ -3967,7 +4532,7 @@
                     "type": "string"
                 },
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this Raster. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this Raster. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitudes and longitudes in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -3979,12 +4544,16 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this raster. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "description": {
                     "description": "The description of this Raster, supplied by the author.",
                     "type": "string"
                 },
                 "draftAccessList": {
-                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. The API does not yet support the new permissions model. When you create a map via the API without specifying permissions, the account that created the map is the owner and has effective administrator access. Users can then use the Maps Engine user interface to adjust the permissions. This is a temporary workaround until the API supports the new permissions model. Read Add new users and groups in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "etag": {
@@ -4012,6 +4581,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this raster. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "maskType": {
                     "default": "autoMask",
                     "description": "The mask processing type of this Raster.",
@@ -4071,6 +4644,10 @@
                 "tags": {
                     "$ref": "Tags",
                     "description": "Tags of this Raster."
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
@@ -4080,11 +4657,11 @@
             "id": "RasterCollection",
             "properties": {
                 "attribution": {
-                    "description": "The name of the attribution to be used for this RasterCollection.",
+                    "description": "The name of the attribution to be used for this RasterCollection. Note: Attribution is returned in response to a get request but not a list request. After requesting a list of raster collections, you'll need to send a get request to retrieve the attribution for each raster collection.",
                     "type": "string"
                 },
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this RasterCollection. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this RasterCollection. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitude and longitude in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -4096,12 +4673,16 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this raster collection. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "description": {
                     "description": "The description of this RasterCollection, supplied by the author.",
                     "type": "string"
                 },
                 "draftAccessList": {
-                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. The API does not yet support the new permissions model. When you create a map via the API without specifying permissions, the account that created the map is the owner and has effective administrator access. Users can then use the Maps Engine user interface to adjust the permissions. This is a temporary workaround until the API supports the new permissions model. Read Add new users and groups in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "etag": {
@@ -4117,6 +4698,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this raster collection. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "mosaic": {
                     "annotations": {
                         "required": [
@@ -4180,12 +4765,16 @@
                 "tags": {
                     "$ref": "Tags",
                     "description": "Tags of this RasterCollection."
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
         },
         "RasterCollectionsListResponse": {
-            "description": "The response returned by a call to raster_collections.List.",
+            "description": "The response returned by a call to raster_collections.List. Note: The list response does not include all the fields available in a raster collection. Refer to the RasterCollection resource description for details of the fields that are not included. You'll need to send a get request to retrieve the additional fields for each raster collection.",
             "id": "RasterCollectionsListResponse",
             "properties": {
                 "nextPageToken": {
@@ -4208,7 +4797,7 @@
             "id": "RasterCollectionsRaster",
             "properties": {
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this Raster. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this Raster. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitudes and longitudes in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -4471,7 +5060,7 @@
             "id": "Table",
             "properties": {
                 "bbox": {
-                    "description": "A rectangular bounding box which contains all of the data in this table. The numbers represent latitude and longitude in decimal degrees.",
+                    "description": "A rectangular bounding box which contains all of the data in this Table. The box is expressed as \\\"west, south, east, north\\\". The numbers represent latitude and longitude in decimal degrees.",
                     "items": {
                         "format": "double",
                         "type": "number"
@@ -4483,12 +5072,16 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "creatorEmail": {
+                    "description": "The email address of the creator of this table. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "description": {
                     "description": "The description of this table, supplied by the author.",
                     "type": "string"
                 },
                 "draftAccessList": {
-                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. The API does not yet support the new permissions model. When you create a map via the API without specifying permissions, the account that created the map is the owner and has effective administrator access. Users can then use the Maps Engine user interface to adjust the permissions. This is a temporary workaround until the API supports the new permissions model. Read Add new users and groups in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "etag": {
@@ -4516,6 +5109,10 @@
                     "format": "date-time",
                     "type": "string"
                 },
+                "lastModifierEmail": {
+                    "description": "The email address of the last modifier of this table. This is only returned on GET requests and not LIST requests.",
+                    "type": "string"
+                },
                 "name": {
                     "annotations": {
                         "required": [
@@ -4555,7 +5152,7 @@
                     "type": "string"
                 },
                 "publishedAccessList": {
-                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read Share data, layers, and maps in the Google Maps Engine help center for more information.",
+                    "description": "Deprecated: The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Note: Google Maps Engine no longer uses access lists. Instead, each asset has its own list of permissions. For backward compatibility, the API still accepts access lists for projects that are already using access lists. If you created a GME account/project after July 14th, 2014, you will not be able to send API requests that include access lists. Note: This is an input field only. It is not returned in response to a list or get request.",
                     "type": "string"
                 },
                 "schema": {
@@ -4565,7 +5162,7 @@
                             "mapsengine.tables.create"
                         ]
                     },
-                    "description": "The schema for this table."
+                    "description": "The schema for this table. Note: The schema is returned in response to a get request but not a list request. After requesting a list of tables, you'll need to send a get request to retrieve the schema for each table."
                 },
                 "sourceEncoding": {
                     "default": "UTF-8",
@@ -4575,6 +5172,10 @@
                 "tags": {
                     "$ref": "Tags",
                     "description": "An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center."
+                },
+                "writersCanEditPermissions": {
+                    "description": "If true, WRITERs of the asset are able to edit the asset permissions.",
+                    "type": "boolean"
                 }
             },
             "type": "object"
@@ -4624,7 +5225,7 @@
             "type": "object"
         },
         "TablesListResponse": {
-            "description": "The response returned by a call to tables.List.",
+            "description": "The response returned by a call to tables.List. Note: The list response does not include all the fields available in a table. Refer to the table resource description for details of the fields that are not included. You'll need to send a get request to retrieve the additional fields for each table.",
             "id": "TablesListResponse",
             "properties": {
                 "nextPageToken": {
diff --git a/discovery/googleapis/mirror__v1.json b/discovery/googleapis/mirror__v1.json
index 11e55d6..e5e94e2 100644
--- a/discovery/googleapis/mirror__v1.json
+++ b/discovery/googleapis/mirror__v1.json
@@ -17,7 +17,7 @@
     "description": "API for interacting with Glass users via the timeline.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/glass",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/mHzQ-YLzhCvTUBkktYBjTjOWqUY\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/x73cpqpFVl1e3xcBp5OSFfItgv0\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -735,7 +735,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140917",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Account": {
@@ -1014,6 +1014,10 @@
                     "description": "Controls the behavior when the user picks the menu option. Allowed values are:  \n- CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value. \n- Built-in actions:  \n- REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available. \n- REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item. \n- DELETE - Delete the timeline item. \n- SHARE - Share the timeline item with the available contacts. \n- READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored. \n- GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property. \n- VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient. \n- NAVIGATE - Navigate to the timeline item's location. \n- TOGGLE_PINNED - Toggle the isPinned state of the timeline item. \n- OPEN_URI - Open the payload of the menu item in the browser. \n- PLAY_VIDEO - Open the payload of the menu item in the Glass video player. \n- SEND_MESSAGE - Initiate sending a message to the timeline item's creator:  \n- If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS. \n- Otherwise, if the creator.email is set, the message is an email.",
                     "type": "string"
                 },
+                "contextual_command": {
+                    "description": "The ContextualMenus.Command associated with this MenuItem (e.g. READ_ALOUD). The voice label for this command will be displayed in the voice menu and the touch label will be displayed in the touch menu. Note that the default menu value's display name will be overriden if you specify this property. Values that do not correspond to a ContextualMenus.Command name will be ignored.",
+                    "type": "string"
+                },
                 "id": {
                     "description": "The ID for this menu item. This is generated by the application and is treated as an opaque token.",
                     "type": "string"
diff --git a/discovery/googleapis/plusDomains__v1.json b/discovery/googleapis/plusDomains__v1.json
index 77fd15a..86febb9 100644
--- a/discovery/googleapis/plusDomains__v1.json
+++ b/discovery/googleapis/plusDomains__v1.json
@@ -41,7 +41,7 @@
     "description": "The Google+ API enables developers to build on top of the Google+ platform.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/+/domains/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/ysNDgCsVw_r8z9dw2VwzCGCTbKo\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/nat8N8_mZgm3flr-9YPb5O94lNs\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/gplus-16.png",
         "x32": "http://www.google.com/images/icons/product/gplus-32.png"
@@ -851,7 +851,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140921",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Acl": {
diff --git a/discovery/googleapis/plus__v1.json b/discovery/googleapis/plus__v1.json
index bbe32fd..fd6d090 100644
--- a/discovery/googleapis/plus__v1.json
+++ b/discovery/googleapis/plus__v1.json
@@ -23,7 +23,7 @@
     "description": "The Google+ API enables developers to build on top of the Google+ platform.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/+/api/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/vkmbF6orr831snGxF4GqtRQCbMc\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/geZLVEz_ep13WYm9tir6SMI9D5Y\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/gplus-16.png",
         "x32": "http://www.google.com/images/icons/product/gplus-32.png"
@@ -621,7 +621,7 @@
             }
         }
     },
-    "revision": "20140908",
+    "revision": "20140921",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Acl": {
diff --git a/discovery/googleapis/prediction__v1.6.json b/discovery/googleapis/prediction__v1.6.json
index dec7079..a7fea12 100644
--- a/discovery/googleapis/prediction__v1.6.json
+++ b/discovery/googleapis/prediction__v1.6.json
@@ -23,7 +23,7 @@
     "description": "Lets you access a cloud hosted machine learning service that makes it easy to build smart apps",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/prediction/docs/developer-guide",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/XH5kx6DVwHOxcDh-sCub5wYn1Ss\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/MKubU0FmYvcCiak8-htY8xGlT7I\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/feature/predictionapi-16.png",
         "x32": "http://www.google.com/images/icons/feature/predictionapi-32.png"
@@ -746,8 +746,7 @@
                 },
                 "outputValue": {
                     "description": "The estimated regression value (Regression models only).",
-                    "format": "double",
-                    "type": "number"
+                    "type": "string"
                 },
                 "selfLink": {
                     "description": "A URL to re-request this resource.",
diff --git a/discovery/googleapis/storage__v1.json b/discovery/googleapis/storage__v1.json
index 9efb50c..1362aad 100644
--- a/discovery/googleapis/storage__v1.json
+++ b/discovery/googleapis/storage__v1.json
@@ -20,7 +20,7 @@
     "description": "Lets you store and retrieve potentially-large, immutable data objects.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/storage/docs/json_api/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/OhKztLK4Ii8Zk7OTAP7hk0RY9sE\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/J4NEKl25SgasPn8QqRPJTF8nCH8\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png",
         "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png"
@@ -1844,7 +1844,7 @@
             }
         }
     },
-    "revision": "20140828",
+    "revision": "20140911",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Bucket": {
diff --git a/discovery/googleapis_beta/autoscaler__v1beta2.json b/discovery/googleapis_beta/autoscaler__v1beta2.json
index 76262db..34f0b64 100644
--- a/discovery/googleapis_beta/autoscaler__v1beta2.json
+++ b/discovery/googleapis_beta/autoscaler__v1beta2.json
@@ -17,7 +17,7 @@
     "description": "The Google Compute Engine Autoscaler API provides autoscaling for groups of Cloud VMs.",
     "discoveryVersion": "v1",
     "documentationLink": "http://developers.google.com/compute/docs/autoscaler",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/aqfSeC1jGN1VtOnSnFM7d_GgZoI\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/OGrwqagtFyzrQU63rEsuM0hbVC4\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -440,7 +440,7 @@
             }
         }
     },
-    "revision": "20140814",
+    "revision": "20140909",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Autoscaler": {
@@ -464,6 +464,11 @@
                     "format": "uint64",
                     "type": "string"
                 },
+                "kind": {
+                    "default": "compute#autoscaler",
+                    "description": "Type of resource.",
+                    "type": "string"
+                },
                 "name": {
                     "description": "Name of the Autoscaler resource. Must be unique per project and zone.",
                     "type": "string"
@@ -489,6 +494,11 @@
                     },
                     "type": "array"
                 },
+                "kind": {
+                    "default": "compute#autoscalerList",
+                    "description": "Type of resource.",
+                    "type": "string"
+                },
                 "nextPageToken": {
                     "description": "[Output only] A token used to continue a truncated list request.",
                     "type": "string"
@@ -557,6 +567,10 @@
                     "description": "Target value of the metric which Autoscaler should maintain. Must be a positive value.",
                     "format": "double",
                     "type": "number"
+                },
+                "utilizationTargetType": {
+                    "description": "Defines type in which utilization_target is expressed.",
+                    "type": "string"
                 }
             },
             "type": "object"
diff --git a/discovery/googleapis_beta/datastore__v1beta2.json b/discovery/googleapis_beta/datastore__v1beta2.json
index 9f2b6d0..845cd2b 100644
--- a/discovery/googleapis_beta/datastore__v1beta2.json
+++ b/discovery/googleapis_beta/datastore__v1beta2.json
@@ -2,6 +2,9 @@
     "auth": {
         "oauth2": {
             "scopes": {
+                "https://www.googleapis.com/auth/cloud-platform": {
+                    "description": "View and manage your data across Google Cloud Platform services"
+                },
                 "https://www.googleapis.com/auth/datastore": {
                     "description": "View and manage your Google Cloud Datastore data"
                 },
@@ -17,7 +20,7 @@
     "description": "API for accessing Google Cloud Datastore.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/datastore/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/2BYNDaZqMjLdfTtg3EL0oL8j6oI\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/LDhSkY4UxrCPhfQmh9G4U2uaRlU\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -101,6 +104,7 @@
                         "$ref": "AllocateIdsResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -128,6 +132,7 @@
                         "$ref": "BeginTransactionResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -155,6 +160,7 @@
                         "$ref": "CommitResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -182,6 +188,7 @@
                         "$ref": "LookupResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -209,6 +216,7 @@
                         "$ref": "RollbackResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -236,6 +244,7 @@
                         "$ref": "RunQueryResponse"
                     },
                     "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
                         "https://www.googleapis.com/auth/datastore",
                         "https://www.googleapis.com/auth/userinfo.email"
                     ]
@@ -243,7 +252,7 @@
             }
         }
     },
-    "revision": "20140613",
+    "revision": "20140916",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AllocateIdsRequest": {
@@ -351,6 +360,7 @@
             "type": "object"
         },
         "CompositeFilter": {
+            "description": "A filter that merges the multiple other filters using the given operation.",
             "id": "CompositeFilter",
             "properties": {
                 "filters": {
@@ -374,6 +384,7 @@
             "type": "object"
         },
         "Entity": {
+            "description": "An entity.",
             "id": "Entity",
             "properties": {
                 "key": {
@@ -392,6 +403,7 @@
             "type": "object"
         },
         "EntityResult": {
+            "description": "The result of fetching an entity from the datastore.",
             "id": "EntityResult",
             "properties": {
                 "entity": {
@@ -402,6 +414,7 @@
             "type": "object"
         },
         "Filter": {
+            "description": "A holder for any type of filter. Exactly one field should be specified.",
             "id": "Filter",
             "properties": {
                 "compositeFilter": {
@@ -416,6 +429,7 @@
             "type": "object"
         },
         "GqlQuery": {
+            "description": "A GQL query.",
             "id": "GqlQuery",
             "properties": {
                 "allowLiteral": {
@@ -437,12 +451,14 @@
                     "type": "array"
                 },
                 "queryString": {
+                    "description": "The query string.",
                     "type": "string"
                 }
             },
             "type": "object"
         },
         "GqlQueryArg": {
+            "description": "A binding argument for a GQL query.",
             "id": "GqlQueryArg",
             "properties": {
                 "cursor": {
@@ -460,6 +476,7 @@
             "type": "object"
         },
         "Key": {
+            "description": "A unique identifier for an entity.",
             "id": "Key",
             "properties": {
                 "partitionId": {
@@ -497,6 +514,7 @@
             "type": "object"
         },
         "KindExpression": {
+            "description": "A representation of a kind.",
             "id": "KindExpression",
             "properties": {
                 "name": {
@@ -554,6 +572,7 @@
             "type": "object"
         },
         "Mutation": {
+            "description": "A set of changes to apply.",
             "id": "Mutation",
             "properties": {
                 "delete": {
@@ -617,6 +636,7 @@
             "type": "object"
         },
         "PartitionId": {
+            "description": "An identifier for a particular subset of entities.\n\nEntities are partitioned into various subsets, each used by different datasets and different namespaces within a dataset and so forth.",
             "id": "PartitionId",
             "properties": {
                 "datasetId": {
@@ -631,6 +651,7 @@
             "type": "object"
         },
         "Property": {
+            "description": "An entity property.",
             "id": "Property",
             "properties": {
                 "blobKeyValue": {
@@ -693,6 +714,7 @@
             "type": "object"
         },
         "PropertyExpression": {
+            "description": "A representation of a property in a projection.",
             "id": "PropertyExpression",
             "properties": {
                 "aggregationFunction": {
@@ -713,6 +735,7 @@
             "type": "object"
         },
         "PropertyFilter": {
+            "description": "A filter on a specific property.",
             "id": "PropertyFilter",
             "properties": {
                 "operator": {
@@ -747,6 +770,7 @@
             "type": "object"
         },
         "PropertyOrder": {
+            "description": "The desired order for a specific property.",
             "id": "PropertyOrder",
             "properties": {
                 "direction": {
@@ -769,6 +793,7 @@
             "type": "object"
         },
         "PropertyReference": {
+            "description": "A reference to a property relative to the kind expressions.",
             "id": "PropertyReference",
             "properties": {
                 "name": {
@@ -779,6 +804,7 @@
             "type": "object"
         },
         "Query": {
+            "description": "A query.",
             "id": "Query",
             "properties": {
                 "endCursor": {
@@ -837,10 +863,11 @@
             "type": "object"
         },
         "QueryResultBatch": {
+            "description": "A batch of results produced by a query.",
             "id": "QueryResultBatch",
             "properties": {
                 "endCursor": {
-                    "description": "A cursor that points to the position after the last result in the batch. May be absent.",
+                    "description": "A cursor that points to the position after the last result in the batch. May be absent. TODO(arfuller): Once all plans produce cursors update documentation here.",
                     "format": "byte",
                     "type": "string"
                 },
@@ -979,6 +1006,7 @@
             "type": "object"
         },
         "Value": {
+            "description": "A message that can hold any of the supported value types and associated metadata.",
             "id": "Value",
             "properties": {
                 "blobKeyValue": {
diff --git a/discovery/googleapis_beta/genomics__v1beta.json b/discovery/googleapis_beta/genomics__v1beta.json
index 9bdfa51..1321170 100644
--- a/discovery/googleapis_beta/genomics__v1beta.json
+++ b/discovery/googleapis_beta/genomics__v1beta.json
@@ -23,7 +23,7 @@
     "description": "Provides access to Genomics data.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/genomics/v1beta/reference",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/x23R38eVdK-WjO-U4LV9QK0q830\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/Z3uHhhm6ncEawcl8acPHr16tDuw\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -87,7 +87,7 @@
                     "httpMethod": "GET",
                     "id": "genomics.beacons.get",
                     "parameterOrder": [
-                        "variantsetId"
+                        "variantSetId"
                     ],
                     "parameters": {
                         "allele": {
@@ -95,25 +95,25 @@
                             "location": "query",
                             "type": "string"
                         },
-                        "contig": {
-                            "description": "Required. The contig to query over.",
-                            "location": "query",
-                            "type": "string"
-                        },
                         "position": {
                             "description": "Required. The 0-based position to query.",
                             "format": "int64",
                             "location": "query",
                             "type": "string"
                         },
-                        "variantsetId": {
-                            "description": "The ID of the variantset to query over. It must be public. Private variantsets will return an unauthorized exception.",
+                        "referenceName": {
+                            "description": "Required. The reference to query over.",
+                            "location": "query",
+                            "type": "string"
+                        },
+                        "variantSetId": {
+                            "description": "The ID of the variant set to query over. It must be public. Private variant sets will return an unauthorized exception.",
                             "location": "path",
                             "required": true,
                             "type": "string"
                         }
                     },
-                    "path": "beacons/{variantsetId}",
+                    "path": "beacons/{variantSetId}",
                     "response": {
                         "$ref": "Beacon"
                     }
@@ -123,58 +123,58 @@
         "callsets": {
             "methods": {
                 "create": {
-                    "description": "Creates a new callset.",
+                    "description": "Creates a new call set.",
                     "httpMethod": "POST",
                     "id": "genomics.callsets.create",
                     "path": "callsets",
                     "request": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "response": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics"
                     ]
                 },
                 "delete": {
-                    "description": "Deletes a callset.",
+                    "description": "Deletes a call set.",
                     "httpMethod": "DELETE",
                     "id": "genomics.callsets.delete",
                     "parameterOrder": [
-                        "callsetId"
+                        "callSetId"
                     ],
                     "parameters": {
-                        "callsetId": {
+                        "callSetId": {
                             "description": "The ID of the callset to be deleted.",
                             "location": "path",
                             "required": true,
                             "type": "string"
                         }
                     },
-                    "path": "callsets/{callsetId}",
+                    "path": "callsets/{callSetId}",
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics"
                     ]
                 },
                 "get": {
-                    "description": "Gets a callset by ID.",
+                    "description": "Gets a call set by ID.",
                     "httpMethod": "GET",
                     "id": "genomics.callsets.get",
                     "parameterOrder": [
-                        "callsetId"
+                        "callSetId"
                     ],
                     "parameters": {
-                        "callsetId": {
+                        "callSetId": {
                             "description": "The ID of the callset.",
                             "location": "path",
                             "required": true,
                             "type": "string"
                         }
                     },
-                    "path": "callsets/{callsetId}",
+                    "path": "callsets/{callSetId}",
                     "response": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics",
@@ -182,41 +182,41 @@
                     ]
                 },
                 "patch": {
-                    "description": "Updates a callset. This method supports patch semantics.",
+                    "description": "Updates a call set. This method supports patch semantics.",
                     "httpMethod": "PATCH",
                     "id": "genomics.callsets.patch",
                     "parameterOrder": [
-                        "callsetId"
+                        "callSetId"
                     ],
                     "parameters": {
-                        "callsetId": {
+                        "callSetId": {
                             "description": "The ID of the callset to be updated.",
                             "location": "path",
                             "required": true,
                             "type": "string"
                         }
                     },
-                    "path": "callsets/{callsetId}",
+                    "path": "callsets/{callSetId}",
                     "request": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "response": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics"
                     ]
                 },
                 "search": {
-                    "description": "Gets a list of callsets matching the criteria.",
+                    "description": "Gets a list of call sets matching the criteria.",
                     "httpMethod": "POST",
                     "id": "genomics.callsets.search",
                     "path": "callsets/search",
                     "request": {
-                        "$ref": "SearchCallsetsRequest"
+                        "$ref": "SearchCallSetsRequest"
                     },
                     "response": {
-                        "$ref": "SearchCallsetsResponse"
+                        "$ref": "SearchCallSetsResponse"
                     },
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics",
@@ -224,26 +224,26 @@
                     ]
                 },
                 "update": {
-                    "description": "Updates a callset.",
+                    "description": "Updates a call set.",
                     "httpMethod": "PUT",
                     "id": "genomics.callsets.update",
                     "parameterOrder": [
-                        "callsetId"
+                        "callSetId"
                     ],
                     "parameters": {
-                        "callsetId": {
+                        "callSetId": {
                             "description": "The ID of the callset to be updated.",
                             "location": "path",
                             "required": true,
                             "type": "string"
                         }
                     },
-                    "path": "callsets/{callsetId}",
+                    "path": "callsets/{callSetId}",
                     "request": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "response": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "scopes": [
                         "https://www.googleapis.com/auth/genomics"
@@ -325,7 +325,7 @@
                             "type": "string"
                         },
                         "pageToken": {
-                            "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                            "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                             "location": "query",
                             "type": "string"
                         },
@@ -696,7 +696,7 @@
                                     "type": "string"
                                 },
                                 "pageToken": {
-                                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                                     "location": "query",
                                     "type": "string"
                                 },
@@ -707,7 +707,7 @@
                                     "type": "string"
                                 },
                                 "range.sequenceName": {
-                                    "description": "The reference sequence name, for example \"chr1\", \"1\", or \"chrX\".",
+                                    "description": "The reference sequence name, for example chr1, 1, or chrX.",
                                     "location": "query",
                                     "type": "string"
                                 },
@@ -724,7 +724,7 @@
                                     "type": "string"
                                 },
                                 "targetBucketWidth": {
-                                    "description": "The desired width of each reported coverage bucket in base pairs. This will be rounded down to the nearest precomputed bucket width; the value of which is returned as bucket_width in the response. Defaults to infinity (each bucket spans an entire reference sequence) or the length of the target range, if specified. The smallest precomputed bucket_width is currently 2048 base pairs; this is subject to change.",
+                                    "description": "The desired width of each reported coverage bucket in base pairs. This will be rounded down to the nearest precomputed bucket width; the value of which is returned as bucketWidth in the response. Defaults to infinity (each bucket spans an entire reference sequence) or the length of the target range, if specified. The smallest precomputed bucketWidth is currently 2048 base pairs; this is subject to change.",
                                     "format": "uint64",
                                     "location": "query",
                                     "type": "string"
@@ -820,26 +820,6 @@
                         "https://www.googleapis.com/auth/genomics.readonly"
                     ]
                 },
-                "getSummary": {
-                    "description": "Gets a summary of all the variant data in a variantset.",
-                    "httpMethod": "GET",
-                    "id": "genomics.variants.getSummary",
-                    "parameters": {
-                        "variantsetId": {
-                            "description": "Required. The ID of the variant set to get variant summary information for.",
-                            "location": "query",
-                            "type": "string"
-                        }
-                    },
-                    "path": "variants/summary",
-                    "response": {
-                        "$ref": "GetVariantsSummaryResponse"
-                    },
-                    "scopes": [
-                        "https://www.googleapis.com/auth/genomics",
-                        "https://www.googleapis.com/auth/genomics.readonly"
-                    ]
-                },
                 "import": {
                     "description": "Creates variant data by asynchronously importing the provided information.",
                     "httpMethod": "POST",
@@ -856,32 +836,6 @@
                         "https://www.googleapis.com/auth/genomics"
                     ]
                 },
-                "patch": {
-                    "description": "Updates a variant. This method supports patch semantics.",
-                    "httpMethod": "PATCH",
-                    "id": "genomics.variants.patch",
-                    "parameterOrder": [
-                        "variantId"
-                    ],
-                    "parameters": {
-                        "variantId": {
-                            "description": "The ID of the variant to be updated..",
-                            "location": "path",
-                            "required": true,
-                            "type": "string"
-                        }
-                    },
-                    "path": "variants/{variantId}",
-                    "request": {
-                        "$ref": "Variant"
-                    },
-                    "response": {
-                        "$ref": "Variant"
-                    },
-                    "scopes": [
-                        "https://www.googleapis.com/auth/genomics"
-                    ]
-                },
                 "search": {
                     "description": "Gets a list of variants matching the criteria.",
                     "httpMethod": "POST",
@@ -899,7 +853,7 @@
                     ]
                 },
                 "update": {
-                    "description": "Updates a variant.",
+                    "description": "Updates a variant's names and info fields. All other modifications are silently ignored. Returns the modified variant without its calls.",
                     "httpMethod": "PUT",
                     "id": "genomics.variants.update",
                     "parameterOrder": [
@@ -907,7 +861,7 @@
                     ],
                     "parameters": {
                         "variantId": {
-                            "description": "The ID of the variant to be updated..",
+                            "description": "The ID of the variant to be updated.",
                             "location": "path",
                             "required": true,
                             "type": "string"
@@ -925,13 +879,77 @@
                     ]
                 }
             }
+        },
+        "variantsets": {
+            "methods": {
+                "delete": {
+                    "description": "Deletes the contents of a variant set. The variant set object is not deleted.",
+                    "httpMethod": "DELETE",
+                    "id": "genomics.variantsets.delete",
+                    "parameterOrder": [
+                        "variantSetId"
+                    ],
+                    "parameters": {
+                        "variantSetId": {
+                            "description": "The ID of the variant set to be deleted.",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "variantsets/{variantSetId}",
+                    "scopes": [
+                        "https://www.googleapis.com/auth/genomics"
+                    ]
+                },
+                "get": {
+                    "description": "Gets a variant set by ID.",
+                    "httpMethod": "GET",
+                    "id": "genomics.variantsets.get",
+                    "parameterOrder": [
+                        "variantSetId"
+                    ],
+                    "parameters": {
+                        "variantSetId": {
+                            "description": "Required. The ID of the variant set.",
+                            "location": "path",
+                            "required": true,
+                            "type": "string"
+                        }
+                    },
+                    "path": "variantsets/{variantSetId}",
+                    "response": {
+                        "$ref": "VariantSet"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/genomics",
+                        "https://www.googleapis.com/auth/genomics.readonly"
+                    ]
+                },
+                "search": {
+                    "description": "Returns a list of all variant sets matching search criteria.",
+                    "httpMethod": "POST",
+                    "id": "genomics.variantsets.search",
+                    "path": "variantsets/search",
+                    "request": {
+                        "$ref": "SearchVariantSetsRequest"
+                    },
+                    "response": {
+                        "$ref": "SearchVariantSetsResponse"
+                    },
+                    "scopes": [
+                        "https://www.googleapis.com/auth/genomics",
+                        "https://www.googleapis.com/auth/genomics.readonly"
+                    ]
+                }
+            }
         }
     },
-    "revision": "20140904",
+    "revision": "20140917",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Beacon": {
-            "description": "A beacon represents whether any variant call in a variantset has a specific allele at a particular position.",
+            "description": "A beacon represents whether any variant call in a variant set has a specific allele at a particular position.",
             "id": "Beacon",
             "properties": {
                 "exists": {
@@ -942,19 +960,19 @@
             "type": "object"
         },
         "Call": {
-            "description": "A Call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a Call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a callset with the name NA12345.",
+            "description": "A Call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a Call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.",
             "id": "Call",
             "properties": {
-                "callsetId": {
-                    "description": "The ID of the callset this variant call belongs to.",
+                "callSetId": {
+                    "description": "The ID of the call set this variant call belongs to.",
                     "type": "string"
                 },
-                "callsetName": {
-                    "description": "The name of the callset this variant call belongs to.",
+                "callSetName": {
+                    "description": "The name of the call set this variant call belongs to.",
                     "type": "string"
                 },
                 "genotype": {
-                    "description": "The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases field of \"T\" and an alternateBases value of [\"A\", \"C\"], and the genotype was [2, 1], that would mean the call represented the heterozygous value \"CA\" for this variant. If the genotype was instead [0, 1], the represented value would be \"TA\". Ordering of the genotype values is important if the phaseset field is present. If a genotype is not called (that is, a \".\" is present in the GT string) -1 is returned.",
+                    "description": "The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of [\"A\", \"C\"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.",
                     "items": {
                         "format": "int32",
                         "type": "integer"
@@ -981,23 +999,23 @@
                     "type": "object"
                 },
                 "phaseset": {
-                    "description": "If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls on the same contig which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to \"*\".",
+                    "description": "If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.",
                     "type": "string"
                 }
             },
             "type": "object"
         },
-        "Callset": {
-            "description": "A Callset is a collection of Variant Calls. It belongs to a Variantset.",
-            "id": "Callset",
+        "CallSet": {
+            "description": "A CallSet is a collection of variant calls. It belongs to a variant set.",
+            "id": "CallSet",
             "properties": {
                 "created": {
-                    "description": "The date this callset was created in milliseconds from the epoch.",
+                    "description": "The date this call set was created in milliseconds from the epoch.",
                     "format": "int64",
                     "type": "string"
                 },
                 "id": {
-                    "description": "The Google generated ID of the callset, immutable.",
+                    "description": "The Google generated ID of the call set, immutable.",
                     "type": "string"
                 },
                 "info": {
@@ -1015,25 +1033,16 @@
                     "description": "The callset name.",
                     "type": "string"
                 },
-                "variantsetId": {
-                    "description": "The ID of the variantset this callset belongs to.",
-                    "type": "string"
-                }
-            },
-            "type": "object"
-        },
-        "ContigBound": {
-            "description": "ContigBound records an upper bound for the starting coordinate of variants in a particular contig.",
-            "id": "ContigBound",
-            "properties": {
-                "contig": {
-                    "description": "The contig the bound is associate with.",
+                "sampleId": {
+                    "description": "The sample ID this call set corresponds to.",
                     "type": "string"
                 },
-                "upperBound": {
-                    "description": "An upper bound (inclusive) on the starting coordinate of any variant in the contig.",
-                    "format": "int64",
-                    "type": "string"
+                "variantSetIds": {
+                    "description": "The IDs of the variant sets this call set belongs to.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "type": "array"
                 }
             },
             "type": "object"
@@ -1083,19 +1092,19 @@
             "id": "ExperimentalCreateJobRequest",
             "properties": {
                 "align": {
-                    "description": "Specifies whether or not to run the alignment pipeline. At least one of align or call_variants must be provided.",
+                    "description": "Specifies whether or not to run the alignment pipeline. At least one of align or callVariants must be provided.",
                     "type": "boolean"
                 },
                 "callVariants": {
-                    "description": "Specifies whether or not to run the variant calling pipeline. If specified, alignment will be performed first and the aligned BAMs will passed as input to the variant caller. At least one of align or call_variants must be provided.",
+                    "description": "Specifies whether or not to run the variant calling pipeline. If specified, alignment will be performed first and the aligned BAMs will passed as input to the variant caller. At least one of align or callVariants must be provided.",
                     "type": "boolean"
                 },
                 "gcsOutputPath": {
-                    "description": "Specifies where to copy the results of certain pipelines. This shoud be in the form of \"gs://bucket/path\".",
+                    "description": "Specifies where to copy the results of certain pipelines. This should be in the form of gs://bucket/path.",
                     "type": "string"
                 },
                 "pairedSourceUris": {
-                    "description": "A list of Google Cloud Storage URIs of paired end .fastq files to operate upon. If specified, this represents the second file of each paired .fastq file. The first file of each pair should be specified in \"sourceUris\".",
+                    "description": "A list of Google Cloud Storage URIs of paired end .fastq files to operate upon. If specified, this represents the second file of each paired .fastq file. The first file of each pair should be specified in sourceUris.",
                     "items": {
                         "type": "string"
                     },
@@ -1107,7 +1116,7 @@
                     "type": "string"
                 },
                 "sourceUris": {
-                    "description": "A list of Google Cloud Storage URIs of data files to operate upon. These can be .bam, interleaved .fastq, or paired .fastq. If specifying paired .fastq files, the first of each pair of files should be listed here, and the second of each pair should be listed in \"pairedSourceUris\".",
+                    "description": "A list of Google Cloud Storage URIs of data files to operate upon. These can be .bam, interleaved .fastq, or paired .fastq. If specifying paired .fastq files, the first of each pair of files should be listed here, and the second of each pair should be listed in pairedSourceUris.",
                     "items": {
                         "type": "string"
                     },
@@ -1148,7 +1157,7 @@
                     "type": "array"
                 },
                 "referenceNames": {
-                    "description": "The reference names to export. If this is not specified, all reference sequences are exported. Use '*' to export unmapped reads.",
+                    "description": "The reference names to export. If this is not specified, all reference sequences, including unmapped reads, are exported. Use * to export only unmapped reads.",
                     "items": {
                         "type": "string"
                     },
@@ -1180,8 +1189,8 @@
                     "description": "The BigQuery table to export data to. The caller must have WRITE access to this BigQuery table.",
                     "type": "string"
                 },
-                "callsetIds": {
-                    "description": "If provided, only variant call information from the specified callsets will be exported. By default all variant calls are exported.",
+                "callSetIds": {
+                    "description": "If provided, only variant call information from the specified call sets will be exported. By default all variant calls are exported.",
                     "items": {
                         "type": "string"
                     },
@@ -1202,8 +1211,8 @@
                     "format": "int64",
                     "type": "string"
                 },
-                "variantsetId": {
-                    "description": "Required. The ID of the variantset that contains variant data which should be exported. The caller must have READ access to this variantset.",
+                "variantSetId": {
+                    "description": "Required. The ID of the variant set that contains variant data which should be exported. The caller must have READ access to this variant set.",
                     "type": "string"
                 }
             },
@@ -1230,7 +1239,7 @@
                     "type": "string"
                 },
                 "sequenceName": {
-                    "description": "The reference sequence name, for example \"chr1\", \"1\", or \"chrX\".",
+                    "description": "The reference sequence name, for example chr1, 1, or chrX.",
                     "type": "string"
                 },
                 "sequenceStart": {
@@ -1241,27 +1250,6 @@
             },
             "type": "object"
         },
-        "GetVariantsSummaryResponse": {
-            "description": "The variants summary response.",
-            "id": "GetVariantsSummaryResponse",
-            "properties": {
-                "contigBounds": {
-                    "description": "A list of all contigs used by the variants in a dataset with associated coordinate upper bounds for each one.",
-                    "items": {
-                        "$ref": "ContigBound"
-                    },
-                    "type": "array"
-                },
-                "metadata": {
-                    "description": "The metadata associated with this dataset.",
-                    "items": {
-                        "$ref": "Metadata"
-                    },
-                    "type": "array"
-                }
-            },
-            "type": "object"
-        },
         "Header": {
             "id": "Header",
             "properties": {
@@ -1378,8 +1366,8 @@
                     },
                     "type": "array"
                 },
-                "variantsetId": {
-                    "description": "Required. The variantset to which variant data should be imported.",
+                "variantSetId": {
+                    "description": "Required. The variant set to which variant data should be imported.",
                     "type": "string"
                 }
             },
@@ -1513,12 +1501,12 @@
             "id": "ListCoverageBucketsResponse",
             "properties": {
                 "bucketWidth": {
-                    "description": "The length of each coverage bucket in base pairs. Note that buckets at the end of a reference sequence may be shorter. This value is omitted if the bucket width is infinity (the default behaviour, with no range or target_bucket_width).",
+                    "description": "The length of each coverage bucket in base pairs. Note that buckets at the end of a reference sequence may be shorter. This value is omitted if the bucket width is infinity (the default behaviour, with no range or targetBucketWidth).",
                     "format": "uint64",
                     "type": "string"
                 },
                 "coverageBuckets": {
-                    "description": "The coverage buckets. The list of buckets is sparse; a bucket with 0 overlapping reads is not returned. A bucket never crosses more than one reference sequence. Each bucket has width bucket_width, unless its end is is the end of the reference sequence.",
+                    "description": "The coverage buckets. The list of buckets is sparse; a bucket with 0 overlapping reads is not returned. A bucket never crosses more than one reference sequence. Each bucket has width bucketWidth, unless its end is the end of the reference sequence.",
                     "items": {
                         "$ref": "CoverageBucket"
                     },
@@ -1793,6 +1781,22 @@
             },
             "type": "object"
         },
+        "ReferenceBound": {
+            "description": "ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.",
+            "id": "ReferenceBound",
+            "properties": {
+                "referenceName": {
+                    "description": "The reference the bound is associate with.",
+                    "type": "string"
+                },
+                "upperBound": {
+                    "description": "An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.",
+                    "format": "int64",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "ReferenceSequence": {
             "id": "ReferenceSequence",
             "properties": {
@@ -1824,25 +1828,25 @@
             },
             "type": "object"
         },
-        "SearchCallsetsRequest": {
-            "description": "The callset search request.",
-            "id": "SearchCallsetsRequest",
+        "SearchCallSetsRequest": {
+            "description": "The call set search request.",
+            "id": "SearchCallSetsRequest",
             "properties": {
-                "maxResults": {
-                    "description": "The maximum number of callsets to return.",
-                    "format": "uint64",
+                "name": {
+                    "description": "Only return call sets for which a substring of the name matches this string.",
                     "type": "string"
                 },
-                "name": {
-                    "description": "Only return callsets for which a substring of the name matches this string.",
-                    "type": "string"
+                "pageSize": {
+                    "description": "The maximum number of call sets to return.",
+                    "format": "int32",
+                    "type": "integer"
                 },
                 "pageToken": {
-                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                     "type": "string"
                 },
-                "variantsetIds": {
-                    "description": "Restrict the query to callsets within the given variantsets. At least one ID must be provided.",
+                "variantSetIds": {
+                    "description": "Restrict the query to call sets within the given variant sets. At least one ID must be provided.",
                     "items": {
                         "type": "string"
                     },
@@ -1851,14 +1855,14 @@
             },
             "type": "object"
         },
-        "SearchCallsetsResponse": {
-            "description": "The callset search response.",
-            "id": "SearchCallsetsResponse",
+        "SearchCallSetsResponse": {
+            "description": "The call set search response.",
+            "id": "SearchCallSetsResponse",
             "properties": {
-                "callsets": {
-                    "description": "The list of matching callsets.",
+                "callSets": {
+                    "description": "The list of matching call sets.",
                     "items": {
-                        "$ref": "Callset"
+                        "$ref": "CallSet"
                     },
                     "type": "array"
                 },
@@ -1889,11 +1893,11 @@
                     "type": "string"
                 },
                 "pageToken": {
-                    "description": "The continuation token which is used to page through large result sets. To get the next page of results, set this parameter to the value of the \"nextPageToken\" from the previous response.",
+                    "description": "The continuation token which is used to page through large result sets. To get the next page of results, set this parameter to the value of the nextPageToken from the previous response.",
                     "type": "string"
                 },
                 "projectId": {
-                    "description": "Required. Only return jobs which belong to this Google Developers Console project. Only accepts project numbers.",
+                    "description": "Required. Only return jobs which belong to this Google Developers",
                     "format": "int64",
                     "type": "string"
                 },
@@ -1953,7 +1957,7 @@
                     "type": "string"
                 },
                 "pageToken": {
-                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                     "type": "string"
                 },
                 "readsetIds": {
@@ -1964,16 +1968,16 @@
                     "type": "array"
                 },
                 "sequenceEnd": {
-                    "description": "The end position (1-based, inclusive) of the target range. If specified, \"sequenceName\" must also be specified. Defaults to the end of the target reference sequence, if any.",
+                    "description": "The end position (1-based, inclusive) of the target range. If specified, sequenceName must also be specified. Defaults to the end of the target reference sequence, if any.",
                     "format": "uint64",
                     "type": "string"
                 },
                 "sequenceName": {
-                    "description": "Restricts the results to a particular reference sequence such as '1', 'chr1', or 'X'. The set of valid references sequences depends on the readsets specified. If set to \"*\", only unmapped Reads are returned.",
+                    "description": "Restricts the results to a particular reference sequence such as 1, chr1, or X. The set of valid references sequences depends on the readsets specified. If set to *, only unmapped Reads are returned.",
                     "type": "string"
                 },
                 "sequenceStart": {
-                    "description": "The start position (1-based, inclusive) of the target range. If specified, \"sequenceName\" must also be specified. Defaults to the start of the target reference sequence, if any.",
+                    "description": "The start position (1-based, inclusive) of the target range. If specified, sequenceName must also be specified. Defaults to the start of the target reference sequence, if any.",
                     "format": "uint64",
                     "type": "string"
                 }
@@ -2019,7 +2023,7 @@
                     "type": "string"
                 },
                 "pageToken": {
-                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                     "type": "string"
                 }
             },
@@ -2043,43 +2047,82 @@
             },
             "type": "object"
         },
+        "SearchVariantSetsRequest": {
+            "description": "The search variant sets request.",
+            "id": "SearchVariantSetsRequest",
+            "properties": {
+                "datasetIds": {
+                    "description": "Exactly one dataset ID must be provided here. Only variant sets which belong to this dataset will be returned.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "type": "array"
+                },
+                "pageSize": {
+                    "description": "The maximum number of variant sets to return in a request.",
+                    "format": "int32",
+                    "type": "integer"
+                },
+                "pageToken": {
+                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "SearchVariantSetsResponse": {
+            "description": "The search variant sets response.",
+            "id": "SearchVariantSetsResponse",
+            "properties": {
+                "nextPageToken": {
+                    "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.",
+                    "type": "string"
+                },
+                "variantSets": {
+                    "description": "The variant sets belonging to the requested dataset.",
+                    "items": {
+                        "$ref": "VariantSet"
+                    },
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
         "SearchVariantsRequest": {
             "description": "The variant search request.",
             "id": "SearchVariantsRequest",
             "properties": {
-                "callsetIds": {
-                    "description": "Only return variant calls which belong to callsets with these ids. Leaving this blank returns all variant calls. At most one of callsetNames or callsetIds should be provided.",
+                "callSetIds": {
+                    "description": "Only return variant calls which belong to call sets with these ids. Leaving this blank returns all variant calls.",
                     "items": {
                         "type": "string"
                     },
                     "type": "array"
                 },
-                "callsetNames": {
-                    "description": "Only return variant calls which belong to callsets which have exactly these names. Leaving this blank returns all variant calls. At most one of callsetNames or callsetIds should be provided.",
-                    "items": {
-                        "type": "string"
-                    },
-                    "type": "array"
-                },
-                "contig": {
-                    "description": "Required. Only return variants on this contig.",
-                    "type": "string"
-                },
-                "endPosition": {
+                "end": {
                     "description": "Required. The end of the window (0-based, exclusive) for which overlapping variants should be returned.",
                     "format": "int64",
                     "type": "string"
                 },
-                "maxResults": {
+                "maxCalls": {
+                    "description": "The maximum number of calls to return. However, at least one variant will always be returned, even if it has more calls than this limit.",
+                    "format": "int32",
+                    "type": "integer"
+                },
+                "pageSize": {
                     "description": "The maximum number of variants to return.",
-                    "format": "uint64",
-                    "type": "string"
+                    "format": "int32",
+                    "type": "integer"
                 },
                 "pageToken": {
-                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
+                    "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.",
                     "type": "string"
                 },
-                "startPosition": {
+                "referenceName": {
+                    "description": "Required. Only return variants in this reference sequence.",
+                    "type": "string"
+                },
+                "start": {
                     "description": "Required. The beginning of the window (0-based, inclusive) for which overlapping variants should be returned.",
                     "format": "int64",
                     "type": "string"
@@ -2088,9 +2131,12 @@
                     "description": "Only return variants which have exactly this name.",
                     "type": "string"
                 },
-                "variantsetId": {
-                    "description": "Required. The ID of the variantset to search.",
-                    "type": "string"
+                "variantSetIds": {
+                    "description": "Exactly one variant set ID must be provided. Only variants from this variant set will be returned.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "type": "array"
                 }
             },
             "type": "object"
@@ -2114,7 +2160,7 @@
             "type": "object"
         },
         "Variant": {
-            "description": "A Variant represents a change in DNA sequence relative to some reference. For example, a Variant could represent a SNP or an insertion. Variants belong to a Variantset.",
+            "description": "A Variant represents a change in DNA sequence relative to some reference. For example, a Variant could represent a SNP or an insertion. Variants belong to a variant set.",
             "id": "Variant",
             "properties": {
                 "alternateBases": {
@@ -2131,17 +2177,13 @@
                     },
                     "type": "array"
                 },
-                "contig": {
-                    "description": "The contig on which this variant occurs. (such as 'chr20' or 'X')",
-                    "type": "string"
-                },
                 "created": {
                     "description": "The date this variant was created, in milliseconds from the epoch.",
                     "format": "int64",
                     "type": "string"
                 },
                 "end": {
-                    "description": "The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - position). This is useful for variants that don't explicitly give alternate bases, for example large deletions.",
+                    "description": "The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.",
                     "format": "int64",
                     "type": "string"
                 },
@@ -2167,18 +2209,51 @@
                     },
                     "type": "array"
                 },
-                "position": {
-                    "description": "The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.",
-                    "format": "int64",
-                    "type": "string"
-                },
                 "referenceBases": {
                     "description": "The reference bases for this variant. They start at the given position.",
                     "type": "string"
                 },
-                "variantsetId": {
-                    "description": "The ID of the variantset this variant belongs to.",
+                "referenceName": {
+                    "description": "The reference on which this variant occurs. (such as chr20 or X)",
                     "type": "string"
+                },
+                "start": {
+                    "description": "The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.",
+                    "format": "int64",
+                    "type": "string"
+                },
+                "variantSetId": {
+                    "description": "The ID of the variant set this variant belongs to.",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "VariantSet": {
+            "description": "A VariantSet represents a collection of Variants and their summary statistics.",
+            "id": "VariantSet",
+            "properties": {
+                "datasetId": {
+                    "description": "The dataset to which this variant set belongs. Immutable.",
+                    "type": "string"
+                },
+                "id": {
+                    "description": "The Google-generated ID of the variant set. Immutable.",
+                    "type": "string"
+                },
+                "metadata": {
+                    "description": "The metadata associated with this variant set.",
+                    "items": {
+                        "$ref": "Metadata"
+                    },
+                    "type": "array"
+                },
+                "referenceBounds": {
+                    "description": "A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.",
+                    "items": {
+                        "$ref": "ReferenceBound"
+                    },
+                    "type": "array"
                 }
             },
             "type": "object"
diff --git a/discovery/googleapis_beta/manager__v1beta2.json b/discovery/googleapis_beta/manager__v1beta2.json
index d9ffb3a..02e6855 100644
--- a/discovery/googleapis_beta/manager__v1beta2.json
+++ b/discovery/googleapis_beta/manager__v1beta2.json
@@ -29,7 +29,7 @@
     "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/deployment-manager/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/9W3DLv6LKY-GqB6jKJr0p6e9y7s\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/iGUA1MFJvjag5CPQwb2aT371UTs\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -365,7 +365,7 @@
             }
         }
     },
-    "revision": "20140818",
+    "revision": "20140915",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AccessConfig": {
@@ -916,6 +916,10 @@
                     "format": "int64",
                     "type": "string"
                 },
+                "diskType": {
+                    "description": "Name of the disk type resource describing which disk type to use to create the disk. For example 'pd-ssd' or 'pd-standard'. Default is 'pd-standard'",
+                    "type": "string"
+                },
                 "sourceImage": {
                     "description": "The fully-qualified URL of a source image to use to create this disk.",
                     "type": "string"
diff --git a/discovery/googleapis_beta/pubsub__v1beta1.json b/discovery/googleapis_beta/pubsub__v1beta1.json
index b80f25c..52d4cd7 100644
--- a/discovery/googleapis_beta/pubsub__v1beta1.json
+++ b/discovery/googleapis_beta/pubsub__v1beta1.json
@@ -17,7 +17,7 @@
     "description": "Provides reliable, many-to-many, asynchronous messaging between applications.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/pubsub/v1beta1",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/0Fp5e_WTNFkUTCc0NWbk-5s1uKQ\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/ywePitQXGabB9vHcCh_sNtCXjDU\"",
     "icons": {
         "x16": "https://www.google.com/images/icons/product/search-16.gif",
         "x32": "https://www.google.com/images/icons/product/search-32.gif"
@@ -338,7 +338,7 @@
             }
         }
     },
-    "revision": "20140814",
+    "revision": "20140919",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AcknowledgeRequest": {
@@ -416,7 +416,7 @@
             "id": "ModifyAckDeadlineRequest",
             "properties": {
                 "ackDeadlineSeconds": {
-                    "description": "The new Ack deadline. Must be >= 1.",
+                    "description": "The new Ack deadline. Must be >= 0.",
                     "format": "int32",
                     "type": "integer"
                 },
diff --git a/discovery/googleapis_beta/replicapool__v1beta1.json b/discovery/googleapis_beta/replicapool__v1beta1.json
index 3cf754f..3c36ad8 100644
--- a/discovery/googleapis_beta/replicapool__v1beta1.json
+++ b/discovery/googleapis_beta/replicapool__v1beta1.json
@@ -26,7 +26,7 @@
     "description": "The Replica Pool API allows users to declaratively provision and manage groups of Google Compute Engine instances based on a common template.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/compute/docs/replica-pool/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/7J4unpNjcNo2pcmmAY8uBF1BWss\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/23e47jzhtet3mpIUahkbF_tHUFw\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -540,7 +540,7 @@
             }
         }
     },
-    "revision": "20140827",
+    "revision": "20140912",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "AccessConfig": {
diff --git a/discovery/googleapis_beta/resourceviews__v1beta1.json b/discovery/googleapis_beta/resourceviews__v1beta1.json
index 21d3a31..908d244 100644
--- a/discovery/googleapis_beta/resourceviews__v1beta1.json
+++ b/discovery/googleapis_beta/resourceviews__v1beta1.json
@@ -26,7 +26,7 @@
     "description": "The Resource View API allows users to create and manage logical sets of Google Compute Engine instances.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/compute/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/AoeAr1zgY1CKn9zcrNzEbavwbEo\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/2oa8SMSfpFS6UKNS3wRm4F3v1wQ\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -681,7 +681,7 @@
             }
         }
     },
-    "revision": "20140827",
+    "revision": "20140904",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "Label": {
diff --git a/discovery/googleapis_beta/sqladmin__v1beta3.json b/discovery/googleapis_beta/sqladmin__v1beta3.json
index b1d66d9..8df4548 100644
--- a/discovery/googleapis_beta/sqladmin__v1beta3.json
+++ b/discovery/googleapis_beta/sqladmin__v1beta3.json
@@ -18,7 +18,7 @@
     "description": "API for Cloud SQL database instance management.",
     "discoveryVersion": "v1",
     "documentationLink": "https://developers.google.com/cloud-sql/docs/admin-api/",
-    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/iSvEUXm2HnuHWXog2Opj9zU6i3I\"",
+    "etag": "\"uUWyYHXmEn-ab7WLvo8qNz2S8ws/9fwQA8H2k5NmzsvEUWIyM_KlxbQ\"",
     "icons": {
         "x16": "http://www.google.com/images/icons/product/search-16.gif",
         "x32": "http://www.google.com/images/icons/product/search-32.gif"
@@ -888,7 +888,7 @@
             }
         }
     },
-    "revision": "20140813",
+    "revision": "20140827",
     "rootUrl": "https://www.googleapis.com/",
     "schemas": {
         "BackupConfiguration": {
diff --git a/generated/googleapis/CHANGELOG.md b/generated/googleapis/CHANGELOG.md
index 85f6c15..27f79f0 100644
--- a/generated/googleapis/CHANGELOG.md
+++ b/generated/googleapis/CHANGELOG.md
@@ -1,3 +1,15 @@
+## 0.2.0
+
+* [apis] admin:directory: additional schemas/methods
+* [apis] admin:reports_v1: schema changes
+* [apis] androidpublisher:v2: additional schemas/methods
+* [apis] drive:v2: schema changes
+* [apis] identitytoolkit:v3: schema changes
+* [apis] mirror:v1: schema changes
+* [apis-breaking] mapsengine:v1: major changes (additional schemas/methods)
+* [generator] Bugfix in resumable media uploader.
+* [generator] Bugfix json decoding optimization.
+
 ## 0.1.1
 
 * [apis] Added Discovery API
diff --git a/generated/googleapis/README.md b/generated/googleapis/README.md
index 73cf8cb..0cce6f6 100644
--- a/generated/googleapis/README.md
+++ b/generated/googleapis/README.md
@@ -77,7 +77,7 @@
 
 Official API documentation: https://developers.google.com/admin-sdk/directory/
 
-#### ![Logo](http://www.google.com/images/icons/product/search-16.gif) Email Migration API v2 - admin email_migration_v2
+#### ![Logo](https://www.google.com/images/icons/product/googlemail-16.png) Email Migration API v2 - admin email_migration_v2
 
 Email Migration API lets you migrate emails of users to Google backends.
 
diff --git a/generated/googleapis/lib/adexchangebuyer/v1_3.dart b/generated/googleapis/lib/adexchangebuyer/v1_3.dart
index 90d091c..12b5035 100644
--- a/generated/googleapis/lib/adexchangebuyer/v1_3.dart
+++ b/generated/googleapis/lib/adexchangebuyer/v1_3.dart
@@ -32,7 +32,7 @@
   PretargetingConfigResourceApi get pretargetingConfig => new PretargetingConfigResourceApi(_requester);
 
   AdexchangebuyerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adexchangebuyer/v1.3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adexchangebuyer/v1.3/");
 }
 
 
diff --git a/generated/googleapis/lib/adexchangeseller/v1_1.dart b/generated/googleapis/lib/adexchangeseller/v1_1.dart
index c01b32b..d7c971e 100644
--- a/generated/googleapis/lib/adexchangeseller/v1_1.dart
+++ b/generated/googleapis/lib/adexchangeseller/v1_1.dart
@@ -38,7 +38,7 @@
   UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester);
 
   AdexchangesellerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adexchangeseller/v1.1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adexchangeseller/v1.1/");
 }
 
 
diff --git a/generated/googleapis/lib/admin/directory_v1.dart b/generated/googleapis/lib/admin/directory_v1.dart
index 574c65a..f31570d 100644
--- a/generated/googleapis/lib/admin/directory_v1.dart
+++ b/generated/googleapis/lib/admin/directory_v1.dart
@@ -70,6 +70,12 @@
   /** Manage data access permissions for users on your domain */
   static const AdminDirectoryUserSecurityScope = "https://www.googleapis.com/auth/admin.directory.user.security";
 
+  /** View and manage the provisioning of user schemas on your domain */
+  static const AdminDirectoryUserschemaScope = "https://www.googleapis.com/auth/admin.directory.userschema";
+
+  /** View user schemas on your domain */
+  static const AdminDirectoryUserschemaReadonlyScope = "https://www.googleapis.com/auth/admin.directory.userschema.readonly";
+
 
   final common_internal.ApiRequester _requester;
 
@@ -81,12 +87,13 @@
   MobiledevicesResourceApi get mobiledevices => new MobiledevicesResourceApi(_requester);
   NotificationsResourceApi get notifications => new NotificationsResourceApi(_requester);
   OrgunitsResourceApi get orgunits => new OrgunitsResourceApi(_requester);
+  SchemasResourceApi get schemas => new SchemasResourceApi(_requester);
   TokensResourceApi get tokens => new TokensResourceApi(_requester);
   UsersResourceApi get users => new UsersResourceApi(_requester);
   VerificationCodesResourceApi get verificationCodes => new VerificationCodesResourceApi(_requester);
 
   AdminApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/admin/directory/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "admin/directory/v1/");
 }
 
 
@@ -2083,6 +2090,290 @@
 
 
 /** Not documented yet. */
+class SchemasResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  SchemasResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Delete schema
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * [schemaKey] - Name or immutable Id of the schema
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future delete(core.String customerId, core.String schemaKey) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+    if (schemaKey == null) {
+      throw new core.ArgumentError("Parameter schemaKey is required.");
+    }
+
+    _downloadOptions = null;
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey');
+
+    var _response = _requester.request(_url,
+                                       "DELETE",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => null);
+  }
+
+  /**
+   * Retrieve schema
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * [schemaKey] - Name or immutable Id of the schema
+   *
+   * Completes with a [Schema].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<Schema> get(core.String customerId, core.String schemaKey) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+    if (schemaKey == null) {
+      throw new core.ArgumentError("Parameter schemaKey is required.");
+    }
+
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey');
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Schema.fromJson(data));
+  }
+
+  /**
+   * Create schema.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * Completes with a [Schema].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<Schema> insert(Schema request, core.String customerId) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Schema.fromJson(data));
+  }
+
+  /**
+   * Retrieve all schemas for a customer
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * Completes with a [Schemas].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<Schemas> list(core.String customerId) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Schemas.fromJson(data));
+  }
+
+  /**
+   * Update schema. This method supports patch semantics.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * [schemaKey] - Name or immutable Id of the schema.
+   *
+   * Completes with a [Schema].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<Schema> patch(Schema request, core.String customerId, core.String schemaKey) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+    if (schemaKey == null) {
+      throw new core.ArgumentError("Parameter schemaKey is required.");
+    }
+
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey');
+
+    var _response = _requester.request(_url,
+                                       "PATCH",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Schema.fromJson(data));
+  }
+
+  /**
+   * Update schema
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [customerId] - Immutable id of the Google Apps account
+   *
+   * [schemaKey] - Name or immutable Id of the schema.
+   *
+   * Completes with a [Schema].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<Schema> update(Schema request, core.String customerId, core.String schemaKey) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (customerId == null) {
+      throw new core.ArgumentError("Parameter customerId is required.");
+    }
+    if (schemaKey == null) {
+      throw new core.ArgumentError("Parameter schemaKey is required.");
+    }
+
+
+    _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey');
+
+    var _response = _requester.request(_url,
+                                       "PUT",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new Schema.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class TokensResourceApi {
   final common_internal.ApiRequester _requester;
 
@@ -2281,6 +2572,22 @@
    *
    * [userKey] - Email or immutable Id of the user
    *
+   * [customFieldMask] - Comma-separated list of schema names. All fields from
+   * these schemas are fetched. This should only be set when projection=custom.
+   *
+   * [projection] - What subset of fields to fetch for this user.
+   * Possible string values are:
+   * - "basic" : Do not include any custom fields for the user.
+   * - "custom" : Include custom fields from schemas mentioned in
+   * customFieldMask.
+   * - "full" : Include all fields associated with this user.
+   *
+   * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the
+   * user.
+   * Possible string values are:
+   * - "admin_view" : Fetches the ADMIN_VIEW of the user.
+   * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user.
+   *
    * Completes with a [User].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
@@ -2289,7 +2596,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<User> get(core.String userKey) {
+  async.Future<User> get(core.String userKey, {core.String customFieldMask, core.String projection, core.String viewType}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2300,6 +2607,15 @@
     if (userKey == null) {
       throw new core.ArgumentError("Parameter userKey is required.");
     }
+    if (customFieldMask != null) {
+      _queryParams["customFieldMask"] = [customFieldMask];
+    }
+    if (projection != null) {
+      _queryParams["projection"] = [projection];
+    }
+    if (viewType != null) {
+      _queryParams["viewType"] = [viewType];
+    }
 
 
     _url = 'users/' + common_internal.Escaper.ecapeVariable('$userKey');
@@ -2359,6 +2675,9 @@
    *
    * Request parameters:
    *
+   * [customFieldMask] - Comma-separated list of schema names. All fields from
+   * these schemas are fetched. This should only be set when projection=custom.
+   *
    * [customer] - Immutable id of the Google Apps account. In case of
    * multi-domain, to fetch all users for a customer, fill this field instead of
    * domain.
@@ -2386,10 +2705,16 @@
    *
    * [pageToken] - Token to specify next page in the list
    *
-   * [query] - Query string search. Should be of the form "" where field can be
-   * any of supported fields, operators can be one of '=' for exact match or ':'
-   * for prefix match. For prefix match, the value should always be followed by
-   * a *.
+   * [projection] - What subset of fields to fetch for this user.
+   * Possible string values are:
+   * - "basic" : Do not include any custom fields for the user.
+   * - "custom" : Include custom fields from schemas mentioned in
+   * customFieldMask.
+   * - "full" : Include all fields associated with this user.
+   *
+   * [query] - Query string search. Should be of the form "". Complete
+   * documentation is at
+   * https://developers.google.com/admin-sdk/directory/v1/guides/search-users
    *
    * [showDeleted] - If set to true retrieves the list of deleted users. Default
    * is false
@@ -2399,6 +2724,12 @@
    * - "ASCENDING" : Ascending order.
    * - "DESCENDING" : Descending order.
    *
+   * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the
+   * user.
+   * Possible string values are:
+   * - "admin_view" : Fetches the ADMIN_VIEW of the user.
+   * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user.
+   *
    * Completes with a [Users].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
@@ -2407,7 +2738,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Users> list({core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String query, core.String showDeleted, core.String sortOrder}) {
+  async.Future<Users> list({core.String customFieldMask, core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String projection, core.String query, core.String showDeleted, core.String sortOrder, core.String viewType}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2415,6 +2746,9 @@
     var _downloadOptions = common.DownloadOptions.Metadata;
     var _body = null;
 
+    if (customFieldMask != null) {
+      _queryParams["customFieldMask"] = [customFieldMask];
+    }
     if (customer != null) {
       _queryParams["customer"] = [customer];
     }
@@ -2433,6 +2767,9 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (projection != null) {
+      _queryParams["projection"] = [projection];
+    }
     if (query != null) {
       _queryParams["query"] = [query];
     }
@@ -2442,6 +2779,9 @@
     if (sortOrder != null) {
       _queryParams["sortOrder"] = [sortOrder];
     }
+    if (viewType != null) {
+      _queryParams["viewType"] = [viewType];
+    }
 
 
     _url = 'users';
@@ -2643,6 +2983,9 @@
    *
    * Request parameters:
    *
+   * [customFieldMask] - Comma-separated list of schema names. All fields from
+   * these schemas are fetched. This should only be set when projection=custom.
+   *
    * [customer] - Immutable id of the Google Apps account. In case of
    * multi-domain, to fetch all users for a customer, fill this field instead of
    * domain.
@@ -2670,10 +3013,16 @@
    *
    * [pageToken] - Token to specify next page in the list
    *
-   * [query] - Query string search. Should be of the form "" where field can be
-   * any of supported fields, operators can be one of '=' for exact match or ':'
-   * for prefix match. For prefix match, the value should always be followed by
-   * a *.
+   * [projection] - What subset of fields to fetch for this user.
+   * Possible string values are:
+   * - "basic" : Do not include any custom fields for the user.
+   * - "custom" : Include custom fields from schemas mentioned in
+   * customFieldMask.
+   * - "full" : Include all fields associated with this user.
+   *
+   * [query] - Query string search. Should be of the form "". Complete
+   * documentation is at
+   * https://developers.google.com/admin-sdk/directory/v1/guides/search-users
    *
    * [showDeleted] - If set to true retrieves the list of deleted users. Default
    * is false
@@ -2683,6 +3032,12 @@
    * - "ASCENDING" : Ascending order.
    * - "DESCENDING" : Descending order.
    *
+   * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the
+   * user.
+   * Possible string values are:
+   * - "admin_view" : Fetches the ADMIN_VIEW of the user.
+   * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user.
+   *
    * Completes with a [Channel].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
@@ -2691,7 +3046,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Channel> watch(Channel request, {core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String query, core.String showDeleted, core.String sortOrder}) {
+  async.Future<Channel> watch(Channel request, {core.String customFieldMask, core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String projection, core.String query, core.String showDeleted, core.String sortOrder, core.String viewType}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -2702,6 +3057,9 @@
     if (request != null) {
       _body = convert.JSON.encode((request).toJson());
     }
+    if (customFieldMask != null) {
+      _queryParams["customFieldMask"] = [customFieldMask];
+    }
     if (customer != null) {
       _queryParams["customer"] = [customer];
     }
@@ -2720,6 +3078,9 @@
     if (pageToken != null) {
       _queryParams["pageToken"] = [pageToken];
     }
+    if (projection != null) {
+      _queryParams["projection"] = [projection];
+    }
     if (query != null) {
       _queryParams["query"] = [query];
     }
@@ -2729,6 +3090,9 @@
     if (sortOrder != null) {
       _queryParams["sortOrder"] = [sortOrder];
     }
+    if (viewType != null) {
+      _queryParams["viewType"] = [viewType];
+    }
 
 
     _url = 'users/watch';
@@ -4862,6 +5226,256 @@
 }
 
 
+/** JSON template for Schema resource in Directory API. */
+class Schema {
+  /** ETag of the resource. */
+  core.String etag;
+
+  /** Fields of Schema */
+  core.List<SchemaFieldSpec> fields;
+
+  /** Kind of resource this is. */
+  core.String kind;
+
+  /** Unique identifier of Schema (Read-only) */
+  core.String schemaId;
+
+  /** Schema name */
+  core.String schemaName;
+
+
+  Schema();
+
+  Schema.fromJson(core.Map _json) {
+    if (_json.containsKey("etag")) {
+      etag = _json["etag"];
+    }
+    if (_json.containsKey("fields")) {
+      fields = _json["fields"].map((value) => new SchemaFieldSpec.fromJson(value)).toList();
+    }
+    if (_json.containsKey("kind")) {
+      kind = _json["kind"];
+    }
+    if (_json.containsKey("schemaId")) {
+      schemaId = _json["schemaId"];
+    }
+    if (_json.containsKey("schemaName")) {
+      schemaName = _json["schemaName"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (etag != null) {
+      _json["etag"] = etag;
+    }
+    if (fields != null) {
+      _json["fields"] = fields.map((value) => (value).toJson()).toList();
+    }
+    if (kind != null) {
+      _json["kind"] = kind;
+    }
+    if (schemaId != null) {
+      _json["schemaId"] = schemaId;
+    }
+    if (schemaName != null) {
+      _json["schemaName"] = schemaName;
+    }
+    return _json;
+  }
+}
+
+
+/**
+ * Indexing spec for a numeric field. By default, only exact match queries will
+ * be supported for numeric fields. Setting the numericIndexingSpec allows range
+ * queries to be supported.
+ */
+class SchemaFieldSpecNumericIndexingSpec {
+  /**
+   * Maximum value of this field. This is meant to be indicative rather than
+   * enforced. Values outside this range will still be indexed, but search may
+   * not be as performant.
+   */
+  core.double maxValue;
+
+  /**
+   * Minimum value of this field. This is meant to be indicative rather than
+   * enforced. Values outside this range will still be indexed, but search may
+   * not be as performant.
+   */
+  core.double minValue;
+
+
+  SchemaFieldSpecNumericIndexingSpec();
+
+  SchemaFieldSpecNumericIndexingSpec.fromJson(core.Map _json) {
+    if (_json.containsKey("maxValue")) {
+      maxValue = _json["maxValue"];
+    }
+    if (_json.containsKey("minValue")) {
+      minValue = _json["minValue"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (maxValue != null) {
+      _json["maxValue"] = maxValue;
+    }
+    if (minValue != null) {
+      _json["minValue"] = minValue;
+    }
+    return _json;
+  }
+}
+
+
+/** JSON template for FieldSpec resource for Schemas in Directory API. */
+class SchemaFieldSpec {
+  /** ETag of the resource. */
+  core.String etag;
+
+  /** Unique identifier of Field (Read-only) */
+  core.String fieldId;
+
+  /** Name of the field. */
+  core.String fieldName;
+
+  /** Type of the field. */
+  core.String fieldType;
+
+  /** Boolean specifying whether the field is indexed or not. */
+  core.bool indexed;
+
+  /** Kind of resource this is. */
+  core.String kind;
+
+  /** Boolean specifying whether this is a multi-valued field or not. */
+  core.bool multiValued;
+
+  /**
+   * Indexing spec for a numeric field. By default, only exact match queries
+   * will be supported for numeric fields. Setting the numericIndexingSpec
+   * allows range queries to be supported.
+   */
+  SchemaFieldSpecNumericIndexingSpec numericIndexingSpec;
+
+  /**
+   * Read ACLs on the field specifying who can view values of this field. Valid
+   * values are "ALL_DOMAIN_USERS" and "ADMINS_AND_SELF".
+   */
+  core.String readAccessType;
+
+
+  SchemaFieldSpec();
+
+  SchemaFieldSpec.fromJson(core.Map _json) {
+    if (_json.containsKey("etag")) {
+      etag = _json["etag"];
+    }
+    if (_json.containsKey("fieldId")) {
+      fieldId = _json["fieldId"];
+    }
+    if (_json.containsKey("fieldName")) {
+      fieldName = _json["fieldName"];
+    }
+    if (_json.containsKey("fieldType")) {
+      fieldType = _json["fieldType"];
+    }
+    if (_json.containsKey("indexed")) {
+      indexed = _json["indexed"];
+    }
+    if (_json.containsKey("kind")) {
+      kind = _json["kind"];
+    }
+    if (_json.containsKey("multiValued")) {
+      multiValued = _json["multiValued"];
+    }
+    if (_json.containsKey("numericIndexingSpec")) {
+      numericIndexingSpec = new SchemaFieldSpecNumericIndexingSpec.fromJson(_json["numericIndexingSpec"]);
+    }
+    if (_json.containsKey("readAccessType")) {
+      readAccessType = _json["readAccessType"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (etag != null) {
+      _json["etag"] = etag;
+    }
+    if (fieldId != null) {
+      _json["fieldId"] = fieldId;
+    }
+    if (fieldName != null) {
+      _json["fieldName"] = fieldName;
+    }
+    if (fieldType != null) {
+      _json["fieldType"] = fieldType;
+    }
+    if (indexed != null) {
+      _json["indexed"] = indexed;
+    }
+    if (kind != null) {
+      _json["kind"] = kind;
+    }
+    if (multiValued != null) {
+      _json["multiValued"] = multiValued;
+    }
+    if (numericIndexingSpec != null) {
+      _json["numericIndexingSpec"] = (numericIndexingSpec).toJson();
+    }
+    if (readAccessType != null) {
+      _json["readAccessType"] = readAccessType;
+    }
+    return _json;
+  }
+}
+
+
+/** JSON response template for List Schema operation in Directory API. */
+class Schemas {
+  /** ETag of the resource. */
+  core.String etag;
+
+  /** Kind of resource this is. */
+  core.String kind;
+
+  /** List of UserSchema objects. */
+  core.List<Schema> schemas;
+
+
+  Schemas();
+
+  Schemas.fromJson(core.Map _json) {
+    if (_json.containsKey("etag")) {
+      etag = _json["etag"];
+    }
+    if (_json.containsKey("kind")) {
+      kind = _json["kind"];
+    }
+    if (_json.containsKey("schemas")) {
+      schemas = _json["schemas"].map((value) => new Schema.fromJson(value)).toList();
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (etag != null) {
+      _json["etag"] = etag;
+    }
+    if (kind != null) {
+      _json["kind"] = kind;
+    }
+    if (schemas != null) {
+      _json["schemas"] = schemas.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+
 /** JSON template for token resource in Directory API. */
 class Token {
   /**
@@ -4999,7 +5613,7 @@
 }
 
 
-/** JSON template for User object in Apps Directory API. */
+/** JSON template for User object in Directory API. */
 class User {
   /**
    * Not documented yet.
@@ -5021,6 +5635,9 @@
   /** User's Google account creation time. (Read-only) */
   core.DateTime creationTime;
 
+  /** Custom fields of the user. */
+  core.Map<core.String, UserCustomProperties> customSchemas;
+
   /** CustomerId of User (Read-only) */
   core.String customerId;
 
@@ -5148,6 +5765,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("customSchemas")) {
+      customSchemas = common_internal.mapMap(_json["customSchemas"], (item) => new UserCustomProperties.fromJson(item));
+    }
     if (_json.containsKey("customerId")) {
       customerId = _json["customerId"];
     }
@@ -5245,6 +5865,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (customSchemas != null) {
+      _json["customSchemas"] = customSchemas;
+    }
     if (customerId != null) {
       _json["customerId"] = customerId;
     }
@@ -5472,6 +6095,47 @@
 }
 
 
+/**
+ * JSON template for a set of custom properties (i.e. all fields in a particular
+ * schema)
+ */
+class UserCustomProperties
+    extends collection.MapBase<core.String, core.Object> {
+  final core.Map _innerMap = {};
+
+  UserCustomProperties();
+
+  UserCustomProperties.fromJson(core.Map _json) {
+    _json.forEach((core.String key, value) {
+      this[key] = value;
+    });
+  }
+
+  core.Map toJson() {
+    var _json = {};
+    this.forEach((core.String key, value) {
+      _json[key] = value;
+    });
+    return _json;
+  }
+
+  core.Object operator [](core.Object key)
+      => _innerMap[key];
+
+  operator []=(core.String key, core.Object value) {
+    _innerMap[key] = value;
+  }
+
+  void clear() {
+    _innerMap.clear();
+  }
+
+  core.Iterable<core.String> get keys => _innerMap.keys;
+
+  core.Object remove(core.Object key) => _innerMap.remove(key);
+}
+
+
 /** JSON template for an email. */
 class UserEmail {
   /** Email id of the user. */
diff --git a/generated/googleapis/lib/admin/email_migration_v2.dart b/generated/googleapis/lib/admin/email_migration_v2.dart
index 86a7ee3..1511bc4 100644
--- a/generated/googleapis/lib/admin/email_migration_v2.dart
+++ b/generated/googleapis/lib/admin/email_migration_v2.dart
@@ -24,7 +24,7 @@
   MailResourceApi get mail => new MailResourceApi(_requester);
 
   AdminApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/email/v2/users/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "email/v2/users/");
 }
 
 
diff --git a/generated/googleapis/lib/admin/reports_v1.dart b/generated/googleapis/lib/admin/reports_v1.dart
index c3435d0..8814ae1 100644
--- a/generated/googleapis/lib/admin/reports_v1.dart
+++ b/generated/googleapis/lib/admin/reports_v1.dart
@@ -33,7 +33,7 @@
   UserUsageReportResourceApi get userUsageReport => new UserUsageReportResourceApi(_requester);
 
   AdminApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/admin/reports/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "admin/reports/v1/");
 }
 
 
@@ -573,6 +573,12 @@
   /** Integral value of the parameter. */
   core.String intValue;
 
+  /** Multi-int value of the parameter. */
+  core.List<core.String> multiIntValue;
+
+  /** Multi-string value of the parameter. */
+  core.List<core.String> multiValue;
+
   /** The name of the parameter. */
   core.String name;
 
@@ -589,6 +595,12 @@
     if (_json.containsKey("intValue")) {
       intValue = _json["intValue"];
     }
+    if (_json.containsKey("multiIntValue")) {
+      multiIntValue = _json["multiIntValue"];
+    }
+    if (_json.containsKey("multiValue")) {
+      multiValue = _json["multiValue"];
+    }
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
@@ -605,6 +617,12 @@
     if (intValue != null) {
       _json["intValue"] = intValue;
     }
+    if (multiIntValue != null) {
+      _json["multiIntValue"] = multiIntValue;
+    }
+    if (multiValue != null) {
+      _json["multiValue"] = multiValue;
+    }
     if (name != null) {
       _json["name"] = name;
     }
diff --git a/generated/googleapis/lib/adsense/v1_4.dart b/generated/googleapis/lib/adsense/v1_4.dart
index 4d7369c..c3ebebd 100644
--- a/generated/googleapis/lib/adsense/v1_4.dart
+++ b/generated/googleapis/lib/adsense/v1_4.dart
@@ -39,7 +39,7 @@
   UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester);
 
   AdsenseApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adsense/v1.4/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adsense/v1.4/");
 }
 
 
diff --git a/generated/googleapis/lib/adsensehost/v4_1.dart b/generated/googleapis/lib/adsensehost/v4_1.dart
index be8a79b..17636d5 100644
--- a/generated/googleapis/lib/adsensehost/v4_1.dart
+++ b/generated/googleapis/lib/adsensehost/v4_1.dart
@@ -32,7 +32,7 @@
   UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester);
 
   AdsensehostApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adsensehost/v4.1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adsensehost/v4.1/");
 }
 
 
diff --git a/generated/googleapis/lib/analytics/v3.dart b/generated/googleapis/lib/analytics/v3.dart
index efc3d33..7fcd246 100644
--- a/generated/googleapis/lib/analytics/v3.dart
+++ b/generated/googleapis/lib/analytics/v3.dart
@@ -42,7 +42,7 @@
   ProvisioningResourceApi get provisioning => new ProvisioningResourceApi(_requester);
 
   AnalyticsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/analytics/v3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "analytics/v3/");
 }
 
 
diff --git a/generated/googleapis/lib/androidpublisher/v2.dart b/generated/googleapis/lib/androidpublisher/v2.dart
index 68193f1..9ec7205 100644
--- a/generated/googleapis/lib/androidpublisher/v2.dart
+++ b/generated/googleapis/lib/androidpublisher/v2.dart
@@ -26,7 +26,7 @@
   PurchasesResourceApi get purchases => new PurchasesResourceApi(_requester);
 
   AndroidpublisherApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/androidpublisher/v2/applications/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "androidpublisher/v2/applications/");
 }
 
 
@@ -2738,6 +2738,65 @@
   }
 
   /**
+   * Defers a user's subscription purchase until a specified future expiration
+   * time.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [packageName] - The package name of the application for which this
+   * subscription was purchased (for example, 'com.some.thing').
+   *
+   * [subscriptionId] - The purchased subscription ID (for example,
+   * 'monthly001').
+   *
+   * [token] - The token provided to the user's device when the subscription was
+   * purchased.
+   *
+   * Completes with a [SubscriptionPurchasesDeferResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<SubscriptionPurchasesDeferResponse> defer(SubscriptionPurchasesDeferRequest request, core.String packageName, core.String subscriptionId, core.String token) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (packageName == null) {
+      throw new core.ArgumentError("Parameter packageName is required.");
+    }
+    if (subscriptionId == null) {
+      throw new core.ArgumentError("Parameter subscriptionId is required.");
+    }
+    if (token == null) {
+      throw new core.ArgumentError("Parameter token is required.");
+    }
+
+
+    _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':defer';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new SubscriptionPurchasesDeferResponse.fromJson(data));
+  }
+
+  /**
    * Checks whether a user's subscription purchase is valid and returns its
    * expiry time.
    *
@@ -2791,6 +2850,112 @@
     return _response.then((data) => new SubscriptionPurchase.fromJson(data));
   }
 
+  /**
+   * Refunds a user's subscription purchase, but the subscription remains valid
+   * until its expiration time and it will continue to recur.
+   *
+   * Request parameters:
+   *
+   * [packageName] - The package name of the application for which this
+   * subscription was purchased (for example, 'com.some.thing').
+   *
+   * [subscriptionId] - The purchased subscription ID (for example,
+   * 'monthly001').
+   *
+   * [token] - The token provided to the user's device when the subscription was
+   * purchased.
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future refund(core.String packageName, core.String subscriptionId, core.String token) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (packageName == null) {
+      throw new core.ArgumentError("Parameter packageName is required.");
+    }
+    if (subscriptionId == null) {
+      throw new core.ArgumentError("Parameter subscriptionId is required.");
+    }
+    if (token == null) {
+      throw new core.ArgumentError("Parameter token is required.");
+    }
+
+    _downloadOptions = null;
+
+    _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':refund';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => null);
+  }
+
+  /**
+   * Refunds and immediately revokes a user's subscription purchase. Access to
+   * the subscription will be terminated immediately and it will stop recurring.
+   *
+   * Request parameters:
+   *
+   * [packageName] - The package name of the application for which this
+   * subscription was purchased (for example, 'com.some.thing').
+   *
+   * [subscriptionId] - The purchased subscription ID (for example,
+   * 'monthly001').
+   *
+   * [token] - The token provided to the user's device when the subscription was
+   * purchased.
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future revoke(core.String packageName, core.String subscriptionId, core.String token) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (packageName == null) {
+      throw new core.ArgumentError("Parameter packageName is required.");
+    }
+    if (subscriptionId == null) {
+      throw new core.ArgumentError("Parameter subscriptionId is required.");
+    }
+    if (token == null) {
+      throw new core.ArgumentError("Parameter token is required.");
+    }
+
+    _downloadOptions = null;
+
+    _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':revoke';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => null);
+  }
+
 }
 
 
@@ -3257,6 +3422,12 @@
   /** Purchase type enum value. Unmodifiable after creation. */
   core.String purchaseType;
 
+  /**
+   * Definition of a season for a seasonal subscription. Can be defined only for
+   * yearly subscriptions.
+   */
+  Season season;
+
   /** The stock-keeping-unit (SKU) of the product, unique within an app. */
   core.String sku;
 
@@ -3299,6 +3470,9 @@
     if (_json.containsKey("purchaseType")) {
       purchaseType = _json["purchaseType"];
     }
+    if (_json.containsKey("season")) {
+      season = new Season.fromJson(_json["season"]);
+    }
     if (_json.containsKey("sku")) {
       sku = _json["sku"];
     }
@@ -3333,6 +3507,9 @@
     if (purchaseType != null) {
       _json["purchaseType"] = purchaseType;
     }
+    if (season != null) {
+      _json["season"] = (season).toJson();
+    }
     if (sku != null) {
       _json["sku"] = sku;
     }
@@ -3788,6 +3965,42 @@
 
 
 /** Not documented yet. */
+class MonthDay {
+  /**
+   * Day of a month, value in [1, 31] range. Valid range depends on the
+   * specified month.
+   */
+  core.int day;
+
+  /** Month of a year. e.g. 1 = JAN, 2 = FEB etc. */
+  core.int month;
+
+
+  MonthDay();
+
+  MonthDay.fromJson(core.Map _json) {
+    if (_json.containsKey("day")) {
+      day = _json["day"];
+    }
+    if (_json.containsKey("month")) {
+      month = _json["month"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (day != null) {
+      _json["day"] = day;
+    }
+    if (month != null) {
+      _json["month"] = month;
+    }
+    return _json;
+  }
+}
+
+
+/** Not documented yet. */
 class PageInfo {
   /** Not documented yet. */
   core.int resultPerPage;
@@ -3944,6 +4157,83 @@
 }
 
 
+/** Not documented yet. */
+class Season {
+  /** Inclusive end date of the recurrence period. */
+  MonthDay end;
+
+  /** Inclusive start date of the recurrence period. */
+  MonthDay start;
+
+
+  Season();
+
+  Season.fromJson(core.Map _json) {
+    if (_json.containsKey("end")) {
+      end = new MonthDay.fromJson(_json["end"]);
+    }
+    if (_json.containsKey("start")) {
+      start = new MonthDay.fromJson(_json["start"]);
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (end != null) {
+      _json["end"] = (end).toJson();
+    }
+    if (start != null) {
+      _json["start"] = (start).toJson();
+    }
+    return _json;
+  }
+}
+
+
+/**
+ * A SubscriptionDeferralInfo contains the data needed to defer a subscription
+ * purchase to a future expiry time.
+ */
+class SubscriptionDeferralInfo {
+  /**
+   * The desired next expiry time for the subscription in milliseconds since
+   * Epoch. The given time must be after the current expiry time for the
+   * subscription.
+   */
+  core.String desiredExpiryTimeMillis;
+
+  /**
+   * The expected expiry time for the subscription. If the current expiry time
+   * for the subscription is not the value specified here, the deferral will not
+   * occur.
+   */
+  core.String expectedExpiryTimeMillis;
+
+
+  SubscriptionDeferralInfo();
+
+  SubscriptionDeferralInfo.fromJson(core.Map _json) {
+    if (_json.containsKey("desiredExpiryTimeMillis")) {
+      desiredExpiryTimeMillis = _json["desiredExpiryTimeMillis"];
+    }
+    if (_json.containsKey("expectedExpiryTimeMillis")) {
+      expectedExpiryTimeMillis = _json["expectedExpiryTimeMillis"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (desiredExpiryTimeMillis != null) {
+      _json["desiredExpiryTimeMillis"] = desiredExpiryTimeMillis;
+    }
+    if (expectedExpiryTimeMillis != null) {
+      _json["expectedExpiryTimeMillis"] = expectedExpiryTimeMillis;
+    }
+    return _json;
+  }
+}
+
+
 /**
  * A SubscriptionPurchase resource indicates the status of a user's subscription
  * purchase.
@@ -4009,6 +4299,58 @@
 
 
 /** Not documented yet. */
+class SubscriptionPurchasesDeferRequest {
+  /**
+   * The information about the new desired expiry time for the subscription.
+   */
+  SubscriptionDeferralInfo deferralInfo;
+
+
+  SubscriptionPurchasesDeferRequest();
+
+  SubscriptionPurchasesDeferRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("deferralInfo")) {
+      deferralInfo = new SubscriptionDeferralInfo.fromJson(_json["deferralInfo"]);
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (deferralInfo != null) {
+      _json["deferralInfo"] = (deferralInfo).toJson();
+    }
+    return _json;
+  }
+}
+
+
+/** Not documented yet. */
+class SubscriptionPurchasesDeferResponse {
+  /**
+   * The new expiry time for the subscription in milliseconds since the Epoch.
+   */
+  core.String newExpiryTimeMillis;
+
+
+  SubscriptionPurchasesDeferResponse();
+
+  SubscriptionPurchasesDeferResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("newExpiryTimeMillis")) {
+      newExpiryTimeMillis = _json["newExpiryTimeMillis"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (newExpiryTimeMillis != null) {
+      _json["newExpiryTimeMillis"] = newExpiryTimeMillis;
+    }
+    return _json;
+  }
+}
+
+
+/** Not documented yet. */
 class Testers {
   /** Not documented yet. */
   core.List<core.String> googleGroups;
diff --git a/generated/googleapis/lib/appsactivity/v1.dart b/generated/googleapis/lib/appsactivity/v1.dart
index b8f990d..adecb6c 100644
--- a/generated/googleapis/lib/appsactivity/v1.dart
+++ b/generated/googleapis/lib/appsactivity/v1.dart
@@ -33,7 +33,7 @@
   ActivitiesResourceApi get activities => new ActivitiesResourceApi(_requester);
 
   AppsactivityApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/appsactivity/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "appsactivity/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/appstate/v1.dart b/generated/googleapis/lib/appstate/v1.dart
index d90602a..f2b3278 100644
--- a/generated/googleapis/lib/appstate/v1.dart
+++ b/generated/googleapis/lib/appstate/v1.dart
@@ -24,7 +24,7 @@
   StatesResourceApi get states => new StatesResourceApi(_requester);
 
   AppstateApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/appstate/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "appstate/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/bigquery/v2.dart b/generated/googleapis/lib/bigquery/v2.dart
index 74229c9..ad21da3 100644
--- a/generated/googleapis/lib/bigquery/v2.dart
+++ b/generated/googleapis/lib/bigquery/v2.dart
@@ -43,7 +43,7 @@
   TablesResourceApi get tables => new TablesResourceApi(_requester);
 
   BigqueryApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/bigquery/v2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "bigquery/v2/");
 }
 
 
diff --git a/generated/googleapis/lib/blogger/v3.dart b/generated/googleapis/lib/blogger/v3.dart
index 9a2973c..d6dd27a 100644
--- a/generated/googleapis/lib/blogger/v3.dart
+++ b/generated/googleapis/lib/blogger/v3.dart
@@ -34,7 +34,7 @@
   UsersResourceApi get users => new UsersResourceApi(_requester);
 
   BloggerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/blogger/v3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "blogger/v3/");
 }
 
 
diff --git a/generated/googleapis/lib/books/v1.dart b/generated/googleapis/lib/books/v1.dart
index 1c913d3..619295d 100644
--- a/generated/googleapis/lib/books/v1.dart
+++ b/generated/googleapis/lib/books/v1.dart
@@ -30,7 +30,7 @@
   VolumesResourceApi get volumes => new VolumesResourceApi(_requester);
 
   BooksApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/books/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "books/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/calendar/v3.dart b/generated/googleapis/lib/calendar/v3.dart
index a3c38b0..d0f0245 100644
--- a/generated/googleapis/lib/calendar/v3.dart
+++ b/generated/googleapis/lib/calendar/v3.dart
@@ -34,7 +34,7 @@
   SettingsResourceApi get settings => new SettingsResourceApi(_requester);
 
   CalendarApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/calendar/v3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "calendar/v3/");
 }
 
 
diff --git a/generated/googleapis/lib/civicinfo/us_v1.dart b/generated/googleapis/lib/civicinfo/us_v1.dart
index 78584e0..81a93d3 100644
--- a/generated/googleapis/lib/civicinfo/us_v1.dart
+++ b/generated/googleapis/lib/civicinfo/us_v1.dart
@@ -23,7 +23,7 @@
   RepresentativesResourceApi get representatives => new RepresentativesResourceApi(_requester);
 
   CivicinfoApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/civicinfo/us_v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "civicinfo/us_v1/");
 }
 
 
@@ -1084,9 +1084,18 @@
 /** Describes a political geography. */
 class GeographicDivision {
   /**
-   * Any other valid OCD IDs that refer to the same division. For example, if
-   * this division's OCD ID is ocd-division/country:us/district:dc, this will
-   * contain ocd-division/country:us/state:dc.
+   * Any other valid OCD IDs that refer to the same division.
+   *
+   * Because OCD IDs are meant to be human-readable and at least somewhat
+   * predictable, there are occasionally several identifiers for a single
+   * division. These identifiers are defined to be equivalent to one another,
+   * and one is always indicated as the primary identifier. The primary
+   * identifier will be returned in ocd_id above, and any other equivalent valid
+   * identifiers will be returned in this list.
+   *
+   * For example, if this division's OCD ID is
+   * ocd-division/country:us/district:dc, this will contain
+   * ocd-division/country:us/state:dc.
    */
   core.List<core.String> alsoKnownAs;
 
@@ -1214,7 +1223,7 @@
 }
 
 
-/** Information about a official holding an elected office. */
+/** Information about a person holding an elected office. */
 class Official {
   /** Addresses at which to contact the official. */
   core.List<SimpleAddressType> address;
diff --git a/generated/googleapis/lib/civicinfo/v1.dart b/generated/googleapis/lib/civicinfo/v1.dart
index d65c919..2869359 100644
--- a/generated/googleapis/lib/civicinfo/v1.dart
+++ b/generated/googleapis/lib/civicinfo/v1.dart
@@ -23,7 +23,7 @@
   RepresentativesResourceApi get representatives => new RepresentativesResourceApi(_requester);
 
   CivicinfoApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/civicinfo/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "civicinfo/v1/");
 }
 
 
@@ -1084,9 +1084,18 @@
 /** Describes a political geography. */
 class GeographicDivision {
   /**
-   * Any other valid OCD IDs that refer to the same division. For example, if
-   * this division's OCD ID is ocd-division/country:us/district:dc, this will
-   * contain ocd-division/country:us/state:dc.
+   * Any other valid OCD IDs that refer to the same division.
+   *
+   * Because OCD IDs are meant to be human-readable and at least somewhat
+   * predictable, there are occasionally several identifiers for a single
+   * division. These identifiers are defined to be equivalent to one another,
+   * and one is always indicated as the primary identifier. The primary
+   * identifier will be returned in ocd_id above, and any other equivalent valid
+   * identifiers will be returned in this list.
+   *
+   * For example, if this division's OCD ID is
+   * ocd-division/country:us/district:dc, this will contain
+   * ocd-division/country:us/state:dc.
    */
   core.List<core.String> alsoKnownAs;
 
@@ -1214,7 +1223,7 @@
 }
 
 
-/** Information about a official holding an elected office. */
+/** Information about a person holding an elected office. */
 class Official {
   /** Addresses at which to contact the official. */
   core.List<SimpleAddressType> address;
diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart
index 6549177..6660b94 100644
--- a/generated/googleapis/lib/compute/v1.dart
+++ b/generated/googleapis/lib/compute/v1.dart
@@ -61,7 +61,7 @@
   ZonesResourceApi get zones => new ZonesResourceApi(_requester);
 
   ComputeApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/compute/v1/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "compute/v1/projects/");
 }
 
 
diff --git a/generated/googleapis/lib/content/v2.dart b/generated/googleapis/lib/content/v2.dart
index 098b4ae..8c0e8d8 100644
--- a/generated/googleapis/lib/content/v2.dart
+++ b/generated/googleapis/lib/content/v2.dart
@@ -33,7 +33,7 @@
   ProductstatusesResourceApi get productstatuses => new ProductstatusesResourceApi(_requester);
 
   ContentApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/content/v2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "content/v2/");
 }
 
 
diff --git a/generated/googleapis/lib/coordinate/v1.dart b/generated/googleapis/lib/coordinate/v1.dart
index fb98e62..54d45a8 100644
--- a/generated/googleapis/lib/coordinate/v1.dart
+++ b/generated/googleapis/lib/coordinate/v1.dart
@@ -31,7 +31,7 @@
   WorkerResourceApi get worker => new WorkerResourceApi(_requester);
 
   CoordinateApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/coordinate/v1/teams/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "coordinate/v1/teams/");
 }
 
 
diff --git a/generated/googleapis/lib/customsearch/v1.dart b/generated/googleapis/lib/customsearch/v1.dart
index 6822db6..9d99025 100644
--- a/generated/googleapis/lib/customsearch/v1.dart
+++ b/generated/googleapis/lib/customsearch/v1.dart
@@ -21,7 +21,7 @@
   CseResourceApi get cse => new CseResourceApi(_requester);
 
   CustomsearchApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/customsearch/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "customsearch/");
 }
 
 
diff --git a/generated/googleapis/lib/dfareporting/v1_3.dart b/generated/googleapis/lib/dfareporting/v1_3.dart
index dff732d..1fbc48b 100644
--- a/generated/googleapis/lib/dfareporting/v1_3.dart
+++ b/generated/googleapis/lib/dfareporting/v1_3.dart
@@ -27,7 +27,7 @@
   UserProfilesResourceApi get userProfiles => new UserProfilesResourceApi(_requester);
 
   DfareportingApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/dfareporting/v1.3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "dfareporting/v1.3/");
 }
 
 
diff --git a/generated/googleapis/lib/discovery/v1.dart b/generated/googleapis/lib/discovery/v1.dart
index 82b9e44..8243068 100644
--- a/generated/googleapis/lib/discovery/v1.dart
+++ b/generated/googleapis/lib/discovery/v1.dart
@@ -24,7 +24,7 @@
   ApisResourceApi get apis => new ApisResourceApi(_requester);
 
   DiscoveryApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/discovery/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "discovery/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/doubleclickbidmanager/v1.dart b/generated/googleapis/lib/doubleclickbidmanager/v1.dart
index ac90b3a..cce3e80 100644
--- a/generated/googleapis/lib/doubleclickbidmanager/v1.dart
+++ b/generated/googleapis/lib/doubleclickbidmanager/v1.dart
@@ -23,7 +23,7 @@
   ReportsResourceApi get reports => new ReportsResourceApi(_requester);
 
   DoubleclickbidmanagerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclickbidmanager/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "doubleclickbidmanager/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/doubleclicksearch/v2.dart b/generated/googleapis/lib/doubleclicksearch/v2.dart
index 759ac86..9a9613b 100644
--- a/generated/googleapis/lib/doubleclicksearch/v2.dart
+++ b/generated/googleapis/lib/doubleclicksearch/v2.dart
@@ -29,7 +29,7 @@
   SavedColumnsResourceApi get savedColumns => new SavedColumnsResourceApi(_requester);
 
   DoubleclicksearchApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclicksearch/v2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "doubleclicksearch/v2/");
 }
 
 
diff --git a/generated/googleapis/lib/drive/v2.dart b/generated/googleapis/lib/drive/v2.dart
index 4c092e3..042f969 100644
--- a/generated/googleapis/lib/drive/v2.dart
+++ b/generated/googleapis/lib/drive/v2.dart
@@ -57,7 +57,7 @@
   RevisionsResourceApi get revisions => new RevisionsResourceApi(_requester);
 
   DriveApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/drive/v2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "drive/v2/");
 }
 
 
@@ -5389,6 +5389,48 @@
 }
 
 
+/** Metadata about video media. This will only be present for video types. */
+class FileVideoMediaMetadata {
+  /** The duration of the video in milliseconds. */
+  core.String durationMillis;
+
+  /** The height of the video in pixels. */
+  core.int height;
+
+  /** The width of the video in pixels. */
+  core.int width;
+
+
+  FileVideoMediaMetadata();
+
+  FileVideoMediaMetadata.fromJson(core.Map _json) {
+    if (_json.containsKey("durationMillis")) {
+      durationMillis = _json["durationMillis"];
+    }
+    if (_json.containsKey("height")) {
+      height = _json["height"];
+    }
+    if (_json.containsKey("width")) {
+      width = _json["width"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (durationMillis != null) {
+      _json["durationMillis"] = durationMillis;
+    }
+    if (height != null) {
+      _json["height"] = height;
+    }
+    if (width != null) {
+      _json["width"] = width;
+    }
+    return _json;
+  }
+}
+
+
 /** The metadata for a file. */
 class File {
   /** A link for opening the file in a relevant Google editor or viewer. */
@@ -5593,6 +5635,9 @@
    */
   core.String version;
 
+  /** Metadata about video media. This will only be present for video types. */
+  FileVideoMediaMetadata videoMediaMetadata;
+
   /**
    * A link for downloading the content of the file in a browser using cookie
    * based authentication. In cases where the content is shared publicly, the
@@ -5751,6 +5796,9 @@
     if (_json.containsKey("version")) {
       version = _json["version"];
     }
+    if (_json.containsKey("videoMediaMetadata")) {
+      videoMediaMetadata = new FileVideoMediaMetadata.fromJson(_json["videoMediaMetadata"]);
+    }
     if (_json.containsKey("webContentLink")) {
       webContentLink = _json["webContentLink"];
     }
@@ -5902,6 +5950,9 @@
     if (version != null) {
       _json["version"] = version;
     }
+    if (videoMediaMetadata != null) {
+      _json["videoMediaMetadata"] = (videoMediaMetadata).toJson();
+    }
     if (webContentLink != null) {
       _json["webContentLink"] = webContentLink;
     }
@@ -6113,9 +6164,7 @@
 
   /**
    * The email address of the user this permission refers to. This is an
-   * output-only field which is present when the permission type is user and the
-   * given user's Google+ profile privacy settings allow exposing their email
-   * address.
+   * output-only field which is present when the permission type is user.
    */
   core.String emailAddress;
 
diff --git a/generated/googleapis/lib/freebase/v1.dart b/generated/googleapis/lib/freebase/v1.dart
index b90bdfb..a58a222 100644
--- a/generated/googleapis/lib/freebase/v1.dart
+++ b/generated/googleapis/lib/freebase/v1.dart
@@ -19,7 +19,7 @@
   final common_internal.ApiRequester _requester;
 
   FreebaseApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/freebase/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "freebase/v1/");
 
   /**
    * Reconcile entities to Freebase open data.
diff --git a/generated/googleapis/lib/fusiontables/v1.dart b/generated/googleapis/lib/fusiontables/v1.dart
index 0004ce1..90b9099 100644
--- a/generated/googleapis/lib/fusiontables/v1.dart
+++ b/generated/googleapis/lib/fusiontables/v1.dart
@@ -32,7 +32,7 @@
   TemplateResourceApi get template => new TemplateResourceApi(_requester);
 
   FusiontablesApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/fusiontables/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "fusiontables/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/games/v1.dart b/generated/googleapis/lib/games/v1.dart
index 08e0fc9..c41bada 100644
--- a/generated/googleapis/lib/games/v1.dart
+++ b/generated/googleapis/lib/games/v1.dart
@@ -47,7 +47,7 @@
   TurnBasedMatchesResourceApi get turnBasedMatches => new TurnBasedMatchesResourceApi(_requester);
 
   GamesApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/games/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "games/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/gamesmanagement/v1management.dart b/generated/googleapis/lib/gamesmanagement/v1management.dart
index 94cf47c..feabf0a 100644
--- a/generated/googleapis/lib/gamesmanagement/v1management.dart
+++ b/generated/googleapis/lib/gamesmanagement/v1management.dart
@@ -37,7 +37,7 @@
   TurnBasedMatchesResourceApi get turnBasedMatches => new TurnBasedMatchesResourceApi(_requester);
 
   GamesManagementApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/games/v1management/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "games/v1management/");
 }
 
 
diff --git a/generated/googleapis/lib/gmail/v1.dart b/generated/googleapis/lib/gmail/v1.dart
index b2a4a70..b9dee7f 100644
--- a/generated/googleapis/lib/gmail/v1.dart
+++ b/generated/googleapis/lib/gmail/v1.dart
@@ -33,7 +33,7 @@
   UsersResourceApi get users => new UsersResourceApi(_requester);
 
   GmailApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/gmail/v1/users/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "gmail/v1/users/");
 }
 
 
diff --git a/generated/googleapis/lib/groupsmigration/v1.dart b/generated/googleapis/lib/groupsmigration/v1.dart
index 6d92a33..3ba1d1c 100644
--- a/generated/googleapis/lib/groupsmigration/v1.dart
+++ b/generated/googleapis/lib/groupsmigration/v1.dart
@@ -21,7 +21,7 @@
   ArchiveResourceApi get archive => new ArchiveResourceApi(_requester);
 
   GroupsmigrationApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/groups/v1/groups/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "groups/v1/groups/");
 }
 
 
diff --git a/generated/googleapis/lib/groupssettings/v1.dart b/generated/googleapis/lib/groupssettings/v1.dart
index 1715dfa..a54d095 100644
--- a/generated/googleapis/lib/groupssettings/v1.dart
+++ b/generated/googleapis/lib/groupssettings/v1.dart
@@ -24,7 +24,7 @@
   GroupsResourceApi get groups => new GroupsResourceApi(_requester);
 
   GroupssettingsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/groups/v1/groups/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "groups/v1/groups/");
 }
 
 
diff --git a/generated/googleapis/lib/identitytoolkit/v3.dart b/generated/googleapis/lib/identitytoolkit/v3.dart
index f132eef..caca776 100644
--- a/generated/googleapis/lib/identitytoolkit/v3.dart
+++ b/generated/googleapis/lib/identitytoolkit/v3.dart
@@ -21,7 +21,7 @@
   RelyingpartyResourceApi get relyingparty => new RelyingpartyResourceApi(_requester);
 
   IdentitytoolkitApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/identitytoolkit/v3/relyingparty/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "identitytoolkit/v3/relyingparty/");
 }
 
 
@@ -268,7 +268,7 @@
   }
 
   /**
-   * Set account info for a user.
+   * Reset password for a user.
    *
    * [request] - The metadata request object.
    *
@@ -476,6 +476,9 @@
   /** The URI used by the IDP to authenticate the user. */
   core.String authUri;
 
+  /** True if captcha is required. */
+  core.bool captchaRequired;
+
   /** True if the authUri is for user's existing provider. */
   core.bool forExistingProvider;
 
@@ -495,6 +498,9 @@
     if (_json.containsKey("authUri")) {
       authUri = _json["authUri"];
     }
+    if (_json.containsKey("captchaRequired")) {
+      captchaRequired = _json["captchaRequired"];
+    }
     if (_json.containsKey("forExistingProvider")) {
       forExistingProvider = _json["forExistingProvider"];
     }
@@ -514,6 +520,9 @@
     if (authUri != null) {
       _json["authUri"] = authUri;
     }
+    if (captchaRequired != null) {
+      _json["captchaRequired"] = captchaRequired;
+    }
     if (forExistingProvider != null) {
       _json["forExistingProvider"] = forExistingProvider;
     }
diff --git a/generated/googleapis/lib/licensing/v1.dart b/generated/googleapis/lib/licensing/v1.dart
index b01acc5..8ba9d49 100644
--- a/generated/googleapis/lib/licensing/v1.dart
+++ b/generated/googleapis/lib/licensing/v1.dart
@@ -21,7 +21,7 @@
   LicenseAssignmentsResourceApi get licenseAssignments => new LicenseAssignmentsResourceApi(_requester);
 
   LicensingApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/apps/licensing/v1/product/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "apps/licensing/v1/product/");
 }
 
 
diff --git a/generated/googleapis/lib/mapsengine/v1.dart b/generated/googleapis/lib/mapsengine/v1.dart
index 32cb97b..4e4775d 100644
--- a/generated/googleapis/lib/mapsengine/v1.dart
+++ b/generated/googleapis/lib/mapsengine/v1.dart
@@ -36,7 +36,7 @@
   TablesResourceApi get tables => new TablesResourceApi(_requester);
 
   MapsengineApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/mapsengine/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "mapsengine/v1/");
 }
 
 
@@ -45,6 +45,7 @@
   final common_internal.ApiRequester _requester;
 
   AssetsParentsResourceApi get parents => new AssetsParentsResourceApi(_requester);
+  AssetsPermissionsResourceApi get permissions => new AssetsPermissionsResourceApi(_requester);
 
   AssetsResourceApi(common_internal.ApiRequester client) : 
       _requester = client;
@@ -281,10 +282,61 @@
 
 
 /** Not documented yet. */
+class AssetsPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  AssetsPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'assets/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class LayersResourceApi {
   final common_internal.ApiRequester _requester;
 
   LayersParentsResourceApi get parents => new LayersParentsResourceApi(_requester);
+  LayersPermissionsResourceApi get permissions => new LayersPermissionsResourceApi(_requester);
 
   LayersResourceApi(common_internal.ApiRequester client) : 
       _requester = client;
@@ -423,7 +475,10 @@
    *
    * [id] - The ID of the layer.
    *
-   * [version] - null
+   * [version] - Deprecated: The version parameter indicates which version of
+   * the layer should be returned. When version is set to published, the
+   * published version of the layer will be returned. Please use the
+   * layers.getPublished endpoint instead.
    * Possible string values are:
    * - "draft" : The draft version.
    * - "published" : The published version.
@@ -927,9 +982,154 @@
 
 
 /** Not documented yet. */
+class LayersPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  LayersPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Remove permission entries from an already existing asset.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset from which permissions will be removed.
+   *
+   * Completes with a [PermissionsBatchDeleteResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data));
+  }
+
+  /**
+   * Add or update permission entries to an already existing asset.
+   *
+   * An asset can hold up to 20 different permission entries. Each batchInsert
+   * request is atomic.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset to which permissions will be added.
+   *
+   * Completes with a [PermissionsBatchUpdateResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data));
+  }
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class MapsResourceApi {
   final common_internal.ApiRequester _requester;
 
+  MapsPermissionsResourceApi get permissions => new MapsPermissionsResourceApi(_requester);
+
   MapsResourceApi(common_internal.ApiRequester client) : 
       _requester = client;
 
@@ -1021,7 +1221,10 @@
    *
    * [id] - The ID of the map.
    *
-   * [version] - null
+   * [version] - Deprecated: The version parameter indicates which version of
+   * the map should be returned. When version is set to published, the published
+   * version of the map will be returned. Please use the maps.getPublished
+   * endpoint instead.
    * Possible string values are:
    * - "draft" : The draft version.
    * - "published" : The published version.
@@ -1421,6 +1624,149 @@
 
 
 /** Not documented yet. */
+class MapsPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  MapsPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Remove permission entries from an already existing asset.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset from which permissions will be removed.
+   *
+   * Completes with a [PermissionsBatchDeleteResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data));
+  }
+
+  /**
+   * Add or update permission entries to an already existing asset.
+   *
+   * An asset can hold up to 20 different permission entries. Each batchInsert
+   * request is atomic.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset to which permissions will be added.
+   *
+   * Completes with a [PermissionsBatchUpdateResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data));
+  }
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class ProjectsResourceApi {
   final common_internal.ApiRequester _requester;
 
@@ -1653,6 +1999,7 @@
   final common_internal.ApiRequester _requester;
 
   RasterCollectionsParentsResourceApi get parents => new RasterCollectionsParentsResourceApi(_requester);
+  RasterCollectionsPermissionsResourceApi get permissions => new RasterCollectionsPermissionsResourceApi(_requester);
   RasterCollectionsRastersResourceApi get rasters => new RasterCollectionsRastersResourceApi(_requester);
 
   RasterCollectionsResourceApi(common_internal.ApiRequester client) : 
@@ -2100,6 +2447,149 @@
 
 
 /** Not documented yet. */
+class RasterCollectionsPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  RasterCollectionsPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Remove permission entries from an already existing asset.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset from which permissions will be removed.
+   *
+   * Completes with a [PermissionsBatchDeleteResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data));
+  }
+
+  /**
+   * Add or update permission entries to an already existing asset.
+   *
+   * An asset can hold up to 20 different permission entries. Each batchInsert
+   * request is atomic.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset to which permissions will be added.
+   *
+   * Completes with a [PermissionsBatchUpdateResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data));
+  }
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class RasterCollectionsRastersResourceApi {
   final common_internal.ApiRequester _requester;
 
@@ -2327,6 +2817,7 @@
 
   RastersFilesResourceApi get files => new RastersFilesResourceApi(_requester);
   RastersParentsResourceApi get parents => new RastersParentsResourceApi(_requester);
+  RastersPermissionsResourceApi get permissions => new RastersPermissionsResourceApi(_requester);
 
   RastersResourceApi(common_internal.ApiRequester client) : 
       _requester = client;
@@ -2802,12 +3293,156 @@
 
 
 /** Not documented yet. */
+class RastersPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  RastersPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Remove permission entries from an already existing asset.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset from which permissions will be removed.
+   *
+   * Completes with a [PermissionsBatchDeleteResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data));
+  }
+
+  /**
+   * Add or update permission entries to an already existing asset.
+   *
+   * An asset can hold up to 20 different permission entries. Each batchInsert
+   * request is atomic.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset to which permissions will be added.
+   *
+   * Completes with a [PermissionsBatchUpdateResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data));
+  }
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
+/** Not documented yet. */
 class TablesResourceApi {
   final common_internal.ApiRequester _requester;
 
   TablesFeaturesResourceApi get features => new TablesFeaturesResourceApi(_requester);
   TablesFilesResourceApi get files => new TablesFilesResourceApi(_requester);
   TablesParentsResourceApi get parents => new TablesParentsResourceApi(_requester);
+  TablesPermissionsResourceApi get permissions => new TablesPermissionsResourceApi(_requester);
 
   TablesResourceApi(common_internal.ApiRequester client) : 
       _requester = client;
@@ -3666,6 +4301,149 @@
 }
 
 
+/** Not documented yet. */
+class TablesPermissionsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  TablesPermissionsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Remove permission entries from an already existing asset.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset from which permissions will be removed.
+   *
+   * Completes with a [PermissionsBatchDeleteResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data));
+  }
+
+  /**
+   * Add or update permission entries to an already existing asset.
+   *
+   * An asset can hold up to 20 different permission entries. Each batchInsert
+   * request is atomic.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset to which permissions will be added.
+   *
+   * Completes with a [PermissionsBatchUpdateResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data));
+  }
+
+  /**
+   * Return all of the permissions for the specified asset.
+   *
+   * Request parameters:
+   *
+   * [id] - The ID of the asset whose permissions will be listed.
+   *
+   * Completes with a [PermissionsListResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<PermissionsListResponse> list(core.String id) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (id == null) {
+      throw new core.ArgumentError("Parameter id is required.");
+    }
+
+
+    _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions';
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new PermissionsListResponse.fromJson(data));
+  }
+
+}
+
+
 
 /** Acquisition time represents acquired time of a raster. */
 class AcquisitionTime {
@@ -3735,7 +4513,8 @@
 class Asset {
   /**
    * A rectangular bounding box which contains all of the data in this asset.
-   * The numbers represent latitude and longitude in decimal degrees.
+   * The box is expressed as \"west, south, east, north\". The numbers represent
+   * latitude and longitude in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -3745,6 +4524,12 @@
    */
   core.DateTime creationTime;
 
+  /**
+   * The email address of the creator of this asset. This is only returned on
+   * GET requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
   /** The asset's description. */
   core.String description;
 
@@ -3760,6 +4545,12 @@
    */
   core.DateTime lastModifiedTime;
 
+  /**
+   * The email address of the last modifier of this asset. This is only returned
+   * on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
   /** The asset's name. */
   core.String name;
 
@@ -3790,6 +4581,9 @@
    */
   core.String type;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   Asset();
 
@@ -3800,6 +4594,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
@@ -3812,6 +4609,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
@@ -3827,6 +4627,9 @@
     if (_json.containsKey("type")) {
       type = _json["type"];
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -3837,6 +4640,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (description != null) {
       _json["description"] = description;
     }
@@ -3849,6 +4655,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (name != null) {
       _json["name"] = name;
     }
@@ -3864,6 +4673,9 @@
     if (type != null) {
       _json["type"] = type;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
@@ -4222,7 +5034,7 @@
   /**
    * If true, the server will normalize feature geometries. It is assumed that
    * the South Pole is exterior to any polygons given. See here for a list of
-   * normalizations. If false, the all feature geometries must be given already
+   * normalizations. If false, all feature geometries must be given already
    * normalized. The points in all LinearRings must be listed in
    * counter-clockwise order, and LinearRings may not intersect.
    */
@@ -4261,7 +5073,7 @@
   /**
    * If true, the server will normalize feature geometries. It is assumed that
    * the South Pole is exterior to any polygons given. See here for a list of
-   * normalizations. If false, the all feature geometries must be given already
+   * normalizations. If false, all feature geometries must be given already
    * normalized. The points in all LinearRings must be listed in
    * counter-clockwise order, and LinearRings may not intersect.
    */
@@ -4707,11 +5519,11 @@
 /** Not documented yet. */
 class GeoJsonPolygon  extends GeoJsonGeometry {
   /**
-   * An array of LinearRings, each of which is an array of four or more
-   * GeoJsonPositions. The first and last coordinates in each LinearRing must be
-   * the same. For polygons with multiple rings, the first LinearRing is the
-   * external ring, with subsequent rings being interior rings (i.e. hole). All
-   * LinearRings must contain GeoJsonPositions in counter-clockwise order.
+   * An array of LinearRings. A LinearRing is a GeoJsonLineString which is
+   * closed (that is, the first and last GeoJsonPositions are equal), and which
+   * contains at least four GeoJsonPositions. For polygons with multiple rings,
+   * the first LinearRing is the exterior ring, and any subsequent rings are
+   * interior rings (that is, holes).
    */
   core.List<core.List<GeoJsonPosition>> coordinates;
 
@@ -5082,7 +5894,8 @@
 class Layer {
   /**
    * A rectangular bounding box which contains all of the data in this Layer.
-   * The numbers represent latitude and longitude in decimal degrees.
+   * The box is expressed as \"west, south, east, north\". The numbers represent
+   * latitude and longitude in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -5093,6 +5906,12 @@
   core.DateTime creationTime;
 
   /**
+   * The email address of the creator of this layer. This is only returned on
+   * GET requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
+  /**
    * Deprecated: The type of the datasources used to build this Layer. Note:
    * This has been replaced by layerType, but is still available for now to
    * maintain backward compatibility.
@@ -5103,7 +5922,7 @@
   core.String datasourceType;
 
   /**
-   * An array of datasources used to build this Layer. If layerType is "image",
+   * An array of datasources used to build this layer. If layerType is "image",
    * or layerType is not specified and datasourceType is "image", then each
    * element in this array is a reference to an Image or RasterCollection. If
    * layerType is "vector", or layerType is not specified and datasourceType is
@@ -5117,17 +5936,13 @@
   /**
    * Deprecated: The name of an access list of the Map Editor type. The user on
    * whose behalf the request is being sent must be an editor on that access
-   * list. Note: Google Maps Engine no longer uses access lists. For backward
-   * compatibility, the API still accepts access lists for projects that are
-   * already using access lists. If you created a GME account/project after July
-   * 14th, 2014, you will not be able to send API requests that include access
-   * lists. The API does not yet support the new permissions model. When you
-   * create a map via the API without specifying permissions, the account that
-   * created the map is the owner and has effective administrator access. Users
-   * can then use the Maps Engine user interface to adjust the permissions. This
-   * is a temporary workaround until the API supports the new permissions model.
-   * Read Add new users and groups in the Google Maps Engine help center for
-   * more information.
+   * list. Note: Google Maps Engine no longer uses access lists. Instead, each
+   * asset has its own list of permissions. For backward compatibility, the API
+   * still accepts access lists for projects that are already using access
+   * lists. If you created a GME account/project after July 14th, 2014, you will
+   * not be able to send API requests that include access lists. Note: This is
+   * an input field only. It is not returned in response to a list or get
+   * request.
    */
   core.String draftAccessList;
 
@@ -5144,6 +5959,12 @@
   core.DateTime lastModifiedTime;
 
   /**
+   * The email address of the last modifier of this layer. This is only returned
+   * on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
+  /**
    * The type of the datasources used to build this Layer. This should be used
    * instead of datasourceType. At least one of layerType and datasourceType and
    * must be specified, but layerType takes precedence.
@@ -5173,8 +5994,13 @@
   /**
    * Deprecated: The access list to whom view permissions are granted. The value
    * must be the name of a Maps Engine access list of the Map Viewer type, and
-   * the user must be a viewer on that list. Read Share data, layers, and maps
-   * in the Google Maps Engine help center for more information.
+   * the user must be a viewer on that list. Note: Google Maps Engine no longer
+   * uses access lists. Instead, each asset has its own list of permissions. For
+   * backward compatibility, the API still accepts access lists for projects
+   * that are already using access lists. If you created a GME account/project
+   * after July 14th, 2014, you will not be able to send API requests that
+   * include access lists. Note: This is an input field only. It is not returned
+   * in response to a list or get request.
    */
   core.String publishedAccessList;
 
@@ -5186,12 +6012,20 @@
    */
   core.String publishingStatus;
 
-  /** The Styling information for a vector layer. */
+  /**
+   * The styling information for a vector layer. Note: Style information is
+   * returned in response to a get request but not a list request. After
+   * requesting a list of layers, you'll need to send a get request to retrieve
+   * the VectorStyles for each layer.
+   */
   VectorStyle style;
 
   /** Tags of this Layer. */
   Tags tags;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   Layer();
 
@@ -5202,6 +6036,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("datasourceType")) {
       datasourceType = _json["datasourceType"];
     }
@@ -5223,6 +6060,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("layerType")) {
       layerType = _json["layerType"];
     }
@@ -5247,6 +6087,9 @@
     if (_json.containsKey("tags")) {
       tags = new Tags.fromJson(_json["tags"]);
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -5257,6 +6100,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (datasourceType != null) {
       _json["datasourceType"] = datasourceType;
     }
@@ -5278,6 +6124,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (layerType != null) {
       _json["layerType"] = layerType;
     }
@@ -5302,12 +6151,20 @@
     if (tags != null) {
       _json["tags"] = tags;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
 
 
-/** The response returned by a call to layers.List. */
+/**
+ * The response returned by a call to layers.List. Note: The list response does
+ * not include all the fields available in a layer. Refer to the layer resource
+ * description for details of the fields that are not included. You'll need to
+ * send a get request to retrieve the additional fields for each layer.
+ */
 class LayersListResponse {
   /** Resources returned. */
   core.List<Layer> layers;
@@ -5453,7 +6310,8 @@
 class Map {
   /**
    * A rectangular bounding box which contains all of the data in this Map. The
-   * numbers represent latitude and longitude in decimal degrees.
+   * box is expressed as \"west, south, east, north\". The numbers represent
+   * latitude and longitude in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -5467,6 +6325,12 @@
   core.DateTime creationTime;
 
   /**
+   * The email address of the creator of this map. This is only returned on GET
+   * requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
+  /**
    * An array of four numbers (west, south, east, north) which defines the
    * rectangular bounding box of the default viewport. The numbers represent
    * latitude and longitude in decimal degrees.
@@ -5479,17 +6343,13 @@
   /**
    * Deprecated: The name of an access list of the Map Editor type. The user on
    * whose behalf the request is being sent must be an editor on that access
-   * list. Note: Google Maps Engine no longer uses access lists. For backward
-   * compatibility, the API still accepts access lists for projects that are
-   * already using access lists. If you created a GME account/project after July
-   * 14th, 2014, you will not be able to send API requests that include access
-   * lists. The API does not yet support the new permissions model. When you
-   * create a map via the API without specifying permissions, the account that
-   * created the map is the owner and has effective administrator access. Users
-   * can then use the Maps Engine user interface to adjust the permissions. This
-   * is a temporary workaround until the API supports the new permissions model.
-   * Read Add new users and groups in the Google Maps Engine help center for
-   * more information.
+   * list. Note: Google Maps Engine no longer uses access lists. Instead, each
+   * asset has its own list of permissions. For backward compatibility, the API
+   * still accepts access lists for projects that are already using access
+   * lists. If you created a GME account/project after July 14th, 2014, you will
+   * not be able to send API requests that include access lists. Note: This is
+   * an input field only. It is not returned in response to a list or get
+   * request.
    */
   core.String draftAccessList;
 
@@ -5505,6 +6365,12 @@
    */
   core.DateTime lastModifiedTime;
 
+  /**
+   * The email address of the last modifier of this map. This is only returned
+   * on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
   /** The name of this Map, supplied by the author. */
   core.String name;
 
@@ -5526,8 +6392,13 @@
   /**
    * Deprecated: The access list to whom view permissions are granted. The value
    * must be the name of a Maps Engine access list of the Map Viewer type, and
-   * the user must be a viewer on that list. Read Share data, layers, and maps
-   * in the Google Maps Engine help center for more information.
+   * the user must be a viewer on that list. Note: Google Maps Engine no longer
+   * uses access lists. Instead, each asset has its own list of permissions. For
+   * backward compatibility, the API still accepts access lists for projects
+   * that are already using access lists. If you created a GME account/project
+   * after July 14th, 2014, you will not be able to send API requests that
+   * include access lists. This is an input field only. It is not returned in
+   * response to a list or get request.
    */
   core.String publishedAccessList;
 
@@ -5549,6 +6420,9 @@
    */
   core.List<core.String> versions;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   Map();
 
@@ -5562,6 +6436,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("defaultViewport")) {
       defaultViewport = new LatLngBox.fromJson(_json["defaultViewport"]);
     }
@@ -5580,6 +6457,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
@@ -5601,6 +6481,9 @@
     if (_json.containsKey("versions")) {
       versions = _json["versions"];
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -5614,6 +6497,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (defaultViewport != null) {
       _json["defaultViewport"] = defaultViewport;
     }
@@ -5632,6 +6518,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (name != null) {
       _json["name"] = name;
     }
@@ -5653,6 +6542,9 @@
     if (versions != null) {
       _json["versions"] = versions;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
@@ -6043,6 +6935,187 @@
 }
 
 
+/**
+ * A permission defines the user or group that has access to an asset, and the
+ * type of access they have.
+ */
+class Permission {
+  /**
+   * Indicates whether a public asset is listed and can be found via a web
+   * search (value true), or is visible only to people who have a link to the
+   * asset (value false).
+   */
+  core.bool discoverable;
+
+  /**
+   * The unique identifier of the permission. This could be the email address of
+   * the user or group this permission refers to, or the string "anyone" for
+   * public permissions.
+   */
+  core.String id;
+
+  /**
+   * The type of access granted to this user or group.
+   * Possible string values are:
+   * - "owner"
+   * - "reader"
+   * - "viewer"
+   * - "writer"
+   */
+  core.String role;
+
+  /**
+   * The account type.
+   * Possible string values are:
+   * - "anyone"
+   * - "group"
+   * - "user"
+   */
+  core.String type;
+
+
+  Permission();
+
+  Permission.fromJson(core.Map _json) {
+    if (_json.containsKey("discoverable")) {
+      discoverable = _json["discoverable"];
+    }
+    if (_json.containsKey("id")) {
+      id = _json["id"];
+    }
+    if (_json.containsKey("role")) {
+      role = _json["role"];
+    }
+    if (_json.containsKey("type")) {
+      type = _json["type"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (discoverable != null) {
+      _json["discoverable"] = discoverable;
+    }
+    if (id != null) {
+      _json["id"] = id;
+    }
+    if (role != null) {
+      _json["role"] = role;
+    }
+    if (type != null) {
+      _json["type"] = type;
+    }
+    return _json;
+  }
+}
+
+
+/** The request sent to mapsengine.permissions.batchDelete. */
+class PermissionsBatchDeleteRequest {
+  /**
+   * An array of permission ids to be removed. This could be the email address
+   * of the user or group this permission refers to, or the string "anyone" for
+   * public permissions.
+   */
+  core.List<core.String> ids;
+
+
+  PermissionsBatchDeleteRequest();
+
+  PermissionsBatchDeleteRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("ids")) {
+      ids = _json["ids"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (ids != null) {
+      _json["ids"] = ids;
+    }
+    return _json;
+  }
+}
+
+
+/** The response returned by a call to mapsengine.permissions.batchDelete. */
+class PermissionsBatchDeleteResponse {
+
+  PermissionsBatchDeleteResponse();
+
+  PermissionsBatchDeleteResponse.fromJson(core.Map _json) {
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    return _json;
+  }
+}
+
+
+/** The request sent to mapsengine.permissions.batchUpdate. */
+class PermissionsBatchUpdateRequest {
+  /** The permissions to be inserted or updated. */
+  core.List<Permission> permissions;
+
+
+  PermissionsBatchUpdateRequest();
+
+  PermissionsBatchUpdateRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("permissions")) {
+      permissions = _json["permissions"].map((value) => new Permission.fromJson(value)).toList();
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (permissions != null) {
+      _json["permissions"] = permissions.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+
+/** The response returned by a call to mapsengine.permissions.batchUpdate. */
+class PermissionsBatchUpdateResponse {
+
+  PermissionsBatchUpdateResponse();
+
+  PermissionsBatchUpdateResponse.fromJson(core.Map _json) {
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    return _json;
+  }
+}
+
+
+/** Not documented yet. */
+class PermissionsListResponse {
+  /** The set of permissions associated with this asset. */
+  core.List<Permission> permissions;
+
+
+  PermissionsListResponse();
+
+  PermissionsListResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("permissions")) {
+      permissions = _json["permissions"].map((value) => new Permission.fromJson(value)).toList();
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (permissions != null) {
+      _json["permissions"] = permissions.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+
 /** Style for points. */
 class PointStyle {
   /**
@@ -6207,9 +7280,6 @@
   /** The description of this Layer, supplied by the author. */
   core.String description;
 
-  /** The ETag, used to refer to the current version of the asset. */
-  core.String etag;
-
   /** A globally unique ID, used to refer to this Layer. */
   core.String id;
 
@@ -6236,9 +7306,6 @@
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
-    if (_json.containsKey("etag")) {
-      etag = _json["etag"];
-    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -6258,9 +7325,6 @@
     if (description != null) {
       _json["description"] = description;
     }
-    if (etag != null) {
-      _json["etag"] = etag;
-    }
     if (id != null) {
       _json["id"] = id;
     }
@@ -6334,9 +7398,6 @@
   /** The description of this Map, supplied by the author. */
   core.String description;
 
-  /** The ETag, used to refer to the current version of the asset. */
-  core.String etag;
-
   /** A globally unique ID, used to refer to this Map. */
   core.String id;
 
@@ -6359,9 +7420,6 @@
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
-    if (_json.containsKey("etag")) {
-      etag = _json["etag"];
-    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -6384,9 +7442,6 @@
     if (description != null) {
       _json["description"] = description;
     }
-    if (etag != null) {
-      _json["etag"] = etag;
-    }
     if (id != null) {
       _json["id"] = id;
     }
@@ -6452,7 +7507,8 @@
 
   /**
    * A rectangular bounding box which contains all of the data in this Raster.
-   * The numbers represent latitude and longitude in decimal degrees.
+   * The box is expressed as \"west, south, east, north\". The numbers represent
+   * latitudes and longitudes in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -6462,23 +7518,25 @@
    */
   core.DateTime creationTime;
 
+  /**
+   * The email address of the creator of this raster. This is only returned on
+   * GET requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
   /** The description of this Raster, supplied by the author. */
   core.String description;
 
   /**
    * Deprecated: The name of an access list of the Map Editor type. The user on
    * whose behalf the request is being sent must be an editor on that access
-   * list. Note: Google Maps Engine no longer uses access lists. For backward
-   * compatibility, the API still accepts access lists for projects that are
-   * already using access lists. If you created a GME account/project after July
-   * 14th, 2014, you will not be able to send API requests that include access
-   * lists. The API does not yet support the new permissions model. When you
-   * create a map via the API without specifying permissions, the account that
-   * created the map is the owner and has effective administrator access. Users
-   * can then use the Maps Engine user interface to adjust the permissions. This
-   * is a temporary workaround until the API supports the new permissions model.
-   * Read Add new users and groups in the Google Maps Engine help center for
-   * more information.
+   * list. Note: Google Maps Engine no longer uses access lists. Instead, each
+   * asset has its own list of permissions. For backward compatibility, the API
+   * still accepts access lists for projects that are already using access
+   * lists. If you created a GME account/project after July 14th, 2014, you will
+   * not be able to send API requests that include access lists. Note: This is
+   * an input field only. It is not returned in response to a list or get
+   * request.
    */
   core.String draftAccessList;
 
@@ -6497,6 +7555,12 @@
    */
   core.DateTime lastModifiedTime;
 
+  /**
+   * The email address of the last modifier of this raster. This is only
+   * returned on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
   /** The mask processing type of this Raster. */
   core.String maskType;
 
@@ -6527,6 +7591,9 @@
   /** Tags of this Raster. */
   Tags tags;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   Raster();
 
@@ -6543,6 +7610,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
@@ -6561,6 +7631,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("maskType")) {
       maskType = _json["maskType"];
     }
@@ -6579,6 +7652,9 @@
     if (_json.containsKey("tags")) {
       tags = new Tags.fromJson(_json["tags"]);
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -6595,6 +7671,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (description != null) {
       _json["description"] = description;
     }
@@ -6613,6 +7692,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (maskType != null) {
       _json["maskType"] = maskType;
     }
@@ -6631,6 +7713,9 @@
     if (tags != null) {
       _json["tags"] = tags;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
@@ -6641,13 +7726,18 @@
  * Layer.
  */
 class RasterCollection {
-  /** The name of the attribution to be used for this RasterCollection. */
+  /**
+   * The name of the attribution to be used for this RasterCollection. Note:
+   * Attribution is returned in response to a get request but not a list
+   * request. After requesting a list of raster collections, you'll need to send
+   * a get request to retrieve the attribution for each raster collection.
+   */
   core.String attribution;
 
   /**
    * A rectangular bounding box which contains all of the data in this
-   * RasterCollection. The numbers represent latitude and longitude in decimal
-   * degrees.
+   * RasterCollection. The box is expressed as \"west, south, east, north\". The
+   * numbers represent latitude and longitude in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -6657,23 +7747,25 @@
    */
   core.DateTime creationTime;
 
+  /**
+   * The email address of the creator of this raster collection. This is only
+   * returned on GET requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
   /** The description of this RasterCollection, supplied by the author. */
   core.String description;
 
   /**
    * Deprecated: The name of an access list of the Map Editor type. The user on
    * whose behalf the request is being sent must be an editor on that access
-   * list. Note: Google Maps Engine no longer uses access lists. For backward
-   * compatibility, the API still accepts access lists for projects that are
-   * already using access lists. If you created a GME account/project after July
-   * 14th, 2014, you will not be able to send API requests that include access
-   * lists. The API does not yet support the new permissions model. When you
-   * create a map via the API without specifying permissions, the account that
-   * created the map is the owner and has effective administrator access. Users
-   * can then use the Maps Engine user interface to adjust the permissions. This
-   * is a temporary workaround until the API supports the new permissions model.
-   * Read Add new users and groups in the Google Maps Engine help center for
-   * more information.
+   * list. Note: Google Maps Engine no longer uses access lists. Instead, each
+   * asset has its own list of permissions. For backward compatibility, the API
+   * still accepts access lists for projects that are already using access
+   * lists. If you created a GME account/project after July 14th, 2014, you will
+   * not be able to send API requests that include access lists. Note: This is
+   * an input field only. It is not returned in response to a list or get
+   * request.
    */
   core.String draftAccessList;
 
@@ -6689,6 +7781,12 @@
    */
   core.DateTime lastModifiedTime;
 
+  /**
+   * The email address of the last modifier of this raster collection. This is
+   * only returned on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
   /** True if this RasterCollection is a mosaic. */
   core.bool mosaic;
 
@@ -6719,6 +7817,9 @@
   /** Tags of this RasterCollection. */
   Tags tags;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   RasterCollection();
 
@@ -6732,6 +7833,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
@@ -6747,6 +7851,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("mosaic")) {
       mosaic = _json["mosaic"];
     }
@@ -6765,6 +7872,9 @@
     if (_json.containsKey("tags")) {
       tags = new Tags.fromJson(_json["tags"]);
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -6778,6 +7888,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (description != null) {
       _json["description"] = description;
     }
@@ -6793,6 +7906,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (mosaic != null) {
       _json["mosaic"] = mosaic;
     }
@@ -6811,12 +7927,21 @@
     if (tags != null) {
       _json["tags"] = tags;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
 
 
-/** The response returned by a call to raster_collections.List. */
+/**
+ * The response returned by a call to raster_collections.List. Note: The list
+ * response does not include all the fields available in a raster collection.
+ * Refer to the RasterCollection resource description for details of the fields
+ * that are not included. You'll need to send a get request to retrieve the
+ * additional fields for each raster collection.
+ */
 class RasterCollectionsListResponse {
   /** Next page token. */
   core.String nextPageToken;
@@ -6861,7 +7986,8 @@
 class RasterCollectionsRaster {
   /**
    * A rectangular bounding box which contains all of the data in this Raster.
-   * The numbers represent latitude and longitude in decimal degrees.
+   * The box is expressed as \"west, south, east, north\". The numbers represent
+   * latitudes and longitudes in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -7316,8 +8442,9 @@
 /** A collection of geographic features, and associated metadata. */
 class Table {
   /**
-   * A rectangular bounding box which contains all of the data in this table.
-   * The numbers represent latitude and longitude in decimal degrees.
+   * A rectangular bounding box which contains all of the data in this Table.
+   * The box is expressed as \"west, south, east, north\". The numbers represent
+   * latitude and longitude in decimal degrees.
    */
   core.List<core.double> bbox;
 
@@ -7327,23 +8454,25 @@
    */
   core.DateTime creationTime;
 
+  /**
+   * The email address of the creator of this table. This is only returned on
+   * GET requests and not LIST requests.
+   */
+  core.String creatorEmail;
+
   /** The description of this table, supplied by the author. */
   core.String description;
 
   /**
    * Deprecated: The name of an access list of the Map Editor type. The user on
    * whose behalf the request is being sent must be an editor on that access
-   * list. Note: Google Maps Engine no longer uses access lists. For backward
-   * compatibility, the API still accepts access lists for projects that are
-   * already using access lists. If you created a GME account/project after July
-   * 14th, 2014, you will not be able to send API requests that include access
-   * lists. The API does not yet support the new permissions model. When you
-   * create a map via the API without specifying permissions, the account that
-   * created the map is the owner and has effective administrator access. Users
-   * can then use the Maps Engine user interface to adjust the permissions. This
-   * is a temporary workaround until the API supports the new permissions model.
-   * Read Add new users and groups in the Google Maps Engine help center for
-   * more information.
+   * list. Note: Google Maps Engine no longer uses access lists. Instead, each
+   * asset has its own list of permissions. For backward compatibility, the API
+   * still accepts access lists for projects that are already using access
+   * lists. If you created a GME account/project after July 14th, 2014, you will
+   * not be able to send API requests that include access lists. Note: This is
+   * an input field only. It is not returned in response to a list or get
+   * request.
    */
   core.String draftAccessList;
 
@@ -7362,6 +8491,12 @@
    */
   core.DateTime lastModifiedTime;
 
+  /**
+   * The email address of the last modifier of this table. This is only returned
+   * on GET requests and not LIST requests.
+   */
+  core.String lastModifierEmail;
+
   /** The name of this table, supplied by the author. */
   core.String name;
 
@@ -7382,12 +8517,21 @@
   /**
    * Deprecated: The access list to whom view permissions are granted. The value
    * must be the name of a Maps Engine access list of the Map Viewer type, and
-   * the user must be a viewer on that list. Read Share data, layers, and maps
-   * in the Google Maps Engine help center for more information.
+   * the user must be a viewer on that list. Note: Google Maps Engine no longer
+   * uses access lists. Instead, each asset has its own list of permissions. For
+   * backward compatibility, the API still accepts access lists for projects
+   * that are already using access lists. If you created a GME account/project
+   * after July 14th, 2014, you will not be able to send API requests that
+   * include access lists. Note: This is an input field only. It is not returned
+   * in response to a list or get request.
    */
   core.String publishedAccessList;
 
-  /** The schema for this table. */
+  /**
+   * The schema for this table. Note: The schema is returned in response to a
+   * get request but not a list request. After requesting a list of tables,
+   * you'll need to send a get request to retrieve the schema for each table.
+   */
   Schema schema;
 
   /**
@@ -7403,6 +8547,9 @@
    */
   Tags tags;
 
+  /** If true, WRITERs of the asset are able to edit the asset permissions. */
+  core.bool writersCanEditPermissions;
+
 
   Table();
 
@@ -7413,6 +8560,9 @@
     if (_json.containsKey("creationTime")) {
       creationTime = core.DateTime.parse(_json["creationTime"]);
     }
+    if (_json.containsKey("creatorEmail")) {
+      creatorEmail = _json["creatorEmail"];
+    }
     if (_json.containsKey("description")) {
       description = _json["description"];
     }
@@ -7431,6 +8581,9 @@
     if (_json.containsKey("lastModifiedTime")) {
       lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]);
     }
+    if (_json.containsKey("lastModifierEmail")) {
+      lastModifierEmail = _json["lastModifierEmail"];
+    }
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
@@ -7452,6 +8605,9 @@
     if (_json.containsKey("tags")) {
       tags = new Tags.fromJson(_json["tags"]);
     }
+    if (_json.containsKey("writersCanEditPermissions")) {
+      writersCanEditPermissions = _json["writersCanEditPermissions"];
+    }
   }
 
   core.Map toJson() {
@@ -7462,6 +8618,9 @@
     if (creationTime != null) {
       _json["creationTime"] = (creationTime).toIso8601String();
     }
+    if (creatorEmail != null) {
+      _json["creatorEmail"] = creatorEmail;
+    }
     if (description != null) {
       _json["description"] = description;
     }
@@ -7480,6 +8639,9 @@
     if (lastModifiedTime != null) {
       _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String();
     }
+    if (lastModifierEmail != null) {
+      _json["lastModifierEmail"] = lastModifierEmail;
+    }
     if (name != null) {
       _json["name"] = name;
     }
@@ -7501,6 +8663,9 @@
     if (tags != null) {
       _json["tags"] = tags;
     }
+    if (writersCanEditPermissions != null) {
+      _json["writersCanEditPermissions"] = writersCanEditPermissions;
+    }
     return _json;
   }
 }
@@ -7550,7 +8715,12 @@
 }
 
 
-/** The response returned by a call to tables.List. */
+/**
+ * The response returned by a call to tables.List. Note: The list response does
+ * not include all the fields available in a table. Refer to the table resource
+ * description for details of the fields that are not included. You'll need to
+ * send a get request to retrieve the additional fields for each table.
+ */
 class TablesListResponse {
   /** Next page token. */
   core.String nextPageToken;
diff --git a/generated/googleapis/lib/mirror/v1.dart b/generated/googleapis/lib/mirror/v1.dart
index 9212fb6..81e7a79 100644
--- a/generated/googleapis/lib/mirror/v1.dart
+++ b/generated/googleapis/lib/mirror/v1.dart
@@ -32,7 +32,7 @@
   TimelineResourceApi get timeline => new TimelineResourceApi(_requester);
 
   MirrorApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/mirror/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "mirror/v1/");
 }
 
 
@@ -1776,6 +1776,16 @@
   core.String action;
 
   /**
+   * The ContextualMenus.Command associated with this MenuItem (e.g.
+   * READ_ALOUD). The voice label for this command will be displayed in the
+   * voice menu and the touch label will be displayed in the touch menu. Note
+   * that the default menu value's display name will be overriden if you specify
+   * this property. Values that do not correspond to a ContextualMenus.Command
+   * name will be ignored.
+   */
+  core.String contextualCommand;
+
+  /**
    * The ID for this menu item. This is generated by the application and is
    * treated as an opaque token.
    */
@@ -1813,6 +1823,9 @@
     if (_json.containsKey("action")) {
       action = _json["action"];
     }
+    if (_json.containsKey("contextual_command")) {
+      contextualCommand = _json["contextual_command"];
+    }
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
@@ -1832,6 +1845,9 @@
     if (action != null) {
       _json["action"] = action;
     }
+    if (contextualCommand != null) {
+      _json["contextual_command"] = contextualCommand;
+    }
     if (id != null) {
       _json["id"] = id;
     }
diff --git a/generated/googleapis/lib/oauth2/v2.dart b/generated/googleapis/lib/oauth2/v2.dart
index 57c8adf..4b352a1 100644
--- a/generated/googleapis/lib/oauth2/v2.dart
+++ b/generated/googleapis/lib/oauth2/v2.dart
@@ -33,7 +33,7 @@
   UserinfoResourceApi get userinfo => new UserinfoResourceApi(_requester);
 
   Oauth2Api(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "");
 
   /**
    * Not documented yet.
diff --git a/generated/googleapis/lib/orkut/v2.dart b/generated/googleapis/lib/orkut/v2.dart
index f99d6c4..0936a14 100644
--- a/generated/googleapis/lib/orkut/v2.dart
+++ b/generated/googleapis/lib/orkut/v2.dart
@@ -45,7 +45,7 @@
   ScrapsResourceApi get scraps => new ScrapsResourceApi(_requester);
 
   OrkutApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/orkut/v2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "orkut/v2/");
 }
 
 
diff --git a/generated/googleapis/lib/pagespeedonline/v1.dart b/generated/googleapis/lib/pagespeedonline/v1.dart
index d690526..3e4f397 100644
--- a/generated/googleapis/lib/pagespeedonline/v1.dart
+++ b/generated/googleapis/lib/pagespeedonline/v1.dart
@@ -24,7 +24,7 @@
   PagespeedapiResourceApi get pagespeedapi => new PagespeedapiResourceApi(_requester);
 
   PagespeedonlineApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/pagespeedonline/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "pagespeedonline/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/plus/v1.dart b/generated/googleapis/lib/plus/v1.dart
index 8e1c018..3220c43 100644
--- a/generated/googleapis/lib/plus/v1.dart
+++ b/generated/googleapis/lib/plus/v1.dart
@@ -38,7 +38,7 @@
   PeopleResourceApi get people => new PeopleResourceApi(_requester);
 
   PlusApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/plus/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "plus/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/plusdomains/v1.dart b/generated/googleapis/lib/plusdomains/v1.dart
index 4b9ad58..8f5b6a0 100644
--- a/generated/googleapis/lib/plusdomains/v1.dart
+++ b/generated/googleapis/lib/plusdomains/v1.dart
@@ -62,7 +62,7 @@
   PeopleResourceApi get people => new PeopleResourceApi(_requester);
 
   PlusDomainsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/plusDomains/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "plusDomains/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/prediction/v1_6.dart b/generated/googleapis/lib/prediction/v1_6.dart
index fd148d8..f53d16e 100644
--- a/generated/googleapis/lib/prediction/v1_6.dart
+++ b/generated/googleapis/lib/prediction/v1_6.dart
@@ -37,7 +37,7 @@
   TrainedmodelsResourceApi get trainedmodels => new TrainedmodelsResourceApi(_requester);
 
   PredictionApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/prediction/v1.6/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "prediction/v1.6/projects/");
 }
 
 
@@ -1365,7 +1365,7 @@
   core.List<OutputOutputMulti> outputMulti;
 
   /** The estimated regression value (Regression models only). */
-  core.double outputValue;
+  core.String outputValue;
 
   /** A URL to re-request this resource. */
   core.String selfLink;
diff --git a/generated/googleapis/lib/qpxexpress/v1.dart b/generated/googleapis/lib/qpxexpress/v1.dart
index 9f0f701..ff4a39a 100644
--- a/generated/googleapis/lib/qpxexpress/v1.dart
+++ b/generated/googleapis/lib/qpxexpress/v1.dart
@@ -24,7 +24,7 @@
   TripsResourceApi get trips => new TripsResourceApi(_requester);
 
   QpxExpressApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/qpxExpress/v1/trips/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "qpxExpress/v1/trips/");
 }
 
 
diff --git a/generated/googleapis/lib/reseller/v1.dart b/generated/googleapis/lib/reseller/v1.dart
index 117400f..316cf25 100644
--- a/generated/googleapis/lib/reseller/v1.dart
+++ b/generated/googleapis/lib/reseller/v1.dart
@@ -28,7 +28,7 @@
   SubscriptionsResourceApi get subscriptions => new SubscriptionsResourceApi(_requester);
 
   ResellerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/apps/reseller/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "apps/reseller/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/siteverification/v1.dart b/generated/googleapis/lib/siteverification/v1.dart
index bda5a8e..1b0bff2 100644
--- a/generated/googleapis/lib/siteverification/v1.dart
+++ b/generated/googleapis/lib/siteverification/v1.dart
@@ -29,7 +29,7 @@
   WebResourceResourceApi get webResource => new WebResourceResourceApi(_requester);
 
   SiteVerificationApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/siteVerification/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "siteVerification/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/src/common_internal.dart b/generated/googleapis/lib/src/common_internal.dart
index 9549d7f..2b60eb2 100644
--- a/generated/googleapis/lib/src/common_internal.dart
+++ b/generated/googleapis/lib/src/common_internal.dart
@@ -9,7 +9,7 @@
 import "package:http/http.dart" as http;
 
 const String USER_AGENT_STRING =
-    'google-api-dart-client googleapis/0.1.1';
+    'google-api-dart-client googleapis/0.2.0';
 
 const CONTENT_TYPE_JSON_UTF8 = 'application/json; charset=utf-8';
 
@@ -152,7 +152,7 @@
     if (requestUrl.startsWith('/')) {
       path ="$_rootUrl${requestUrl.substring(1)}";
     } else {
-      path ="$_rootUrl${_basePath.substring(1)}$requestUrl";
+      path ="$_rootUrl${_basePath}$requestUrl";
     }
 
     bool containsQueryParameter = path.contains('?');
@@ -430,12 +430,19 @@
 
         // Upload all but the last chunk.
         // The final send will be done in the [onDone] handler.
-        if (chunkStack.length > 1) {
+        bool hasPartialChunk = chunkStack.hasPartialChunk;
+        if (chunkStack.length > 1 ||
+            (chunkStack.length == 1 && hasPartialChunk)) {
           // Pause the input stream.
           subscription.pause();
 
           // Upload all chunks except the last one.
-          var fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1);
+          var fullChunks;
+          if (hasPartialChunk) {
+            fullChunks = chunkStack.removeSublist(0, chunkStack.length);
+          } else {
+            fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1);
+          }
           Future.forEach(fullChunks,
                          (c) => _uploadChunkDrained(uploadUri, c)).then((_) {
             // All chunks uploaded, we can continue consuming data.
@@ -457,11 +464,13 @@
           chunkStack.finalize();
 
           var lastChunk;
-          if (chunkStack.totalByteLength > 0) {
-            assert(chunkStack.length == 1);
+          if (chunkStack.length == 1) {
             lastChunk = chunkStack.removeSublist(0, chunkStack.length).first;
           } else {
-            lastChunk = new ResumableChunk([], 0, 0);
+            completer.completeError(new StateError(
+                'Resumable uploads need to result in at least one non-empty '
+                'chunk at the end.'));
+            return;
           }
           var end = lastChunk.endOfChunk;
 
@@ -654,16 +663,34 @@
   // Currently accumulated data.
   List<List<int>> _byteArrays = [];
   int _length = 0;
-  int _totalLength = 0;
   int _offset = 0;
 
   bool _finalized = false;
 
   ChunkStack(this._chunkSize);
 
+  /**
+   * Whether data for a not-yet-finished [ResumableChunk] is present. A call to
+   * `finalize` will create a [ResumableChunk] of this data.
+   */
+  bool get hasPartialChunk => _length > 0;
+
+  /**
+   * The number of chunks in this [ChunkStack].
+   */
   int get length => _chunkStack.length;
 
-  int get totalByteLength => _offset;
+  /**
+   * The total number of bytes which have been converted to [ResumableChunk]s.
+   * Can only be called once this [ChunkStack] has been finalized.
+   */
+  int get totalByteLength {
+    if (!_finalized) {
+      throw new StateError('ChunkStack has not been finalized yet.');
+    }
+
+    return _offset;
+  }
 
   /**
    * Returns the chunks [from] ... [to] and deletes it from the stack.
diff --git a/generated/googleapis/lib/storage/v1.dart b/generated/googleapis/lib/storage/v1.dart
index 50d312b..a9fe572 100644
--- a/generated/googleapis/lib/storage/v1.dart
+++ b/generated/googleapis/lib/storage/v1.dart
@@ -35,7 +35,7 @@
   ObjectsResourceApi get objects => new ObjectsResourceApi(_requester);
 
   StorageApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/storage/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "storage/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/tasks/v1.dart b/generated/googleapis/lib/tasks/v1.dart
index 006d18d..47807f9 100644
--- a/generated/googleapis/lib/tasks/v1.dart
+++ b/generated/googleapis/lib/tasks/v1.dart
@@ -28,7 +28,7 @@
   TasksResourceApi get tasks => new TasksResourceApi(_requester);
 
   TasksApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/tasks/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "tasks/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/translate/v2.dart b/generated/googleapis/lib/translate/v2.dart
index 03f2b19..fa6e34b 100644
--- a/generated/googleapis/lib/translate/v2.dart
+++ b/generated/googleapis/lib/translate/v2.dart
@@ -23,7 +23,7 @@
   TranslationsResourceApi get translations => new TranslationsResourceApi(_requester);
 
   TranslateApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/language/translate/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "language/translate/");
 }
 
 
diff --git a/generated/googleapis/lib/urlshortener/v1.dart b/generated/googleapis/lib/urlshortener/v1.dart
index bcff89b..2345c85 100644
--- a/generated/googleapis/lib/urlshortener/v1.dart
+++ b/generated/googleapis/lib/urlshortener/v1.dart
@@ -24,7 +24,7 @@
   UrlResourceApi get url => new UrlResourceApi(_requester);
 
   UrlshortenerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/urlshortener/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "urlshortener/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/webfonts/v1.dart b/generated/googleapis/lib/webfonts/v1.dart
index ce5c196..08e7bad 100644
--- a/generated/googleapis/lib/webfonts/v1.dart
+++ b/generated/googleapis/lib/webfonts/v1.dart
@@ -21,7 +21,7 @@
   WebfontsResourceApi get webfonts => new WebfontsResourceApi(_requester);
 
   WebfontsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/webfonts/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "webfonts/v1/");
 }
 
 
diff --git a/generated/googleapis/lib/youtube/v3.dart b/generated/googleapis/lib/youtube/v3.dart
index 33b6132..0f0fca2 100644
--- a/generated/googleapis/lib/youtube/v3.dart
+++ b/generated/googleapis/lib/youtube/v3.dart
@@ -55,7 +55,7 @@
   WatermarksResourceApi get watermarks => new WatermarksResourceApi(_requester);
 
   YoutubeApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/youtube/v3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "youtube/v3/");
 }
 
 
diff --git a/generated/googleapis/lib/youtubeanalytics/v1.dart b/generated/googleapis/lib/youtubeanalytics/v1.dart
index dae5e36..9cfc553 100644
--- a/generated/googleapis/lib/youtubeanalytics/v1.dart
+++ b/generated/googleapis/lib/youtubeanalytics/v1.dart
@@ -29,7 +29,7 @@
   ReportsResourceApi get reports => new ReportsResourceApi(_requester);
 
   YoutubeAnalyticsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/youtube/analytics/v1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "youtube/analytics/v1/");
 }
 
 
diff --git a/generated/googleapis/pubspec.yaml b/generated/googleapis/pubspec.yaml
index 5318b66..b8648e0 100644
--- a/generated/googleapis/pubspec.yaml
+++ b/generated/googleapis/pubspec.yaml
@@ -1,5 +1,5 @@
 name: googleapis
-version: 0.1.1
+version: 0.2.0
 author: Dart Team <misc@dartlang.org>
 description: "Auto-generated client libraries for accessing the following APIs:adexchangebuyer:v1.3, adexchangeseller:v1.1, admin:directory_v1, admin:email_migration_v2, admin:reports_v1, adsense:v1.4, adsensehost:v4.1, analytics:v3, androidpublisher:v2, appsactivity:v1, appstate:v1, bigquery:v2, blogger:v3, books:v1, calendar:v3, civicinfo:us_v1, civicinfo:v1, compute:v1, content:v2, coordinate:v1, customsearch:v1, dfareporting:v1.3, discovery:v1, doubleclickbidmanager:v1, doubleclicksearch:v2, drive:v2, freebase:v1, fusiontables:v1, games:v1, gamesManagement:v1management, gmail:v1, groupsmigration:v1, groupssettings:v1, identitytoolkit:v3, licensing:v1, mapsengine:v1, mirror:v1, oauth2:v2, orkut:v2, pagespeedonline:v1, plus:v1, plusDomains:v1, prediction:v1.6, qpxExpress:v1, reseller:v1, siteVerification:v1, storage:v1, tasks:v1, translate:v2, urlshortener:v1, webfonts:v1, youtube:v3, youtubeAnalytics:v1"
 homepage: http://www.dartlang.org
diff --git a/generated/googleapis/test/adexchangebuyer/v1_3_test.dart b/generated/googleapis/test/adexchangebuyer/v1_3_test.dart
index fb37171..ae05655 100644
--- a/generated/googleapis/test/adexchangebuyer/v1_3_test.dart
+++ b/generated/googleapis/test/adexchangebuyer/v1_3_test.dart
@@ -39,14 +39,14 @@
   buildCounterAccountBidderLocation--;
 }
 
-buildUnnamed537() {
+buildUnnamed565() {
   var o = new core.List<api.AccountBidderLocation>();
   o.add(buildAccountBidderLocation());
   o.add(buildAccountBidderLocation());
   return o;
 }
 
-checkUnnamed537(core.List<api.AccountBidderLocation> o) {
+checkUnnamed565(core.List<api.AccountBidderLocation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountBidderLocation(o[0]);
   checkAccountBidderLocation(o[1]);
@@ -57,7 +57,7 @@
   var o = new api.Account();
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
-    o.bidderLocation = buildUnnamed537();
+    o.bidderLocation = buildUnnamed565();
     o.cookieMatchingNid = "foo";
     o.cookieMatchingUrl = "foo";
     o.id = 42;
@@ -71,7 +71,7 @@
 checkAccount(api.Account o) {
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
-    checkUnnamed537(o.bidderLocation);
+    checkUnnamed565(o.bidderLocation);
     unittest.expect(o.cookieMatchingNid, unittest.equals('foo'));
     unittest.expect(o.cookieMatchingUrl, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals(42));
@@ -81,14 +81,14 @@
   buildCounterAccount--;
 }
 
-buildUnnamed538() {
+buildUnnamed566() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed538(core.List<api.Account> o) {
+checkUnnamed566(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -99,7 +99,7 @@
   var o = new api.AccountsList();
   buildCounterAccountsList++;
   if (buildCounterAccountsList < 3) {
-    o.items = buildUnnamed538();
+    o.items = buildUnnamed566();
     o.kind = "foo";
   }
   buildCounterAccountsList--;
@@ -109,20 +109,20 @@
 checkAccountsList(api.AccountsList o) {
   buildCounterAccountsList++;
   if (buildCounterAccountsList < 3) {
-    checkUnnamed538(o.items);
+    checkUnnamed566(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAccountsList--;
 }
 
-buildUnnamed539() {
+buildUnnamed567() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed539(core.List<core.String> o) {
+checkUnnamed567(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -135,7 +135,7 @@
   if (buildCounterBillingInfo < 3) {
     o.accountId = 42;
     o.accountName = "foo";
-    o.billingId = buildUnnamed539();
+    o.billingId = buildUnnamed567();
     o.kind = "foo";
   }
   buildCounterBillingInfo--;
@@ -147,20 +147,20 @@
   if (buildCounterBillingInfo < 3) {
     unittest.expect(o.accountId, unittest.equals(42));
     unittest.expect(o.accountName, unittest.equals('foo'));
-    checkUnnamed539(o.billingId);
+    checkUnnamed567(o.billingId);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBillingInfo--;
 }
 
-buildUnnamed540() {
+buildUnnamed568() {
   var o = new core.List<api.BillingInfo>();
   o.add(buildBillingInfo());
   o.add(buildBillingInfo());
   return o;
 }
 
-checkUnnamed540(core.List<api.BillingInfo> o) {
+checkUnnamed568(core.List<api.BillingInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBillingInfo(o[0]);
   checkBillingInfo(o[1]);
@@ -171,7 +171,7 @@
   var o = new api.BillingInfoList();
   buildCounterBillingInfoList++;
   if (buildCounterBillingInfoList < 3) {
-    o.items = buildUnnamed540();
+    o.items = buildUnnamed568();
     o.kind = "foo";
   }
   buildCounterBillingInfoList--;
@@ -181,59 +181,59 @@
 checkBillingInfoList(api.BillingInfoList o) {
   buildCounterBillingInfoList++;
   if (buildCounterBillingInfoList < 3) {
-    checkUnnamed540(o.items);
+    checkUnnamed568(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBillingInfoList--;
 }
 
-buildUnnamed541() {
+buildUnnamed569() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed541(core.List<core.String> o) {
+checkUnnamed569(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed542() {
+buildUnnamed570() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed542(core.List<core.int> o) {
+checkUnnamed570(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed543() {
+buildUnnamed571() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed543(core.List<core.String> o) {
+checkUnnamed571(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed544() {
+buildUnnamed572() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed544(core.List<core.String> o) {
+checkUnnamed572(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -244,7 +244,7 @@
   var o = new api.CreativeCorrections();
   buildCounterCreativeCorrections++;
   if (buildCounterCreativeCorrections < 3) {
-    o.details = buildUnnamed544();
+    o.details = buildUnnamed572();
     o.reason = "foo";
   }
   buildCounterCreativeCorrections--;
@@ -254,33 +254,33 @@
 checkCreativeCorrections(api.CreativeCorrections o) {
   buildCounterCreativeCorrections++;
   if (buildCounterCreativeCorrections < 3) {
-    checkUnnamed544(o.details);
+    checkUnnamed572(o.details);
     unittest.expect(o.reason, unittest.equals('foo'));
   }
   buildCounterCreativeCorrections--;
 }
 
-buildUnnamed545() {
+buildUnnamed573() {
   var o = new core.List<api.CreativeCorrections>();
   o.add(buildCreativeCorrections());
   o.add(buildCreativeCorrections());
   return o;
 }
 
-checkUnnamed545(core.List<api.CreativeCorrections> o) {
+checkUnnamed573(core.List<api.CreativeCorrections> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCreativeCorrections(o[0]);
   checkCreativeCorrections(o[1]);
 }
 
-buildUnnamed546() {
+buildUnnamed574() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed546(core.List<core.String> o) {
+checkUnnamed574(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -291,7 +291,7 @@
   var o = new api.CreativeDisapprovalReasons();
   buildCounterCreativeDisapprovalReasons++;
   if (buildCounterCreativeDisapprovalReasons < 3) {
-    o.details = buildUnnamed546();
+    o.details = buildUnnamed574();
     o.reason = "foo";
   }
   buildCounterCreativeDisapprovalReasons--;
@@ -301,20 +301,20 @@
 checkCreativeDisapprovalReasons(api.CreativeDisapprovalReasons o) {
   buildCounterCreativeDisapprovalReasons++;
   if (buildCounterCreativeDisapprovalReasons < 3) {
-    checkUnnamed546(o.details);
+    checkUnnamed574(o.details);
     unittest.expect(o.reason, unittest.equals('foo'));
   }
   buildCounterCreativeDisapprovalReasons--;
 }
 
-buildUnnamed547() {
+buildUnnamed575() {
   var o = new core.List<api.CreativeDisapprovalReasons>();
   o.add(buildCreativeDisapprovalReasons());
   o.add(buildCreativeDisapprovalReasons());
   return o;
 }
 
-checkUnnamed547(core.List<api.CreativeDisapprovalReasons> o) {
+checkUnnamed575(core.List<api.CreativeDisapprovalReasons> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCreativeDisapprovalReasons(o[0]);
   checkCreativeDisapprovalReasons(o[1]);
@@ -341,14 +341,14 @@
   buildCounterCreativeFilteringReasonsReasons--;
 }
 
-buildUnnamed548() {
+buildUnnamed576() {
   var o = new core.List<api.CreativeFilteringReasonsReasons>();
   o.add(buildCreativeFilteringReasonsReasons());
   o.add(buildCreativeFilteringReasonsReasons());
   return o;
 }
 
-checkUnnamed548(core.List<api.CreativeFilteringReasonsReasons> o) {
+checkUnnamed576(core.List<api.CreativeFilteringReasonsReasons> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCreativeFilteringReasonsReasons(o[0]);
   checkCreativeFilteringReasonsReasons(o[1]);
@@ -360,7 +360,7 @@
   buildCounterCreativeFilteringReasons++;
   if (buildCounterCreativeFilteringReasons < 3) {
     o.date = "foo";
-    o.reasons = buildUnnamed548();
+    o.reasons = buildUnnamed576();
   }
   buildCounterCreativeFilteringReasons--;
   return o;
@@ -370,58 +370,58 @@
   buildCounterCreativeFilteringReasons++;
   if (buildCounterCreativeFilteringReasons < 3) {
     unittest.expect(o.date, unittest.equals('foo'));
-    checkUnnamed548(o.reasons);
+    checkUnnamed576(o.reasons);
   }
   buildCounterCreativeFilteringReasons--;
 }
 
-buildUnnamed549() {
+buildUnnamed577() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed549(core.List<core.int> o) {
+checkUnnamed577(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed550() {
+buildUnnamed578() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed550(core.List<core.int> o) {
+checkUnnamed578(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed551() {
+buildUnnamed579() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed551(core.List<core.int> o) {
+checkUnnamed579(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed552() {
+buildUnnamed580() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed552(core.List<core.int> o) {
+checkUnnamed580(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
@@ -434,22 +434,22 @@
   if (buildCounterCreative < 3) {
     o.HTMLSnippet = "foo";
     o.accountId = 42;
-    o.advertiserId = buildUnnamed541();
+    o.advertiserId = buildUnnamed569();
     o.advertiserName = "foo";
     o.agencyId = "foo";
-    o.attribute = buildUnnamed542();
+    o.attribute = buildUnnamed570();
     o.buyerCreativeId = "foo";
-    o.clickThroughUrl = buildUnnamed543();
-    o.corrections = buildUnnamed545();
-    o.disapprovalReasons = buildUnnamed547();
+    o.clickThroughUrl = buildUnnamed571();
+    o.corrections = buildUnnamed573();
+    o.disapprovalReasons = buildUnnamed575();
     o.filteringReasons = buildCreativeFilteringReasons();
     o.height = 42;
     o.kind = "foo";
-    o.productCategories = buildUnnamed549();
-    o.restrictedCategories = buildUnnamed550();
-    o.sensitiveCategories = buildUnnamed551();
+    o.productCategories = buildUnnamed577();
+    o.restrictedCategories = buildUnnamed578();
+    o.sensitiveCategories = buildUnnamed579();
     o.status = "foo";
-    o.vendorType = buildUnnamed552();
+    o.vendorType = buildUnnamed580();
     o.videoURL = "foo";
     o.width = 42;
   }
@@ -462,36 +462,36 @@
   if (buildCounterCreative < 3) {
     unittest.expect(o.HTMLSnippet, unittest.equals('foo'));
     unittest.expect(o.accountId, unittest.equals(42));
-    checkUnnamed541(o.advertiserId);
+    checkUnnamed569(o.advertiserId);
     unittest.expect(o.advertiserName, unittest.equals('foo'));
     unittest.expect(o.agencyId, unittest.equals('foo'));
-    checkUnnamed542(o.attribute);
+    checkUnnamed570(o.attribute);
     unittest.expect(o.buyerCreativeId, unittest.equals('foo'));
-    checkUnnamed543(o.clickThroughUrl);
-    checkUnnamed545(o.corrections);
-    checkUnnamed547(o.disapprovalReasons);
+    checkUnnamed571(o.clickThroughUrl);
+    checkUnnamed573(o.corrections);
+    checkUnnamed575(o.disapprovalReasons);
     checkCreativeFilteringReasons(o.filteringReasons);
     unittest.expect(o.height, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed549(o.productCategories);
-    checkUnnamed550(o.restrictedCategories);
-    checkUnnamed551(o.sensitiveCategories);
+    checkUnnamed577(o.productCategories);
+    checkUnnamed578(o.restrictedCategories);
+    checkUnnamed579(o.sensitiveCategories);
     unittest.expect(o.status, unittest.equals('foo'));
-    checkUnnamed552(o.vendorType);
+    checkUnnamed580(o.vendorType);
     unittest.expect(o.videoURL, unittest.equals('foo'));
     unittest.expect(o.width, unittest.equals(42));
   }
   buildCounterCreative--;
 }
 
-buildUnnamed553() {
+buildUnnamed581() {
   var o = new core.List<api.Creative>();
   o.add(buildCreative());
   o.add(buildCreative());
   return o;
 }
 
-checkUnnamed553(core.List<api.Creative> o) {
+checkUnnamed581(core.List<api.Creative> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCreative(o[0]);
   checkCreative(o[1]);
@@ -502,7 +502,7 @@
   var o = new api.CreativesList();
   buildCounterCreativesList++;
   if (buildCounterCreativesList < 3) {
-    o.items = buildUnnamed553();
+    o.items = buildUnnamed581();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -513,7 +513,7 @@
 checkCreativesList(api.CreativesList o) {
   buildCounterCreativesList++;
   if (buildCounterCreativesList < 3) {
-    checkUnnamed553(o.items);
+    checkUnnamed581(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -561,14 +561,14 @@
   buildCounterDirectDeal--;
 }
 
-buildUnnamed554() {
+buildUnnamed582() {
   var o = new core.List<api.DirectDeal>();
   o.add(buildDirectDeal());
   o.add(buildDirectDeal());
   return o;
 }
 
-checkUnnamed554(core.List<api.DirectDeal> o) {
+checkUnnamed582(core.List<api.DirectDeal> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDirectDeal(o[0]);
   checkDirectDeal(o[1]);
@@ -579,7 +579,7 @@
   var o = new api.DirectDealsList();
   buildCounterDirectDealsList++;
   if (buildCounterDirectDealsList < 3) {
-    o.directDeals = buildUnnamed554();
+    o.directDeals = buildUnnamed582();
     o.kind = "foo";
   }
   buildCounterDirectDealsList--;
@@ -589,59 +589,59 @@
 checkDirectDealsList(api.DirectDealsList o) {
   buildCounterDirectDealsList++;
   if (buildCounterDirectDealsList < 3) {
-    checkUnnamed554(o.directDeals);
+    checkUnnamed582(o.directDeals);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterDirectDealsList--;
 }
 
-buildUnnamed555() {
+buildUnnamed583() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed555(core.List<core.Object> o) {
+checkUnnamed583(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed556() {
+buildUnnamed584() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed556(core.List<core.Object> o) {
+checkUnnamed584(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted3 = (o[0]) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); unittest.expect(casted3["list"], unittest.equals([1, 2, 3])); unittest.expect(casted3["bool"], unittest.equals(true)); unittest.expect(casted3["string"], unittest.equals('foo')); 
   var casted4 = (o[1]) as core.Map; unittest.expect(casted4, unittest.hasLength(3)); unittest.expect(casted4["list"], unittest.equals([1, 2, 3])); unittest.expect(casted4["bool"], unittest.equals(true)); unittest.expect(casted4["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed557() {
+buildUnnamed585() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed557(core.List<core.Object> o) {
+checkUnnamed585(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted5 = (o[0]) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect(casted5["list"], unittest.equals([1, 2, 3])); unittest.expect(casted5["bool"], unittest.equals(true)); unittest.expect(casted5["string"], unittest.equals('foo')); 
   var casted6 = (o[1]) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); unittest.expect(casted6["list"], unittest.equals([1, 2, 3])); unittest.expect(casted6["bool"], unittest.equals(true)); unittest.expect(casted6["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed558() {
+buildUnnamed586() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed558(core.List<core.Object> o) {
+checkUnnamed586(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted7 = (o[0]) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); unittest.expect(casted7["list"], unittest.equals([1, 2, 3])); unittest.expect(casted7["bool"], unittest.equals(true)); unittest.expect(casted7["string"], unittest.equals('foo')); 
   var casted8 = (o[1]) as core.Map; unittest.expect(casted8, unittest.hasLength(3)); unittest.expect(casted8["list"], unittest.equals([1, 2, 3])); unittest.expect(casted8["bool"], unittest.equals(true)); unittest.expect(casted8["string"], unittest.equals('foo')); 
@@ -652,10 +652,10 @@
   var o = new api.PerformanceReport();
   buildCounterPerformanceReport++;
   if (buildCounterPerformanceReport < 3) {
-    o.calloutStatusRate = buildUnnamed555();
-    o.cookieMatcherStatusRate = buildUnnamed556();
-    o.creativeStatusRate = buildUnnamed557();
-    o.hostedMatchStatusRate = buildUnnamed558();
+    o.calloutStatusRate = buildUnnamed583();
+    o.cookieMatcherStatusRate = buildUnnamed584();
+    o.creativeStatusRate = buildUnnamed585();
+    o.hostedMatchStatusRate = buildUnnamed586();
     o.kind = "foo";
     o.latency50thPercentile = 42.0;
     o.latency85thPercentile = 42.0;
@@ -676,10 +676,10 @@
 checkPerformanceReport(api.PerformanceReport o) {
   buildCounterPerformanceReport++;
   if (buildCounterPerformanceReport < 3) {
-    checkUnnamed555(o.calloutStatusRate);
-    checkUnnamed556(o.cookieMatcherStatusRate);
-    checkUnnamed557(o.creativeStatusRate);
-    checkUnnamed558(o.hostedMatchStatusRate);
+    checkUnnamed583(o.calloutStatusRate);
+    checkUnnamed584(o.cookieMatcherStatusRate);
+    checkUnnamed585(o.creativeStatusRate);
+    checkUnnamed586(o.hostedMatchStatusRate);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.latency50thPercentile, unittest.equals(42.0));
     unittest.expect(o.latency85thPercentile, unittest.equals(42.0));
@@ -696,14 +696,14 @@
   buildCounterPerformanceReport--;
 }
 
-buildUnnamed559() {
+buildUnnamed587() {
   var o = new core.List<api.PerformanceReport>();
   o.add(buildPerformanceReport());
   o.add(buildPerformanceReport());
   return o;
 }
 
-checkUnnamed559(core.List<api.PerformanceReport> o) {
+checkUnnamed587(core.List<api.PerformanceReport> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPerformanceReport(o[0]);
   checkPerformanceReport(o[1]);
@@ -715,7 +715,7 @@
   buildCounterPerformanceReportList++;
   if (buildCounterPerformanceReportList < 3) {
     o.kind = "foo";
-    o.performanceReport = buildUnnamed559();
+    o.performanceReport = buildUnnamed587();
   }
   buildCounterPerformanceReportList--;
   return o;
@@ -725,19 +725,19 @@
   buildCounterPerformanceReportList++;
   if (buildCounterPerformanceReportList < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed559(o.performanceReport);
+    checkUnnamed587(o.performanceReport);
   }
   buildCounterPerformanceReportList--;
 }
 
-buildUnnamed560() {
+buildUnnamed588() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed560(core.List<core.String> o) {
+checkUnnamed588(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -764,40 +764,40 @@
   buildCounterPretargetingConfigDimensions--;
 }
 
-buildUnnamed561() {
+buildUnnamed589() {
   var o = new core.List<api.PretargetingConfigDimensions>();
   o.add(buildPretargetingConfigDimensions());
   o.add(buildPretargetingConfigDimensions());
   return o;
 }
 
-checkUnnamed561(core.List<api.PretargetingConfigDimensions> o) {
+checkUnnamed589(core.List<api.PretargetingConfigDimensions> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPretargetingConfigDimensions(o[0]);
   checkPretargetingConfigDimensions(o[1]);
 }
 
-buildUnnamed562() {
+buildUnnamed590() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed562(core.List<core.String> o) {
+checkUnnamed590(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed563() {
+buildUnnamed591() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed563(core.List<core.String> o) {
+checkUnnamed591(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -824,105 +824,105 @@
   buildCounterPretargetingConfigExcludedPlacements--;
 }
 
-buildUnnamed564() {
+buildUnnamed592() {
   var o = new core.List<api.PretargetingConfigExcludedPlacements>();
   o.add(buildPretargetingConfigExcludedPlacements());
   o.add(buildPretargetingConfigExcludedPlacements());
   return o;
 }
 
-checkUnnamed564(core.List<api.PretargetingConfigExcludedPlacements> o) {
+checkUnnamed592(core.List<api.PretargetingConfigExcludedPlacements> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPretargetingConfigExcludedPlacements(o[0]);
   checkPretargetingConfigExcludedPlacements(o[1]);
 }
 
-buildUnnamed565() {
+buildUnnamed593() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed565(core.List<core.String> o) {
+checkUnnamed593(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed566() {
+buildUnnamed594() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed566(core.List<core.String> o) {
+checkUnnamed594(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed567() {
+buildUnnamed595() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed567(core.List<core.String> o) {
+checkUnnamed595(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed568() {
+buildUnnamed596() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed568(core.List<core.String> o) {
+checkUnnamed596(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed569() {
+buildUnnamed597() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed569(core.List<core.String> o) {
+checkUnnamed597(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed570() {
+buildUnnamed598() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed570(core.List<core.String> o) {
+checkUnnamed598(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed571() {
+buildUnnamed599() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed571(core.List<core.String> o) {
+checkUnnamed599(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -949,79 +949,79 @@
   buildCounterPretargetingConfigPlacements--;
 }
 
-buildUnnamed572() {
+buildUnnamed600() {
   var o = new core.List<api.PretargetingConfigPlacements>();
   o.add(buildPretargetingConfigPlacements());
   o.add(buildPretargetingConfigPlacements());
   return o;
 }
 
-checkUnnamed572(core.List<api.PretargetingConfigPlacements> o) {
+checkUnnamed600(core.List<api.PretargetingConfigPlacements> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPretargetingConfigPlacements(o[0]);
   checkPretargetingConfigPlacements(o[1]);
 }
 
-buildUnnamed573() {
+buildUnnamed601() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed573(core.List<core.String> o) {
+checkUnnamed601(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed574() {
+buildUnnamed602() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed574(core.List<core.String> o) {
+checkUnnamed602(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed575() {
+buildUnnamed603() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed575(core.List<core.String> o) {
+checkUnnamed603(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed576() {
+buildUnnamed604() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed576(core.List<core.String> o) {
+checkUnnamed604(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed577() {
+buildUnnamed605() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed577(core.List<core.String> o) {
+checkUnnamed605(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1035,26 +1035,26 @@
     o.billingId = "foo";
     o.configId = "foo";
     o.configName = "foo";
-    o.creativeType = buildUnnamed560();
-    o.dimensions = buildUnnamed561();
-    o.excludedContentLabels = buildUnnamed562();
-    o.excludedGeoCriteriaIds = buildUnnamed563();
-    o.excludedPlacements = buildUnnamed564();
-    o.excludedUserLists = buildUnnamed565();
-    o.excludedVerticals = buildUnnamed566();
-    o.geoCriteriaIds = buildUnnamed567();
+    o.creativeType = buildUnnamed588();
+    o.dimensions = buildUnnamed589();
+    o.excludedContentLabels = buildUnnamed590();
+    o.excludedGeoCriteriaIds = buildUnnamed591();
+    o.excludedPlacements = buildUnnamed592();
+    o.excludedUserLists = buildUnnamed593();
+    o.excludedVerticals = buildUnnamed594();
+    o.geoCriteriaIds = buildUnnamed595();
     o.isActive = true;
     o.kind = "foo";
-    o.languages = buildUnnamed568();
-    o.mobileCarriers = buildUnnamed569();
-    o.mobileDevices = buildUnnamed570();
-    o.mobileOperatingSystemVersions = buildUnnamed571();
-    o.placements = buildUnnamed572();
-    o.platforms = buildUnnamed573();
-    o.supportedCreativeAttributes = buildUnnamed574();
-    o.userLists = buildUnnamed575();
-    o.vendorTypes = buildUnnamed576();
-    o.verticals = buildUnnamed577();
+    o.languages = buildUnnamed596();
+    o.mobileCarriers = buildUnnamed597();
+    o.mobileDevices = buildUnnamed598();
+    o.mobileOperatingSystemVersions = buildUnnamed599();
+    o.placements = buildUnnamed600();
+    o.platforms = buildUnnamed601();
+    o.supportedCreativeAttributes = buildUnnamed602();
+    o.userLists = buildUnnamed603();
+    o.vendorTypes = buildUnnamed604();
+    o.verticals = buildUnnamed605();
   }
   buildCounterPretargetingConfig--;
   return o;
@@ -1066,38 +1066,38 @@
     unittest.expect(o.billingId, unittest.equals('foo'));
     unittest.expect(o.configId, unittest.equals('foo'));
     unittest.expect(o.configName, unittest.equals('foo'));
-    checkUnnamed560(o.creativeType);
-    checkUnnamed561(o.dimensions);
-    checkUnnamed562(o.excludedContentLabels);
-    checkUnnamed563(o.excludedGeoCriteriaIds);
-    checkUnnamed564(o.excludedPlacements);
-    checkUnnamed565(o.excludedUserLists);
-    checkUnnamed566(o.excludedVerticals);
-    checkUnnamed567(o.geoCriteriaIds);
+    checkUnnamed588(o.creativeType);
+    checkUnnamed589(o.dimensions);
+    checkUnnamed590(o.excludedContentLabels);
+    checkUnnamed591(o.excludedGeoCriteriaIds);
+    checkUnnamed592(o.excludedPlacements);
+    checkUnnamed593(o.excludedUserLists);
+    checkUnnamed594(o.excludedVerticals);
+    checkUnnamed595(o.geoCriteriaIds);
     unittest.expect(o.isActive, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed568(o.languages);
-    checkUnnamed569(o.mobileCarriers);
-    checkUnnamed570(o.mobileDevices);
-    checkUnnamed571(o.mobileOperatingSystemVersions);
-    checkUnnamed572(o.placements);
-    checkUnnamed573(o.platforms);
-    checkUnnamed574(o.supportedCreativeAttributes);
-    checkUnnamed575(o.userLists);
-    checkUnnamed576(o.vendorTypes);
-    checkUnnamed577(o.verticals);
+    checkUnnamed596(o.languages);
+    checkUnnamed597(o.mobileCarriers);
+    checkUnnamed598(o.mobileDevices);
+    checkUnnamed599(o.mobileOperatingSystemVersions);
+    checkUnnamed600(o.placements);
+    checkUnnamed601(o.platforms);
+    checkUnnamed602(o.supportedCreativeAttributes);
+    checkUnnamed603(o.userLists);
+    checkUnnamed604(o.vendorTypes);
+    checkUnnamed605(o.verticals);
   }
   buildCounterPretargetingConfig--;
 }
 
-buildUnnamed578() {
+buildUnnamed606() {
   var o = new core.List<api.PretargetingConfig>();
   o.add(buildPretargetingConfig());
   o.add(buildPretargetingConfig());
   return o;
 }
 
-checkUnnamed578(core.List<api.PretargetingConfig> o) {
+checkUnnamed606(core.List<api.PretargetingConfig> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPretargetingConfig(o[0]);
   checkPretargetingConfig(o[1]);
@@ -1108,7 +1108,7 @@
   var o = new api.PretargetingConfigList();
   buildCounterPretargetingConfigList++;
   if (buildCounterPretargetingConfigList < 3) {
-    o.items = buildUnnamed578();
+    o.items = buildUnnamed606();
     o.kind = "foo";
   }
   buildCounterPretargetingConfigList--;
@@ -1118,33 +1118,33 @@
 checkPretargetingConfigList(api.PretargetingConfigList o) {
   buildCounterPretargetingConfigList++;
   if (buildCounterPretargetingConfigList < 3) {
-    checkUnnamed578(o.items);
+    checkUnnamed606(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterPretargetingConfigList--;
 }
 
-buildUnnamed579() {
+buildUnnamed607() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed579(core.List<core.int> o) {
+checkUnnamed607(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed580() {
+buildUnnamed608() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed580(core.List<core.String> o) {
+checkUnnamed608(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1343,8 +1343,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1389,8 +1391,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("accounts"));
         pathOffset += 8;
 
@@ -1437,8 +1441,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1488,8 +1494,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1539,8 +1547,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("billinginfo/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1585,8 +1595,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("billinginfo"));
         pathOffset += 11;
 
@@ -1634,8 +1646,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("creatives/"));
         pathOffset += 10;
         index = path.indexOf("/", pathOffset);
@@ -1691,8 +1705,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("creatives"));
         pathOffset += 9;
 
@@ -1729,8 +1745,8 @@
 
       var mock = new common_test.HttpServerMock();
       api.CreativesResourceApi res = new api.AdexchangebuyerApi(mock).creatives;
-      var arg_accountId = buildUnnamed579();
-      var arg_buyerCreativeId = buildUnnamed580();
+      var arg_accountId = buildUnnamed607();
+      var arg_buyerCreativeId = buildUnnamed608();
       var arg_maxResults = 42;
       var arg_pageToken = "foo";
       var arg_statusFilter = "foo";
@@ -1739,8 +1755,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("creatives"));
         pathOffset += 9;
 
@@ -1792,8 +1810,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("directdeals/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1838,8 +1858,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("directdeals"));
         pathOffset += 11;
 
@@ -1890,8 +1912,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("performancereport"));
         pathOffset += 17;
 
@@ -1944,8 +1968,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         index = path.indexOf("/", pathOffset);
@@ -1997,8 +2023,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         index = path.indexOf("/", pathOffset);
@@ -2055,8 +2083,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2102,8 +2132,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2154,8 +2186,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         index = path.indexOf("/", pathOffset);
@@ -2213,8 +2247,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/adexchangebuyer/v1.3/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("adexchangebuyer/v1.3/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("pretargetingconfigs/"));
         pathOffset += 20;
         index = path.indexOf("/", pathOffset);
diff --git a/generated/googleapis/test/adexchangeseller/v1_1_test.dart b/generated/googleapis/test/adexchangeseller/v1_1_test.dart
index f073469..a3ba91c 100644
--- a/generated/googleapis/test/adexchangeseller/v1_1_test.dart
+++ b/generated/googleapis/test/adexchangeseller/v1_1_test.dart
@@ -66,14 +66,14 @@
   buildCounterAdClient--;
 }
 
-buildUnnamed265() {
+buildUnnamed268() {
   var o = new core.List<api.AdClient>();
   o.add(buildAdClient());
   o.add(buildAdClient());
   return o;
 }
 
-checkUnnamed265(core.List<api.AdClient> o) {
+checkUnnamed268(core.List<api.AdClient> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdClient(o[0]);
   checkAdClient(o[1]);
@@ -85,7 +85,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed265();
+    o.items = buildUnnamed268();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -97,7 +97,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed265(o.items);
+    checkUnnamed268(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -131,14 +131,14 @@
   buildCounterAdUnit--;
 }
 
-buildUnnamed266() {
+buildUnnamed269() {
   var o = new core.List<api.AdUnit>();
   o.add(buildAdUnit());
   o.add(buildAdUnit());
   return o;
 }
 
-checkUnnamed266(core.List<api.AdUnit> o) {
+checkUnnamed269(core.List<api.AdUnit> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdUnit(o[0]);
   checkAdUnit(o[1]);
@@ -150,7 +150,7 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed266();
+    o.items = buildUnnamed269();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -162,7 +162,7 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed266(o.items);
+    checkUnnamed269(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -196,14 +196,14 @@
   buildCounterAlert--;
 }
 
-buildUnnamed267() {
+buildUnnamed270() {
   var o = new core.List<api.Alert>();
   o.add(buildAlert());
   o.add(buildAlert());
   return o;
 }
 
-checkUnnamed267(core.List<api.Alert> o) {
+checkUnnamed270(core.List<api.Alert> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAlert(o[0]);
   checkAlert(o[1]);
@@ -214,7 +214,7 @@
   var o = new api.Alerts();
   buildCounterAlerts++;
   if (buildCounterAlerts < 3) {
-    o.items = buildUnnamed267();
+    o.items = buildUnnamed270();
     o.kind = "foo";
   }
   buildCounterAlerts--;
@@ -224,7 +224,7 @@
 checkAlerts(api.Alerts o) {
   buildCounterAlerts++;
   if (buildCounterAlerts < 3) {
-    checkUnnamed267(o.items);
+    checkUnnamed270(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAlerts--;
@@ -282,14 +282,14 @@
   buildCounterCustomChannel--;
 }
 
-buildUnnamed268() {
+buildUnnamed271() {
   var o = new core.List<api.CustomChannel>();
   o.add(buildCustomChannel());
   o.add(buildCustomChannel());
   return o;
 }
 
-checkUnnamed268(core.List<api.CustomChannel> o) {
+checkUnnamed271(core.List<api.CustomChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomChannel(o[0]);
   checkCustomChannel(o[1]);
@@ -301,7 +301,7 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed268();
+    o.items = buildUnnamed271();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -313,21 +313,21 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed268(o.items);
+    checkUnnamed271(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterCustomChannels--;
 }
 
-buildUnnamed269() {
+buildUnnamed272() {
   var o = new core.List<api.ReportingMetadataEntry>();
   o.add(buildReportingMetadataEntry());
   o.add(buildReportingMetadataEntry());
   return o;
 }
 
-checkUnnamed269(core.List<api.ReportingMetadataEntry> o) {
+checkUnnamed272(core.List<api.ReportingMetadataEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportingMetadataEntry(o[0]);
   checkReportingMetadataEntry(o[1]);
@@ -338,7 +338,7 @@
   var o = new api.Metadata();
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
-    o.items = buildUnnamed269();
+    o.items = buildUnnamed272();
     o.kind = "foo";
   }
   buildCounterMetadata--;
@@ -348,7 +348,7 @@
 checkMetadata(api.Metadata o) {
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
-    checkUnnamed269(o.items);
+    checkUnnamed272(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterMetadata--;
@@ -387,14 +387,14 @@
   buildCounterPreferredDeal--;
 }
 
-buildUnnamed270() {
+buildUnnamed273() {
   var o = new core.List<api.PreferredDeal>();
   o.add(buildPreferredDeal());
   o.add(buildPreferredDeal());
   return o;
 }
 
-checkUnnamed270(core.List<api.PreferredDeal> o) {
+checkUnnamed273(core.List<api.PreferredDeal> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPreferredDeal(o[0]);
   checkPreferredDeal(o[1]);
@@ -405,7 +405,7 @@
   var o = new api.PreferredDeals();
   buildCounterPreferredDeals++;
   if (buildCounterPreferredDeals < 3) {
-    o.items = buildUnnamed270();
+    o.items = buildUnnamed273();
     o.kind = "foo";
   }
   buildCounterPreferredDeals--;
@@ -415,20 +415,20 @@
 checkPreferredDeals(api.PreferredDeals o) {
   buildCounterPreferredDeals++;
   if (buildCounterPreferredDeals < 3) {
-    checkUnnamed270(o.items);
+    checkUnnamed273(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterPreferredDeals--;
 }
 
-buildUnnamed271() {
+buildUnnamed274() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed271(core.List<core.String> o) {
+checkUnnamed274(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -457,58 +457,19 @@
   buildCounterReportHeaders--;
 }
 
-buildUnnamed272() {
+buildUnnamed275() {
   var o = new core.List<api.ReportHeaders>();
   o.add(buildReportHeaders());
   o.add(buildReportHeaders());
   return o;
 }
 
-checkUnnamed272(core.List<api.ReportHeaders> o) {
+checkUnnamed275(core.List<api.ReportHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportHeaders(o[0]);
   checkReportHeaders(o[1]);
 }
 
-buildUnnamed273() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed273(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-buildUnnamed274() {
-  var o = new core.List<core.List<core.String>>();
-  o.add(buildUnnamed273());
-  o.add(buildUnnamed273());
-  return o;
-}
-
-checkUnnamed274(core.List<core.List<core.String>> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed273(o[0]);
-  checkUnnamed273(o[1]);
-}
-
-buildUnnamed275() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed275(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
 buildUnnamed276() {
   var o = new core.List<core.String>();
   o.add("foo");
@@ -522,48 +483,17 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-core.int buildCounterReport = 0;
-buildReport() {
-  var o = new api.Report();
-  buildCounterReport++;
-  if (buildCounterReport < 3) {
-    o.averages = buildUnnamed271();
-    o.headers = buildUnnamed272();
-    o.kind = "foo";
-    o.rows = buildUnnamed274();
-    o.totalMatchedRows = "foo";
-    o.totals = buildUnnamed275();
-    o.warnings = buildUnnamed276();
-  }
-  buildCounterReport--;
-  return o;
-}
-
-checkReport(api.Report o) {
-  buildCounterReport++;
-  if (buildCounterReport < 3) {
-    checkUnnamed271(o.averages);
-    checkUnnamed272(o.headers);
-    unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed274(o.rows);
-    unittest.expect(o.totalMatchedRows, unittest.equals('foo'));
-    checkUnnamed275(o.totals);
-    checkUnnamed276(o.warnings);
-  }
-  buildCounterReport--;
-}
-
 buildUnnamed277() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
+  var o = new core.List<core.List<core.String>>();
+  o.add(buildUnnamed276());
+  o.add(buildUnnamed276());
   return o;
 }
 
-checkUnnamed277(core.List<core.String> o) {
+checkUnnamed277(core.List<core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
+  checkUnnamed276(o[0]);
+  checkUnnamed276(o[1]);
 }
 
 buildUnnamed278() {
@@ -592,6 +522,37 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
+core.int buildCounterReport = 0;
+buildReport() {
+  var o = new api.Report();
+  buildCounterReport++;
+  if (buildCounterReport < 3) {
+    o.averages = buildUnnamed274();
+    o.headers = buildUnnamed275();
+    o.kind = "foo";
+    o.rows = buildUnnamed277();
+    o.totalMatchedRows = "foo";
+    o.totals = buildUnnamed278();
+    o.warnings = buildUnnamed279();
+  }
+  buildCounterReport--;
+  return o;
+}
+
+checkReport(api.Report o) {
+  buildCounterReport++;
+  if (buildCounterReport < 3) {
+    checkUnnamed274(o.averages);
+    checkUnnamed275(o.headers);
+    unittest.expect(o.kind, unittest.equals('foo'));
+    checkUnnamed277(o.rows);
+    unittest.expect(o.totalMatchedRows, unittest.equals('foo'));
+    checkUnnamed278(o.totals);
+    checkUnnamed279(o.warnings);
+  }
+  buildCounterReport--;
+}
+
 buildUnnamed280() {
   var o = new core.List<core.String>();
   o.add("foo");
@@ -618,18 +579,57 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
+buildUnnamed282() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed282(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed283() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed283(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed284() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed284(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
 core.int buildCounterReportingMetadataEntry = 0;
 buildReportingMetadataEntry() {
   var o = new api.ReportingMetadataEntry();
   buildCounterReportingMetadataEntry++;
   if (buildCounterReportingMetadataEntry < 3) {
-    o.compatibleDimensions = buildUnnamed277();
-    o.compatibleMetrics = buildUnnamed278();
+    o.compatibleDimensions = buildUnnamed280();
+    o.compatibleMetrics = buildUnnamed281();
     o.id = "foo";
     o.kind = "foo";
-    o.requiredDimensions = buildUnnamed279();
-    o.requiredMetrics = buildUnnamed280();
-    o.supportedProducts = buildUnnamed281();
+    o.requiredDimensions = buildUnnamed282();
+    o.requiredMetrics = buildUnnamed283();
+    o.supportedProducts = buildUnnamed284();
   }
   buildCounterReportingMetadataEntry--;
   return o;
@@ -638,13 +638,13 @@
 checkReportingMetadataEntry(api.ReportingMetadataEntry o) {
   buildCounterReportingMetadataEntry++;
   if (buildCounterReportingMetadataEntry < 3) {
-    checkUnnamed277(o.compatibleDimensions);
-    checkUnnamed278(o.compatibleMetrics);
+    checkUnnamed280(o.compatibleDimensions);
+    checkUnnamed281(o.compatibleMetrics);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed279(o.requiredDimensions);
-    checkUnnamed280(o.requiredMetrics);
-    checkUnnamed281(o.supportedProducts);
+    checkUnnamed282(o.requiredDimensions);
+    checkUnnamed283(o.requiredMetrics);
+    checkUnnamed284(o.supportedProducts);
   }
   buildCounterReportingMetadataEntry--;
 }
@@ -672,14 +672,14 @@
   buildCounterSavedReport--;
 }
 
-buildUnnamed282() {
+buildUnnamed285() {
   var o = new core.List<api.SavedReport>();
   o.add(buildSavedReport());
   o.add(buildSavedReport());
   return o;
 }
 
-checkUnnamed282(core.List<api.SavedReport> o) {
+checkUnnamed285(core.List<api.SavedReport> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSavedReport(o[0]);
   checkSavedReport(o[1]);
@@ -691,7 +691,7 @@
   buildCounterSavedReports++;
   if (buildCounterSavedReports < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed282();
+    o.items = buildUnnamed285();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -703,7 +703,7 @@
   buildCounterSavedReports++;
   if (buildCounterSavedReports < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed282(o.items);
+    checkUnnamed285(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -733,14 +733,14 @@
   buildCounterUrlChannel--;
 }
 
-buildUnnamed283() {
+buildUnnamed286() {
   var o = new core.List<api.UrlChannel>();
   o.add(buildUrlChannel());
   o.add(buildUrlChannel());
   return o;
 }
 
-checkUnnamed283(core.List<api.UrlChannel> o) {
+checkUnnamed286(core.List<api.UrlChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrlChannel(o[0]);
   checkUrlChannel(o[1]);
@@ -752,7 +752,7 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed283();
+    o.items = buildUnnamed286();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -764,52 +764,13 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed283(o.items);
+    checkUnnamed286(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterUrlChannels--;
 }
 
-buildUnnamed284() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed284(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-buildUnnamed285() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed285(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-buildUnnamed286() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed286(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
 buildUnnamed287() {
   var o = new core.List<core.String>();
   o.add("foo");
@@ -823,6 +784,45 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
+buildUnnamed288() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed288(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed289() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed289(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed290() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed290(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
 
 main() {
   unittest.group("obj-schema-Account", () {
@@ -1016,8 +1016,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1068,8 +1070,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("adclients"));
         pathOffset += 9;
 
@@ -1119,8 +1123,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits/", pathOffset);
@@ -1176,8 +1182,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits", pathOffset);
@@ -1237,8 +1245,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits/", pathOffset);
@@ -1301,8 +1311,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("alerts"));
         pathOffset += 6;
 
@@ -1351,8 +1363,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -1407,8 +1421,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -1468,8 +1484,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -1532,8 +1550,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("metadata/dimensions"));
         pathOffset += 19;
 
@@ -1579,8 +1599,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("metadata/metrics"));
         pathOffset += 16;
 
@@ -1627,8 +1649,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("preferreddeals/"));
         pathOffset += 15;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1673,8 +1697,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("preferreddeals"));
         pathOffset += 14;
 
@@ -1719,20 +1745,22 @@
       api.ReportsResourceApi res = new api.AdexchangesellerApi(mock).reports;
       var arg_startDate = "foo";
       var arg_endDate = "foo";
-      var arg_dimension = buildUnnamed284();
-      var arg_filter = buildUnnamed285();
+      var arg_dimension = buildUnnamed287();
+      var arg_filter = buildUnnamed288();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_metric = buildUnnamed286();
-      var arg_sort = buildUnnamed287();
+      var arg_metric = buildUnnamed289();
+      var arg_sort = buildUnnamed290();
       var arg_startIndex = 42;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("reports"));
         pathOffset += 7;
 
@@ -1791,8 +1819,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("reports/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1842,8 +1872,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("reports/saved"));
         pathOffset += 13;
 
@@ -1894,8 +1926,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/adexchangeseller/v1.1/"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("adexchangeseller/v1.1/"));
+        pathOffset += 22;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/urlchannels", pathOffset);
diff --git a/generated/googleapis/test/admin/directory_v1_test.dart b/generated/googleapis/test/admin/directory_v1_test.dart
index 516506b..534c64c 100644
--- a/generated/googleapis/test/admin/directory_v1_test.dart
+++ b/generated/googleapis/test/admin/directory_v1_test.dart
@@ -43,14 +43,14 @@
   buildCounterAlias--;
 }
 
-buildUnnamed456() {
+buildUnnamed481() {
   var o = new core.List<api.Alias>();
   o.add(buildAlias());
   o.add(buildAlias());
   return o;
 }
 
-checkUnnamed456(core.List<api.Alias> o) {
+checkUnnamed481(core.List<api.Alias> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAlias(o[0]);
   checkAlias(o[1]);
@@ -61,7 +61,7 @@
   var o = new api.Aliases();
   buildCounterAliases++;
   if (buildCounterAliases < 3) {
-    o.aliases = buildUnnamed456();
+    o.aliases = buildUnnamed481();
     o.etag = "foo";
     o.kind = "foo";
   }
@@ -72,7 +72,7 @@
 checkAliases(api.Aliases o) {
   buildCounterAliases++;
   if (buildCounterAliases < 3) {
-    checkUnnamed456(o.aliases);
+    checkUnnamed481(o.aliases);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
   }
@@ -110,14 +110,14 @@
   buildCounterAsp--;
 }
 
-buildUnnamed457() {
+buildUnnamed482() {
   var o = new core.List<api.Asp>();
   o.add(buildAsp());
   o.add(buildAsp());
   return o;
 }
 
-checkUnnamed457(core.List<api.Asp> o) {
+checkUnnamed482(core.List<api.Asp> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAsp(o[0]);
   checkAsp(o[1]);
@@ -129,7 +129,7 @@
   buildCounterAsps++;
   if (buildCounterAsps < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed457();
+    o.items = buildUnnamed482();
     o.kind = "foo";
   }
   buildCounterAsps--;
@@ -140,20 +140,20 @@
   buildCounterAsps++;
   if (buildCounterAsps < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed457(o.items);
+    checkUnnamed482(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAsps--;
 }
 
-buildUnnamed458() {
+buildUnnamed483() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed458(core.Map<core.String, core.String> o) {
+checkUnnamed483(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -168,7 +168,7 @@
     o.expiration = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.params = buildUnnamed458();
+    o.params = buildUnnamed483();
     o.payload = true;
     o.resourceId = "foo";
     o.resourceUri = "foo";
@@ -186,7 +186,7 @@
     unittest.expect(o.expiration, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed458(o.params);
+    checkUnnamed483(o.params);
     unittest.expect(o.payload, unittest.isTrue);
     unittest.expect(o.resourceId, unittest.equals('foo'));
     unittest.expect(o.resourceUri, unittest.equals('foo'));
@@ -217,14 +217,14 @@
   buildCounterChromeOsDeviceRecentUsers--;
 }
 
-buildUnnamed459() {
+buildUnnamed484() {
   var o = new core.List<api.ChromeOsDeviceRecentUsers>();
   o.add(buildChromeOsDeviceRecentUsers());
   o.add(buildChromeOsDeviceRecentUsers());
   return o;
 }
 
-checkUnnamed459(core.List<api.ChromeOsDeviceRecentUsers> o) {
+checkUnnamed484(core.List<api.ChromeOsDeviceRecentUsers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChromeOsDeviceRecentUsers(o[0]);
   checkChromeOsDeviceRecentUsers(o[1]);
@@ -253,7 +253,7 @@
     o.orgUnitPath = "foo";
     o.osVersion = "foo";
     o.platformVersion = "foo";
-    o.recentUsers = buildUnnamed459();
+    o.recentUsers = buildUnnamed484();
     o.serialNumber = "foo";
     o.status = "foo";
     o.supportEndDate = core.DateTime.parse("2002-02-27T14:01:02");
@@ -284,7 +284,7 @@
     unittest.expect(o.orgUnitPath, unittest.equals('foo'));
     unittest.expect(o.osVersion, unittest.equals('foo'));
     unittest.expect(o.platformVersion, unittest.equals('foo'));
-    checkUnnamed459(o.recentUsers);
+    checkUnnamed484(o.recentUsers);
     unittest.expect(o.serialNumber, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
     unittest.expect(o.supportEndDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -293,14 +293,14 @@
   buildCounterChromeOsDevice--;
 }
 
-buildUnnamed460() {
+buildUnnamed485() {
   var o = new core.List<api.ChromeOsDevice>();
   o.add(buildChromeOsDevice());
   o.add(buildChromeOsDevice());
   return o;
 }
 
-checkUnnamed460(core.List<api.ChromeOsDevice> o) {
+checkUnnamed485(core.List<api.ChromeOsDevice> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChromeOsDevice(o[0]);
   checkChromeOsDevice(o[1]);
@@ -311,7 +311,7 @@
   var o = new api.ChromeOsDevices();
   buildCounterChromeOsDevices++;
   if (buildCounterChromeOsDevices < 3) {
-    o.chromeosdevices = buildUnnamed460();
+    o.chromeosdevices = buildUnnamed485();
     o.etag = "foo";
     o.kind = "foo";
     o.nextPageToken = "foo";
@@ -323,7 +323,7 @@
 checkChromeOsDevices(api.ChromeOsDevices o) {
   buildCounterChromeOsDevices++;
   if (buildCounterChromeOsDevices < 3) {
-    checkUnnamed460(o.chromeosdevices);
+    checkUnnamed485(o.chromeosdevices);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -331,27 +331,27 @@
   buildCounterChromeOsDevices--;
 }
 
-buildUnnamed461() {
+buildUnnamed486() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed461(core.List<core.String> o) {
+checkUnnamed486(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed462() {
+buildUnnamed487() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed462(core.List<core.String> o) {
+checkUnnamed487(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -363,7 +363,7 @@
   buildCounterGroup++;
   if (buildCounterGroup < 3) {
     o.adminCreated = true;
-    o.aliases = buildUnnamed461();
+    o.aliases = buildUnnamed486();
     o.description = "foo";
     o.directMembersCount = "foo";
     o.email = "foo";
@@ -371,7 +371,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.nonEditableAliases = buildUnnamed462();
+    o.nonEditableAliases = buildUnnamed487();
   }
   buildCounterGroup--;
   return o;
@@ -381,7 +381,7 @@
   buildCounterGroup++;
   if (buildCounterGroup < 3) {
     unittest.expect(o.adminCreated, unittest.isTrue);
-    checkUnnamed461(o.aliases);
+    checkUnnamed486(o.aliases);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.directMembersCount, unittest.equals('foo'));
     unittest.expect(o.email, unittest.equals('foo'));
@@ -389,19 +389,19 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed462(o.nonEditableAliases);
+    checkUnnamed487(o.nonEditableAliases);
   }
   buildCounterGroup--;
 }
 
-buildUnnamed463() {
+buildUnnamed488() {
   var o = new core.List<api.Group>();
   o.add(buildGroup());
   o.add(buildGroup());
   return o;
 }
 
-checkUnnamed463(core.List<api.Group> o) {
+checkUnnamed488(core.List<api.Group> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGroup(o[0]);
   checkGroup(o[1]);
@@ -413,7 +413,7 @@
   buildCounterGroups++;
   if (buildCounterGroups < 3) {
     o.etag = "foo";
-    o.groups = buildUnnamed463();
+    o.groups = buildUnnamed488();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -425,7 +425,7 @@
   buildCounterGroups++;
   if (buildCounterGroups < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed463(o.groups);
+    checkUnnamed488(o.groups);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -461,14 +461,14 @@
   buildCounterMember--;
 }
 
-buildUnnamed464() {
+buildUnnamed489() {
   var o = new core.List<api.Member>();
   o.add(buildMember());
   o.add(buildMember());
   return o;
 }
 
-checkUnnamed464(core.List<api.Member> o) {
+checkUnnamed489(core.List<api.Member> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMember(o[0]);
   checkMember(o[1]);
@@ -481,7 +481,7 @@
   if (buildCounterMembers < 3) {
     o.etag = "foo";
     o.kind = "foo";
-    o.members = buildUnnamed464();
+    o.members = buildUnnamed489();
     o.nextPageToken = "foo";
   }
   buildCounterMembers--;
@@ -493,20 +493,20 @@
   if (buildCounterMembers < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed464(o.members);
+    checkUnnamed489(o.members);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterMembers--;
 }
 
-buildUnnamed465() {
+buildUnnamed490() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed465(core.List<core.String> o) {
+checkUnnamed490(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -519,7 +519,7 @@
   if (buildCounterMobileDeviceApplications < 3) {
     o.displayName = "foo";
     o.packageName = "foo";
-    o.permission = buildUnnamed465();
+    o.permission = buildUnnamed490();
     o.versionCode = 42;
     o.versionName = "foo";
   }
@@ -532,47 +532,47 @@
   if (buildCounterMobileDeviceApplications < 3) {
     unittest.expect(o.displayName, unittest.equals('foo'));
     unittest.expect(o.packageName, unittest.equals('foo'));
-    checkUnnamed465(o.permission);
+    checkUnnamed490(o.permission);
     unittest.expect(o.versionCode, unittest.equals(42));
     unittest.expect(o.versionName, unittest.equals('foo'));
   }
   buildCounterMobileDeviceApplications--;
 }
 
-buildUnnamed466() {
+buildUnnamed491() {
   var o = new core.List<api.MobileDeviceApplications>();
   o.add(buildMobileDeviceApplications());
   o.add(buildMobileDeviceApplications());
   return o;
 }
 
-checkUnnamed466(core.List<api.MobileDeviceApplications> o) {
+checkUnnamed491(core.List<api.MobileDeviceApplications> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMobileDeviceApplications(o[0]);
   checkMobileDeviceApplications(o[1]);
 }
 
-buildUnnamed467() {
+buildUnnamed492() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed467(core.List<core.String> o) {
+checkUnnamed492(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed468() {
+buildUnnamed493() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed468(core.List<core.String> o) {
+checkUnnamed493(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -583,13 +583,13 @@
   var o = new api.MobileDevice();
   buildCounterMobileDevice++;
   if (buildCounterMobileDevice < 3) {
-    o.applications = buildUnnamed466();
+    o.applications = buildUnnamed491();
     o.basebandVersion = "foo";
     o.buildNumber = "foo";
     o.defaultLanguage = "foo";
     o.deviceCompromisedStatus = "foo";
     o.deviceId = "foo";
-    o.email = buildUnnamed467();
+    o.email = buildUnnamed492();
     o.etag = "foo";
     o.firstSync = core.DateTime.parse("2002-02-27T14:01:02");
     o.hardwareId = "foo";
@@ -600,7 +600,7 @@
     o.managedAccountIsOnOwnerProfile = true;
     o.meid = "foo";
     o.model = "foo";
-    o.name = buildUnnamed468();
+    o.name = buildUnnamed493();
     o.networkOperator = "foo";
     o.os = "foo";
     o.resourceId = "foo";
@@ -617,13 +617,13 @@
 checkMobileDevice(api.MobileDevice o) {
   buildCounterMobileDevice++;
   if (buildCounterMobileDevice < 3) {
-    checkUnnamed466(o.applications);
+    checkUnnamed491(o.applications);
     unittest.expect(o.basebandVersion, unittest.equals('foo'));
     unittest.expect(o.buildNumber, unittest.equals('foo'));
     unittest.expect(o.defaultLanguage, unittest.equals('foo'));
     unittest.expect(o.deviceCompromisedStatus, unittest.equals('foo'));
     unittest.expect(o.deviceId, unittest.equals('foo'));
-    checkUnnamed467(o.email);
+    checkUnnamed492(o.email);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.firstSync, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.hardwareId, unittest.equals('foo'));
@@ -634,7 +634,7 @@
     unittest.expect(o.managedAccountIsOnOwnerProfile, unittest.isTrue);
     unittest.expect(o.meid, unittest.equals('foo'));
     unittest.expect(o.model, unittest.equals('foo'));
-    checkUnnamed468(o.name);
+    checkUnnamed493(o.name);
     unittest.expect(o.networkOperator, unittest.equals('foo'));
     unittest.expect(o.os, unittest.equals('foo'));
     unittest.expect(o.resourceId, unittest.equals('foo'));
@@ -666,14 +666,14 @@
   buildCounterMobileDeviceAction--;
 }
 
-buildUnnamed469() {
+buildUnnamed494() {
   var o = new core.List<api.MobileDevice>();
   o.add(buildMobileDevice());
   o.add(buildMobileDevice());
   return o;
 }
 
-checkUnnamed469(core.List<api.MobileDevice> o) {
+checkUnnamed494(core.List<api.MobileDevice> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMobileDevice(o[0]);
   checkMobileDevice(o[1]);
@@ -686,7 +686,7 @@
   if (buildCounterMobileDevices < 3) {
     o.etag = "foo";
     o.kind = "foo";
-    o.mobiledevices = buildUnnamed469();
+    o.mobiledevices = buildUnnamed494();
     o.nextPageToken = "foo";
   }
   buildCounterMobileDevices--;
@@ -698,7 +698,7 @@
   if (buildCounterMobileDevices < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed469(o.mobiledevices);
+    checkUnnamed494(o.mobiledevices);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterMobileDevices--;
@@ -737,14 +737,14 @@
   buildCounterNotification--;
 }
 
-buildUnnamed470() {
+buildUnnamed495() {
   var o = new core.List<api.Notification>();
   o.add(buildNotification());
   o.add(buildNotification());
   return o;
 }
 
-checkUnnamed470(core.List<api.Notification> o) {
+checkUnnamed495(core.List<api.Notification> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNotification(o[0]);
   checkNotification(o[1]);
@@ -756,7 +756,7 @@
   buildCounterNotifications++;
   if (buildCounterNotifications < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed470();
+    o.items = buildUnnamed495();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.unreadNotificationsCount = 42;
@@ -769,7 +769,7 @@
   buildCounterNotifications++;
   if (buildCounterNotifications < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed470(o.items);
+    checkUnnamed495(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.unreadNotificationsCount, unittest.equals(42));
@@ -808,14 +808,14 @@
   buildCounterOrgUnit--;
 }
 
-buildUnnamed471() {
+buildUnnamed496() {
   var o = new core.List<api.OrgUnit>();
   o.add(buildOrgUnit());
   o.add(buildOrgUnit());
   return o;
 }
 
-checkUnnamed471(core.List<api.OrgUnit> o) {
+checkUnnamed496(core.List<api.OrgUnit> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrgUnit(o[0]);
   checkOrgUnit(o[1]);
@@ -828,7 +828,7 @@
   if (buildCounterOrgUnits < 3) {
     o.etag = "foo";
     o.kind = "foo";
-    o.organizationUnits = buildUnnamed471();
+    o.organizationUnits = buildUnnamed496();
   }
   buildCounterOrgUnits--;
   return o;
@@ -839,19 +839,151 @@
   if (buildCounterOrgUnits < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed471(o.organizationUnits);
+    checkUnnamed496(o.organizationUnits);
   }
   buildCounterOrgUnits--;
 }
 
-buildUnnamed472() {
+buildUnnamed497() {
+  var o = new core.List<api.SchemaFieldSpec>();
+  o.add(buildSchemaFieldSpec());
+  o.add(buildSchemaFieldSpec());
+  return o;
+}
+
+checkUnnamed497(core.List<api.SchemaFieldSpec> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkSchemaFieldSpec(o[0]);
+  checkSchemaFieldSpec(o[1]);
+}
+
+core.int buildCounterSchema = 0;
+buildSchema() {
+  var o = new api.Schema();
+  buildCounterSchema++;
+  if (buildCounterSchema < 3) {
+    o.etag = "foo";
+    o.fields = buildUnnamed497();
+    o.kind = "foo";
+    o.schemaId = "foo";
+    o.schemaName = "foo";
+  }
+  buildCounterSchema--;
+  return o;
+}
+
+checkSchema(api.Schema o) {
+  buildCounterSchema++;
+  if (buildCounterSchema < 3) {
+    unittest.expect(o.etag, unittest.equals('foo'));
+    checkUnnamed497(o.fields);
+    unittest.expect(o.kind, unittest.equals('foo'));
+    unittest.expect(o.schemaId, unittest.equals('foo'));
+    unittest.expect(o.schemaName, unittest.equals('foo'));
+  }
+  buildCounterSchema--;
+}
+
+core.int buildCounterSchemaFieldSpecNumericIndexingSpec = 0;
+buildSchemaFieldSpecNumericIndexingSpec() {
+  var o = new api.SchemaFieldSpecNumericIndexingSpec();
+  buildCounterSchemaFieldSpecNumericIndexingSpec++;
+  if (buildCounterSchemaFieldSpecNumericIndexingSpec < 3) {
+    o.maxValue = 42.0;
+    o.minValue = 42.0;
+  }
+  buildCounterSchemaFieldSpecNumericIndexingSpec--;
+  return o;
+}
+
+checkSchemaFieldSpecNumericIndexingSpec(api.SchemaFieldSpecNumericIndexingSpec o) {
+  buildCounterSchemaFieldSpecNumericIndexingSpec++;
+  if (buildCounterSchemaFieldSpecNumericIndexingSpec < 3) {
+    unittest.expect(o.maxValue, unittest.equals(42.0));
+    unittest.expect(o.minValue, unittest.equals(42.0));
+  }
+  buildCounterSchemaFieldSpecNumericIndexingSpec--;
+}
+
+core.int buildCounterSchemaFieldSpec = 0;
+buildSchemaFieldSpec() {
+  var o = new api.SchemaFieldSpec();
+  buildCounterSchemaFieldSpec++;
+  if (buildCounterSchemaFieldSpec < 3) {
+    o.etag = "foo";
+    o.fieldId = "foo";
+    o.fieldName = "foo";
+    o.fieldType = "foo";
+    o.indexed = true;
+    o.kind = "foo";
+    o.multiValued = true;
+    o.numericIndexingSpec = buildSchemaFieldSpecNumericIndexingSpec();
+    o.readAccessType = "foo";
+  }
+  buildCounterSchemaFieldSpec--;
+  return o;
+}
+
+checkSchemaFieldSpec(api.SchemaFieldSpec o) {
+  buildCounterSchemaFieldSpec++;
+  if (buildCounterSchemaFieldSpec < 3) {
+    unittest.expect(o.etag, unittest.equals('foo'));
+    unittest.expect(o.fieldId, unittest.equals('foo'));
+    unittest.expect(o.fieldName, unittest.equals('foo'));
+    unittest.expect(o.fieldType, unittest.equals('foo'));
+    unittest.expect(o.indexed, unittest.isTrue);
+    unittest.expect(o.kind, unittest.equals('foo'));
+    unittest.expect(o.multiValued, unittest.isTrue);
+    checkSchemaFieldSpecNumericIndexingSpec(o.numericIndexingSpec);
+    unittest.expect(o.readAccessType, unittest.equals('foo'));
+  }
+  buildCounterSchemaFieldSpec--;
+}
+
+buildUnnamed498() {
+  var o = new core.List<api.Schema>();
+  o.add(buildSchema());
+  o.add(buildSchema());
+  return o;
+}
+
+checkUnnamed498(core.List<api.Schema> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkSchema(o[0]);
+  checkSchema(o[1]);
+}
+
+core.int buildCounterSchemas = 0;
+buildSchemas() {
+  var o = new api.Schemas();
+  buildCounterSchemas++;
+  if (buildCounterSchemas < 3) {
+    o.etag = "foo";
+    o.kind = "foo";
+    o.schemas = buildUnnamed498();
+  }
+  buildCounterSchemas--;
+  return o;
+}
+
+checkSchemas(api.Schemas o) {
+  buildCounterSchemas++;
+  if (buildCounterSchemas < 3) {
+    unittest.expect(o.etag, unittest.equals('foo'));
+    unittest.expect(o.kind, unittest.equals('foo'));
+    checkUnnamed498(o.schemas);
+  }
+  buildCounterSchemas--;
+}
+
+buildUnnamed499() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed472(core.List<core.String> o) {
+checkUnnamed499(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -868,7 +1000,7 @@
     o.etag = "foo";
     o.kind = "foo";
     o.nativeApp = true;
-    o.scopes = buildUnnamed472();
+    o.scopes = buildUnnamed499();
     o.userKey = "foo";
   }
   buildCounterToken--;
@@ -884,20 +1016,20 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nativeApp, unittest.isTrue);
-    checkUnnamed472(o.scopes);
+    checkUnnamed499(o.scopes);
     unittest.expect(o.userKey, unittest.equals('foo'));
   }
   buildCounterToken--;
 }
 
-buildUnnamed473() {
+buildUnnamed500() {
   var o = new core.List<api.Token>();
   o.add(buildToken());
   o.add(buildToken());
   return o;
 }
 
-checkUnnamed473(core.List<api.Token> o) {
+checkUnnamed500(core.List<api.Token> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkToken(o[0]);
   checkToken(o[1]);
@@ -909,7 +1041,7 @@
   buildCounterTokens++;
   if (buildCounterTokens < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed473();
+    o.items = buildUnnamed500();
     o.kind = "foo";
   }
   buildCounterTokens--;
@@ -920,33 +1052,46 @@
   buildCounterTokens++;
   if (buildCounterTokens < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed473(o.items);
+    checkUnnamed500(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTokens--;
 }
 
-buildUnnamed474() {
+buildUnnamed501() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed474(core.List<core.String> o) {
+checkUnnamed501(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed475() {
+buildUnnamed502() {
+  var o = new core.Map<core.String, api.UserCustomProperties>();
+  o["x"] = buildUserCustomProperties();
+  o["y"] = buildUserCustomProperties();
+  return o;
+}
+
+checkUnnamed502(core.Map<core.String, api.UserCustomProperties> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkUserCustomProperties(o["x"]);
+  checkUserCustomProperties(o["y"]);
+}
+
+buildUnnamed503() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed475(core.List<core.String> o) {
+checkUnnamed503(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -959,9 +1104,10 @@
   if (buildCounterUser < 3) {
     o.addresses = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
     o.agreedToTerms = true;
-    o.aliases = buildUnnamed474();
+    o.aliases = buildUnnamed501();
     o.changePasswordAtNextLogin = true;
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.customSchemas = buildUnnamed502();
     o.customerId = "foo";
     o.deletionTime = core.DateTime.parse("2002-02-27T14:01:02");
     o.emails = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
@@ -978,7 +1124,7 @@
     o.kind = "foo";
     o.lastLoginTime = core.DateTime.parse("2002-02-27T14:01:02");
     o.name = buildUserName();
-    o.nonEditableAliases = buildUnnamed475();
+    o.nonEditableAliases = buildUnnamed503();
     o.orgUnitPath = "foo";
     o.organizations = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
     o.password = "foo";
@@ -998,9 +1144,10 @@
   if (buildCounterUser < 3) {
     var casted1 = (o.addresses) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
     unittest.expect(o.agreedToTerms, unittest.isTrue);
-    checkUnnamed474(o.aliases);
+    checkUnnamed501(o.aliases);
     unittest.expect(o.changePasswordAtNextLogin, unittest.isTrue);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    checkUnnamed502(o.customSchemas);
     unittest.expect(o.customerId, unittest.equals('foo'));
     unittest.expect(o.deletionTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     var casted2 = (o.emails) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
@@ -1017,7 +1164,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastLoginTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     checkUserName(o.name);
-    checkUnnamed475(o.nonEditableAliases);
+    checkUnnamed503(o.nonEditableAliases);
     unittest.expect(o.orgUnitPath, unittest.equals('foo'));
     var casted5 = (o.organizations) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect(casted5["list"], unittest.equals([1, 2, 3])); unittest.expect(casted5["bool"], unittest.equals(true)); unittest.expect(casted5["string"], unittest.equals('foo')); 
     unittest.expect(o.password, unittest.equals('foo'));
@@ -1074,6 +1221,19 @@
   buildCounterUserAddress--;
 }
 
+buildUserCustomProperties() {
+  var o = new api.UserCustomProperties();
+  o["a"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
+  o["b"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
+  return o;
+}
+
+checkUserCustomProperties(api.UserCustomProperties o) {
+  unittest.expect(o, unittest.hasLength(2));
+  var casted8 = (o["a"]) as core.Map; unittest.expect(casted8, unittest.hasLength(3)); unittest.expect(casted8["list"], unittest.equals([1, 2, 3])); unittest.expect(casted8["bool"], unittest.equals(true)); unittest.expect(casted8["string"], unittest.equals('foo')); 
+  var casted9 = (o["b"]) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); unittest.expect(casted9["list"], unittest.equals([1, 2, 3])); unittest.expect(casted9["bool"], unittest.equals(true)); unittest.expect(casted9["string"], unittest.equals('foo')); 
+}
+
 core.int buildCounterUserEmail = 0;
 buildUserEmail() {
   var o = new api.UserEmail();
@@ -1332,14 +1492,14 @@
   buildCounterUserUndelete--;
 }
 
-buildUnnamed476() {
+buildUnnamed504() {
   var o = new core.List<api.User>();
   o.add(buildUser());
   o.add(buildUser());
   return o;
 }
 
-checkUnnamed476(core.List<api.User> o) {
+checkUnnamed504(core.List<api.User> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUser(o[0]);
   checkUser(o[1]);
@@ -1354,7 +1514,7 @@
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.triggerEvent = "foo";
-    o.users = buildUnnamed476();
+    o.users = buildUnnamed504();
   }
   buildCounterUsers--;
   return o;
@@ -1367,7 +1527,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.triggerEvent, unittest.equals('foo'));
-    checkUnnamed476(o.users);
+    checkUnnamed504(o.users);
   }
   buildCounterUsers--;
 }
@@ -1397,14 +1557,14 @@
   buildCounterVerificationCode--;
 }
 
-buildUnnamed477() {
+buildUnnamed505() {
   var o = new core.List<api.VerificationCode>();
   o.add(buildVerificationCode());
   o.add(buildVerificationCode());
   return o;
 }
 
-checkUnnamed477(core.List<api.VerificationCode> o) {
+checkUnnamed505(core.List<api.VerificationCode> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVerificationCode(o[0]);
   checkVerificationCode(o[1]);
@@ -1416,7 +1576,7 @@
   buildCounterVerificationCodes++;
   if (buildCounterVerificationCodes < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed477();
+    o.items = buildUnnamed505();
     o.kind = "foo";
   }
   buildCounterVerificationCodes--;
@@ -1427,59 +1587,59 @@
   buildCounterVerificationCodes++;
   if (buildCounterVerificationCodes < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed477(o.items);
+    checkUnnamed505(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterVerificationCodes--;
 }
 
-buildUnnamed478() {
+buildUnnamed506() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed478(core.List<core.String> o) {
+checkUnnamed506(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed479() {
+buildUnnamed507() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed479(core.List<core.String> o) {
+checkUnnamed507(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed480() {
+buildUnnamed508() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed480(core.List<core.String> o) {
+checkUnnamed508(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed481() {
+buildUnnamed509() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed481(core.List<core.String> o) {
+checkUnnamed509(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1667,6 +1827,42 @@
   });
 
 
+  unittest.group("obj-schema-Schema", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSchema();
+      var od = new api.Schema.fromJson(o.toJson());
+      checkSchema(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-SchemaFieldSpecNumericIndexingSpec", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSchemaFieldSpecNumericIndexingSpec();
+      var od = new api.SchemaFieldSpecNumericIndexingSpec.fromJson(o.toJson());
+      checkSchemaFieldSpecNumericIndexingSpec(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-SchemaFieldSpec", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSchemaFieldSpec();
+      var od = new api.SchemaFieldSpec.fromJson(o.toJson());
+      checkSchemaFieldSpec(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-Schemas", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSchemas();
+      var od = new api.Schemas.fromJson(o.toJson());
+      checkSchemas(od);
+    });
+  });
+
+
   unittest.group("obj-schema-Token", () {
     unittest.test("to-json--from-json", () {
       var o = buildToken();
@@ -1703,6 +1899,15 @@
   });
 
 
+  unittest.group("obj-schema-UserCustomProperties", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildUserCustomProperties();
+      var od = new api.UserCustomProperties.fromJson(o.toJson());
+      checkUserCustomProperties(od);
+    });
+  });
+
+
   unittest.group("obj-schema-UserEmail", () {
     unittest.test("to-json--from-json", () {
       var o = buildUserEmail();
@@ -1832,8 +2037,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/asps/", pathOffset);
@@ -1885,8 +2092,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/asps/", pathOffset);
@@ -1939,8 +2148,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/asps", pathOffset);
@@ -1997,8 +2208,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/admin/directory_v1/channels/stop"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("admin/directory_v1/channels/stop"));
+        pathOffset += 32;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2043,8 +2256,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/chromeos/", pathOffset);
@@ -2104,8 +2319,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/chromeos", pathOffset);
@@ -2167,8 +2384,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/chromeos/", pathOffset);
@@ -2228,8 +2447,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/chromeos/", pathOffset);
@@ -2287,8 +2508,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2332,8 +2555,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2382,8 +2607,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("groups"));
         pathOffset += 6;
 
@@ -2430,8 +2657,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("groups"));
         pathOffset += 6;
 
@@ -2483,8 +2712,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2534,8 +2765,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2586,8 +2819,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/aliases/", pathOffset);
@@ -2642,8 +2877,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/aliases", pathOffset);
@@ -2693,8 +2930,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/aliases", pathOffset);
@@ -2749,8 +2988,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members/", pathOffset);
@@ -2802,8 +3043,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members/", pathOffset);
@@ -2860,8 +3103,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members", pathOffset);
@@ -2914,8 +3159,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members", pathOffset);
@@ -2973,8 +3220,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members/", pathOffset);
@@ -3032,8 +3281,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("groups/"));
         pathOffset += 7;
         index = path.indexOf("/members/", pathOffset);
@@ -3095,8 +3346,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/mobile/", pathOffset);
@@ -3152,8 +3405,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/mobile/", pathOffset);
@@ -3206,8 +3461,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/mobile/", pathOffset);
@@ -3267,8 +3524,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/devices/mobile", pathOffset);
@@ -3329,8 +3588,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/notifications/", pathOffset);
@@ -3382,8 +3643,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/notifications/", pathOffset);
@@ -3439,8 +3702,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/notifications", pathOffset);
@@ -3498,8 +3763,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/notifications/", pathOffset);
@@ -3557,8 +3824,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/notifications/", pathOffset);
@@ -3610,14 +3879,16 @@
       var mock = new common_test.HttpServerMock();
       api.OrgunitsResourceApi res = new api.AdminApi(mock).orgunits;
       var arg_customerId = "foo";
-      var arg_orgUnitPath = buildUnnamed478();
+      var arg_orgUnitPath = buildUnnamed506();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3662,14 +3933,16 @@
       var mock = new common_test.HttpServerMock();
       api.OrgunitsResourceApi res = new api.AdminApi(mock).orgunits;
       var arg_customerId = "foo";
-      var arg_orgUnitPath = buildUnnamed479();
+      var arg_orgUnitPath = buildUnnamed507();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3725,8 +3998,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3778,8 +4053,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3827,7 +4104,7 @@
       api.OrgunitsResourceApi res = new api.AdminApi(mock).orgunits;
       var arg_request = buildOrgUnit();
       var arg_customerId = "foo";
-      var arg_orgUnitPath = buildUnnamed480();
+      var arg_orgUnitPath = buildUnnamed508();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var obj = new api.OrgUnit.fromJson(json);
         checkOrgUnit(obj);
@@ -3836,8 +4113,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3885,7 +4164,7 @@
       api.OrgunitsResourceApi res = new api.AdminApi(mock).orgunits;
       var arg_request = buildOrgUnit();
       var arg_customerId = "foo";
-      var arg_orgUnitPath = buildUnnamed481();
+      var arg_orgUnitPath = buildUnnamed509();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var obj = new api.OrgUnit.fromJson(json);
         checkOrgUnit(obj);
@@ -3894,8 +4173,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
         pathOffset += 9;
         index = path.indexOf("/orgunits", pathOffset);
@@ -3940,6 +4221,354 @@
   });
 
 
+  unittest.group("resource-SchemasResourceApi", () {
+    unittest.test("method--delete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_customerId = "foo";
+      var arg_schemaKey = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas/", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schemas/"));
+        pathOffset += 9;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_schemaKey"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = "";
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.delete(arg_customerId, arg_schemaKey).then(unittest.expectAsync((_) {}));
+    });
+
+    unittest.test("method--get", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_customerId = "foo";
+      var arg_schemaKey = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas/", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schemas/"));
+        pathOffset += 9;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_schemaKey"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSchema());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.get(arg_customerId, arg_schemaKey).then(unittest.expectAsync(((api.Schema response) {
+        checkSchema(response);
+      })));
+    });
+
+    unittest.test("method--insert", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_request = buildSchema();
+      var arg_customerId = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.Schema.fromJson(json);
+        checkSchema(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/schemas"));
+        pathOffset += 8;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSchema());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.insert(arg_request, arg_customerId).then(unittest.expectAsync(((api.Schema response) {
+        checkSchema(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_customerId = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/schemas"));
+        pathOffset += 8;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSchemas());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_customerId).then(unittest.expectAsync(((api.Schemas response) {
+        checkSchemas(response);
+      })));
+    });
+
+    unittest.test("method--patch", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_request = buildSchema();
+      var arg_customerId = "foo";
+      var arg_schemaKey = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.Schema.fromJson(json);
+        checkSchema(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas/", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schemas/"));
+        pathOffset += 9;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_schemaKey"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSchema());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.patch(arg_request, arg_customerId, arg_schemaKey).then(unittest.expectAsync(((api.Schema response) {
+        checkSchema(response);
+      })));
+    });
+
+    unittest.test("method--update", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.SchemasResourceApi res = new api.AdminApi(mock).schemas;
+      var arg_request = buildSchema();
+      var arg_customerId = "foo";
+      var arg_schemaKey = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.Schema.fromJson(json);
+        checkSchema(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customer/"));
+        pathOffset += 9;
+        index = path.indexOf("/schemas/", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_customerId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schemas/"));
+        pathOffset += 9;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_schemaKey"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSchema());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.update(arg_request, arg_customerId, arg_schemaKey).then(unittest.expectAsync(((api.Schema response) {
+        checkSchema(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-TokensResourceApi", () {
     unittest.test("method--delete", () {
 
@@ -3952,8 +4581,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/tokens/", pathOffset);
@@ -4005,8 +4636,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/tokens/", pathOffset);
@@ -4059,8 +4692,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/tokens", pathOffset);
@@ -4114,8 +4749,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4154,13 +4791,18 @@
       var mock = new common_test.HttpServerMock();
       api.UsersResourceApi res = new api.AdminApi(mock).users;
       var arg_userKey = "foo";
+      var arg_customFieldMask = "foo";
+      var arg_projection = "foo";
+      var arg_viewType = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4183,6 +4825,9 @@
             addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
           }
         }
+        unittest.expect(queryMap["customFieldMask"].first, unittest.equals(arg_customFieldMask));
+        unittest.expect(queryMap["projection"].first, unittest.equals(arg_projection));
+        unittest.expect(queryMap["viewType"].first, unittest.equals(arg_viewType));
 
 
         var h = {
@@ -4191,7 +4836,7 @@
         var resp = convert.JSON.encode(buildUser());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.get(arg_userKey).then(unittest.expectAsync(((api.User response) {
+      res.get(arg_userKey, customFieldMask: arg_customFieldMask, projection: arg_projection, viewType: arg_viewType).then(unittest.expectAsync(((api.User response) {
         checkUser(response);
       })));
     });
@@ -4209,8 +4854,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("users"));
         pathOffset += 5;
 
@@ -4247,22 +4894,27 @@
 
       var mock = new common_test.HttpServerMock();
       api.UsersResourceApi res = new api.AdminApi(mock).users;
+      var arg_customFieldMask = "foo";
       var arg_customer = "foo";
       var arg_domain = "foo";
       var arg_event = "foo";
       var arg_maxResults = 42;
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
+      var arg_projection = "foo";
       var arg_query = "foo";
       var arg_showDeleted = "foo";
       var arg_sortOrder = "foo";
+      var arg_viewType = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("users"));
         pathOffset += 5;
 
@@ -4282,15 +4934,18 @@
             addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
           }
         }
+        unittest.expect(queryMap["customFieldMask"].first, unittest.equals(arg_customFieldMask));
         unittest.expect(queryMap["customer"].first, unittest.equals(arg_customer));
         unittest.expect(queryMap["domain"].first, unittest.equals(arg_domain));
         unittest.expect(queryMap["event"].first, unittest.equals(arg_event));
         unittest.expect(core.int.parse(queryMap["maxResults"].first), unittest.equals(arg_maxResults));
         unittest.expect(queryMap["orderBy"].first, unittest.equals(arg_orderBy));
         unittest.expect(queryMap["pageToken"].first, unittest.equals(arg_pageToken));
+        unittest.expect(queryMap["projection"].first, unittest.equals(arg_projection));
         unittest.expect(queryMap["query"].first, unittest.equals(arg_query));
         unittest.expect(queryMap["showDeleted"].first, unittest.equals(arg_showDeleted));
         unittest.expect(queryMap["sortOrder"].first, unittest.equals(arg_sortOrder));
+        unittest.expect(queryMap["viewType"].first, unittest.equals(arg_viewType));
 
 
         var h = {
@@ -4299,7 +4954,7 @@
         var resp = convert.JSON.encode(buildUsers());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.list(customer: arg_customer, domain: arg_domain, event: arg_event, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, query: arg_query, showDeleted: arg_showDeleted, sortOrder: arg_sortOrder).then(unittest.expectAsync(((api.Users response) {
+      res.list(customFieldMask: arg_customFieldMask, customer: arg_customer, domain: arg_domain, event: arg_event, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, projection: arg_projection, query: arg_query, showDeleted: arg_showDeleted, sortOrder: arg_sortOrder, viewType: arg_viewType).then(unittest.expectAsync(((api.Users response) {
         checkUsers(response);
       })));
     });
@@ -4318,8 +4973,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/makeAdmin", pathOffset);
@@ -4371,8 +5028,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4422,8 +5081,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/undelete", pathOffset);
@@ -4475,8 +5136,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4517,15 +5180,18 @@
       var mock = new common_test.HttpServerMock();
       api.UsersResourceApi res = new api.AdminApi(mock).users;
       var arg_request = buildChannel();
+      var arg_customFieldMask = "foo";
       var arg_customer = "foo";
       var arg_domain = "foo";
       var arg_event = "foo";
       var arg_maxResults = 42;
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
+      var arg_projection = "foo";
       var arg_query = "foo";
       var arg_showDeleted = "foo";
       var arg_sortOrder = "foo";
+      var arg_viewType = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var obj = new api.Channel.fromJson(json);
         checkChannel(obj);
@@ -4534,8 +5200,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("users/watch"));
         pathOffset += 11;
 
@@ -4555,15 +5223,18 @@
             addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
           }
         }
+        unittest.expect(queryMap["customFieldMask"].first, unittest.equals(arg_customFieldMask));
         unittest.expect(queryMap["customer"].first, unittest.equals(arg_customer));
         unittest.expect(queryMap["domain"].first, unittest.equals(arg_domain));
         unittest.expect(queryMap["event"].first, unittest.equals(arg_event));
         unittest.expect(core.int.parse(queryMap["maxResults"].first), unittest.equals(arg_maxResults));
         unittest.expect(queryMap["orderBy"].first, unittest.equals(arg_orderBy));
         unittest.expect(queryMap["pageToken"].first, unittest.equals(arg_pageToken));
+        unittest.expect(queryMap["projection"].first, unittest.equals(arg_projection));
         unittest.expect(queryMap["query"].first, unittest.equals(arg_query));
         unittest.expect(queryMap["showDeleted"].first, unittest.equals(arg_showDeleted));
         unittest.expect(queryMap["sortOrder"].first, unittest.equals(arg_sortOrder));
+        unittest.expect(queryMap["viewType"].first, unittest.equals(arg_viewType));
 
 
         var h = {
@@ -4572,7 +5243,7 @@
         var resp = convert.JSON.encode(buildChannel());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.watch(arg_request, customer: arg_customer, domain: arg_domain, event: arg_event, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, query: arg_query, showDeleted: arg_showDeleted, sortOrder: arg_sortOrder).then(unittest.expectAsync(((api.Channel response) {
+      res.watch(arg_request, customFieldMask: arg_customFieldMask, customer: arg_customer, domain: arg_domain, event: arg_event, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, projection: arg_projection, query: arg_query, showDeleted: arg_showDeleted, sortOrder: arg_sortOrder, viewType: arg_viewType).then(unittest.expectAsync(((api.Channel response) {
         checkChannel(response);
       })));
     });
@@ -4592,8 +5263,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/aliases/", pathOffset);
@@ -4648,8 +5321,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/aliases", pathOffset);
@@ -4700,8 +5375,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/aliases", pathOffset);
@@ -4757,8 +5434,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/aliases/watch", pathOffset);
@@ -4813,8 +5492,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/photos/thumbnail", pathOffset);
@@ -4862,8 +5543,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/photos/thumbnail", pathOffset);
@@ -4917,8 +5600,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/photos/thumbnail", pathOffset);
@@ -4972,8 +5657,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/photos/thumbnail", pathOffset);
@@ -5027,8 +5714,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/verificationCodes/generate", pathOffset);
@@ -5076,8 +5765,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/verificationCodes/invalidate", pathOffset);
@@ -5125,8 +5816,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/admin/directory/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("admin/directory/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/verificationCodes", pathOffset);
diff --git a/generated/googleapis/test/admin/email_migration_v2_test.dart b/generated/googleapis/test/admin/email_migration_v2_test.dart
index 900efc2..8bb3315 100644
--- a/generated/googleapis/test/admin/email_migration_v2_test.dart
+++ b/generated/googleapis/test/admin/email_migration_v2_test.dart
@@ -92,15 +92,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/email/v2/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/mail", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userKey"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/mail"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/admin/reports_v1_test.dart b/generated/googleapis/test/admin/reports_v1_test.dart
index 9a9ae01..ae6300c 100644
--- a/generated/googleapis/test/admin/reports_v1_test.dart
+++ b/generated/googleapis/test/admin/reports_v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed384() {
+buildUnnamed407() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed384(core.List<api.Activity> o) {
+checkUnnamed407(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -35,7 +35,7 @@
   buildCounterActivities++;
   if (buildCounterActivities < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed384();
+    o.items = buildUnnamed407();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -47,7 +47,7 @@
   buildCounterActivities++;
   if (buildCounterActivities < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed384(o.items);
+    checkUnnamed407(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -79,6 +79,32 @@
   buildCounterActivityActor--;
 }
 
+buildUnnamed408() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed408(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed409() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed409(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
 core.int buildCounterActivityEventsParameters = 0;
 buildActivityEventsParameters() {
   var o = new api.ActivityEventsParameters();
@@ -86,6 +112,8 @@
   if (buildCounterActivityEventsParameters < 3) {
     o.boolValue = true;
     o.intValue = "foo";
+    o.multiIntValue = buildUnnamed408();
+    o.multiValue = buildUnnamed409();
     o.name = "foo";
     o.value = "foo";
   }
@@ -98,20 +126,22 @@
   if (buildCounterActivityEventsParameters < 3) {
     unittest.expect(o.boolValue, unittest.isTrue);
     unittest.expect(o.intValue, unittest.equals('foo'));
+    checkUnnamed408(o.multiIntValue);
+    checkUnnamed409(o.multiValue);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.value, unittest.equals('foo'));
   }
   buildCounterActivityEventsParameters--;
 }
 
-buildUnnamed385() {
+buildUnnamed410() {
   var o = new core.List<api.ActivityEventsParameters>();
   o.add(buildActivityEventsParameters());
   o.add(buildActivityEventsParameters());
   return o;
 }
 
-checkUnnamed385(core.List<api.ActivityEventsParameters> o) {
+checkUnnamed410(core.List<api.ActivityEventsParameters> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityEventsParameters(o[0]);
   checkActivityEventsParameters(o[1]);
@@ -123,7 +153,7 @@
   buildCounterActivityEvents++;
   if (buildCounterActivityEvents < 3) {
     o.name = "foo";
-    o.parameters = buildUnnamed385();
+    o.parameters = buildUnnamed410();
     o.type = "foo";
   }
   buildCounterActivityEvents--;
@@ -134,20 +164,20 @@
   buildCounterActivityEvents++;
   if (buildCounterActivityEvents < 3) {
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed385(o.parameters);
+    checkUnnamed410(o.parameters);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterActivityEvents--;
 }
 
-buildUnnamed386() {
+buildUnnamed411() {
   var o = new core.List<api.ActivityEvents>();
   o.add(buildActivityEvents());
   o.add(buildActivityEvents());
   return o;
 }
 
-checkUnnamed386(core.List<api.ActivityEvents> o) {
+checkUnnamed411(core.List<api.ActivityEvents> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityEvents(o[0]);
   checkActivityEvents(o[1]);
@@ -185,7 +215,7 @@
   if (buildCounterActivity < 3) {
     o.actor = buildActivityActor();
     o.etag = "foo";
-    o.events = buildUnnamed386();
+    o.events = buildUnnamed411();
     o.id = buildActivityId();
     o.ipAddress = "foo";
     o.kind = "foo";
@@ -200,7 +230,7 @@
   if (buildCounterActivity < 3) {
     checkActivityActor(o.actor);
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed386(o.events);
+    checkUnnamed411(o.events);
     checkActivityId(o.id);
     unittest.expect(o.ipAddress, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -209,14 +239,14 @@
   buildCounterActivity--;
 }
 
-buildUnnamed387() {
+buildUnnamed412() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed387(core.Map<core.String, core.String> o) {
+checkUnnamed412(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -231,7 +261,7 @@
     o.expiration = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.params = buildUnnamed387();
+    o.params = buildUnnamed412();
     o.payload = true;
     o.resourceId = "foo";
     o.resourceUri = "foo";
@@ -249,7 +279,7 @@
     unittest.expect(o.expiration, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed387(o.params);
+    checkUnnamed412(o.params);
     unittest.expect(o.payload, unittest.isTrue);
     unittest.expect(o.resourceId, unittest.equals('foo'));
     unittest.expect(o.resourceUri, unittest.equals('foo'));
@@ -284,30 +314,30 @@
   buildCounterUsageReportEntity--;
 }
 
-buildUnnamed388() {
+buildUnnamed413() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   o["y"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   return o;
 }
 
-checkUnnamed388(core.Map<core.String, core.Object> o) {
+checkUnnamed413(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o["x"]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o["y"]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed389() {
+buildUnnamed414() {
   var o = new core.List<core.Map<core.String, core.Object>>();
-  o.add(buildUnnamed388());
-  o.add(buildUnnamed388());
+  o.add(buildUnnamed413());
+  o.add(buildUnnamed413());
   return o;
 }
 
-checkUnnamed389(core.List<core.Map<core.String, core.Object>> o) {
+checkUnnamed414(core.List<core.Map<core.String, core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed388(o[0]);
-  checkUnnamed388(o[1]);
+  checkUnnamed413(o[0]);
+  checkUnnamed413(o[1]);
 }
 
 core.int buildCounterUsageReportParameters = 0;
@@ -318,7 +348,7 @@
     o.boolValue = true;
     o.datetimeValue = core.DateTime.parse("2002-02-27T14:01:02");
     o.intValue = "foo";
-    o.msgValue = buildUnnamed389();
+    o.msgValue = buildUnnamed414();
     o.name = "foo";
     o.stringValue = "foo";
   }
@@ -332,21 +362,21 @@
     unittest.expect(o.boolValue, unittest.isTrue);
     unittest.expect(o.datetimeValue, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.intValue, unittest.equals('foo'));
-    checkUnnamed389(o.msgValue);
+    checkUnnamed414(o.msgValue);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.stringValue, unittest.equals('foo'));
   }
   buildCounterUsageReportParameters--;
 }
 
-buildUnnamed390() {
+buildUnnamed415() {
   var o = new core.List<api.UsageReportParameters>();
   o.add(buildUsageReportParameters());
   o.add(buildUsageReportParameters());
   return o;
 }
 
-checkUnnamed390(core.List<api.UsageReportParameters> o) {
+checkUnnamed415(core.List<api.UsageReportParameters> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUsageReportParameters(o[0]);
   checkUsageReportParameters(o[1]);
@@ -361,7 +391,7 @@
     o.entity = buildUsageReportEntity();
     o.etag = "foo";
     o.kind = "foo";
-    o.parameters = buildUnnamed390();
+    o.parameters = buildUnnamed415();
   }
   buildCounterUsageReport--;
   return o;
@@ -374,19 +404,19 @@
     checkUsageReportEntity(o.entity);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed390(o.parameters);
+    checkUnnamed415(o.parameters);
   }
   buildCounterUsageReport--;
 }
 
-buildUnnamed391() {
+buildUnnamed416() {
   var o = new core.List<api.UsageReport>();
   o.add(buildUsageReport());
   o.add(buildUsageReport());
   return o;
 }
 
-checkUnnamed391(core.List<api.UsageReport> o) {
+checkUnnamed416(core.List<api.UsageReport> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUsageReport(o[0]);
   checkUsageReport(o[1]);
@@ -413,14 +443,14 @@
   buildCounterUsageReportsWarningsData--;
 }
 
-buildUnnamed392() {
+buildUnnamed417() {
   var o = new core.List<api.UsageReportsWarningsData>();
   o.add(buildUsageReportsWarningsData());
   o.add(buildUsageReportsWarningsData());
   return o;
 }
 
-checkUnnamed392(core.List<api.UsageReportsWarningsData> o) {
+checkUnnamed417(core.List<api.UsageReportsWarningsData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUsageReportsWarningsData(o[0]);
   checkUsageReportsWarningsData(o[1]);
@@ -432,7 +462,7 @@
   buildCounterUsageReportsWarnings++;
   if (buildCounterUsageReportsWarnings < 3) {
     o.code = "foo";
-    o.data = buildUnnamed392();
+    o.data = buildUnnamed417();
     o.message = "foo";
   }
   buildCounterUsageReportsWarnings--;
@@ -443,20 +473,20 @@
   buildCounterUsageReportsWarnings++;
   if (buildCounterUsageReportsWarnings < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed392(o.data);
+    checkUnnamed417(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterUsageReportsWarnings--;
 }
 
-buildUnnamed393() {
+buildUnnamed418() {
   var o = new core.List<api.UsageReportsWarnings>();
   o.add(buildUsageReportsWarnings());
   o.add(buildUsageReportsWarnings());
   return o;
 }
 
-checkUnnamed393(core.List<api.UsageReportsWarnings> o) {
+checkUnnamed418(core.List<api.UsageReportsWarnings> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUsageReportsWarnings(o[0]);
   checkUsageReportsWarnings(o[1]);
@@ -470,8 +500,8 @@
     o.etag = "foo";
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.usageReports = buildUnnamed391();
-    o.warnings = buildUnnamed393();
+    o.usageReports = buildUnnamed416();
+    o.warnings = buildUnnamed418();
   }
   buildCounterUsageReports--;
   return o;
@@ -483,8 +513,8 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed391(o.usageReports);
-    checkUnnamed393(o.warnings);
+    checkUnnamed416(o.usageReports);
+    checkUnnamed418(o.warnings);
   }
   buildCounterUsageReports--;
 }
@@ -628,8 +658,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/admin/reports/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("admin/reports/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("activity/users/"));
         pathOffset += 15;
         index = path.indexOf("/applications/", pathOffset);
@@ -703,8 +735,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/admin/reports/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("admin/reports/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("activity/users/"));
         pathOffset += 15;
         index = path.indexOf("/applications/", pathOffset);
@@ -776,8 +810,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 31), unittest.equals("/admin/reports_v1/channels/stop"));
-        pathOffset += 31;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("admin/reports_v1/channels/stop"));
+        pathOffset += 30;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -823,8 +859,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/admin/reports/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("admin/reports/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("usage/dates/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -883,8 +921,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/admin/reports/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("admin/reports/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("usage/users/"));
         pathOffset += 12;
         index = path.indexOf("/dates/", pathOffset);
diff --git a/generated/googleapis/test/adsense/v1_4_test.dart b/generated/googleapis/test/adsense/v1_4_test.dart
index 219c3b0..f524bce 100644
--- a/generated/googleapis/test/adsense/v1_4_test.dart
+++ b/generated/googleapis/test/adsense/v1_4_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed807() {
+buildUnnamed835() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed807(core.List<api.Account> o) {
+checkUnnamed835(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -38,7 +38,7 @@
     o.kind = "foo";
     o.name = "foo";
     o.premium = true;
-    o.subAccounts = buildUnnamed807();
+    o.subAccounts = buildUnnamed835();
     o.timezone = "foo";
   }
   buildCounterAccount--;
@@ -52,20 +52,20 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.premium, unittest.isTrue);
-    checkUnnamed807(o.subAccounts);
+    checkUnnamed835(o.subAccounts);
     unittest.expect(o.timezone, unittest.equals('foo'));
   }
   buildCounterAccount--;
 }
 
-buildUnnamed808() {
+buildUnnamed836() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed808(core.List<api.Account> o) {
+checkUnnamed836(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -77,7 +77,7 @@
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed808();
+    o.items = buildUnnamed836();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -89,7 +89,7 @@
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed808(o.items);
+    checkUnnamed836(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -125,14 +125,14 @@
   buildCounterAdClient--;
 }
 
-buildUnnamed809() {
+buildUnnamed837() {
   var o = new core.List<api.AdClient>();
   o.add(buildAdClient());
   o.add(buildAdClient());
   return o;
 }
 
-checkUnnamed809(core.List<api.AdClient> o) {
+checkUnnamed837(core.List<api.AdClient> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdClient(o[0]);
   checkAdClient(o[1]);
@@ -144,7 +144,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed809();
+    o.items = buildUnnamed837();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -156,7 +156,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed809(o.items);
+    checkUnnamed837(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -390,14 +390,14 @@
   buildCounterAdUnit--;
 }
 
-buildUnnamed810() {
+buildUnnamed838() {
   var o = new core.List<api.AdUnit>();
   o.add(buildAdUnit());
   o.add(buildAdUnit());
   return o;
 }
 
-checkUnnamed810(core.List<api.AdUnit> o) {
+checkUnnamed838(core.List<api.AdUnit> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdUnit(o[0]);
   checkAdUnit(o[1]);
@@ -409,7 +409,7 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed810();
+    o.items = buildUnnamed838();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -421,21 +421,21 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed810(o.items);
+    checkUnnamed838(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterAdUnits--;
 }
 
-buildUnnamed811() {
+buildUnnamed839() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed811(core.List<core.String> o) {
+checkUnnamed839(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -464,66 +464,66 @@
   buildCounterAdsenseReportsGenerateResponseHeaders--;
 }
 
-buildUnnamed812() {
+buildUnnamed840() {
   var o = new core.List<api.AdsenseReportsGenerateResponseHeaders>();
   o.add(buildAdsenseReportsGenerateResponseHeaders());
   o.add(buildAdsenseReportsGenerateResponseHeaders());
   return o;
 }
 
-checkUnnamed812(core.List<api.AdsenseReportsGenerateResponseHeaders> o) {
+checkUnnamed840(core.List<api.AdsenseReportsGenerateResponseHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdsenseReportsGenerateResponseHeaders(o[0]);
   checkAdsenseReportsGenerateResponseHeaders(o[1]);
 }
 
-buildUnnamed813() {
+buildUnnamed841() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed813(core.List<core.String> o) {
+checkUnnamed841(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed814() {
+buildUnnamed842() {
   var o = new core.List<core.List<core.String>>();
-  o.add(buildUnnamed813());
-  o.add(buildUnnamed813());
+  o.add(buildUnnamed841());
+  o.add(buildUnnamed841());
   return o;
 }
 
-checkUnnamed814(core.List<core.List<core.String>> o) {
+checkUnnamed842(core.List<core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed813(o[0]);
-  checkUnnamed813(o[1]);
+  checkUnnamed841(o[0]);
+  checkUnnamed841(o[1]);
 }
 
-buildUnnamed815() {
+buildUnnamed843() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed815(core.List<core.String> o) {
+checkUnnamed843(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed816() {
+buildUnnamed844() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed816(core.List<core.String> o) {
+checkUnnamed844(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -534,15 +534,15 @@
   var o = new api.AdsenseReportsGenerateResponse();
   buildCounterAdsenseReportsGenerateResponse++;
   if (buildCounterAdsenseReportsGenerateResponse < 3) {
-    o.averages = buildUnnamed811();
+    o.averages = buildUnnamed839();
     o.endDate = "foo";
-    o.headers = buildUnnamed812();
+    o.headers = buildUnnamed840();
     o.kind = "foo";
-    o.rows = buildUnnamed814();
+    o.rows = buildUnnamed842();
     o.startDate = "foo";
     o.totalMatchedRows = "foo";
-    o.totals = buildUnnamed815();
-    o.warnings = buildUnnamed816();
+    o.totals = buildUnnamed843();
+    o.warnings = buildUnnamed844();
   }
   buildCounterAdsenseReportsGenerateResponse--;
   return o;
@@ -551,15 +551,15 @@
 checkAdsenseReportsGenerateResponse(api.AdsenseReportsGenerateResponse o) {
   buildCounterAdsenseReportsGenerateResponse++;
   if (buildCounterAdsenseReportsGenerateResponse < 3) {
-    checkUnnamed811(o.averages);
+    checkUnnamed839(o.averages);
     unittest.expect(o.endDate, unittest.equals('foo'));
-    checkUnnamed812(o.headers);
+    checkUnnamed840(o.headers);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed814(o.rows);
+    checkUnnamed842(o.rows);
     unittest.expect(o.startDate, unittest.equals('foo'));
     unittest.expect(o.totalMatchedRows, unittest.equals('foo'));
-    checkUnnamed815(o.totals);
-    checkUnnamed816(o.warnings);
+    checkUnnamed843(o.totals);
+    checkUnnamed844(o.warnings);
   }
   buildCounterAdsenseReportsGenerateResponse--;
 }
@@ -593,14 +593,14 @@
   buildCounterAlert--;
 }
 
-buildUnnamed817() {
+buildUnnamed845() {
   var o = new core.List<api.Alert>();
   o.add(buildAlert());
   o.add(buildAlert());
   return o;
 }
 
-checkUnnamed817(core.List<api.Alert> o) {
+checkUnnamed845(core.List<api.Alert> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAlert(o[0]);
   checkAlert(o[1]);
@@ -611,7 +611,7 @@
   var o = new api.Alerts();
   buildCounterAlerts++;
   if (buildCounterAlerts < 3) {
-    o.items = buildUnnamed817();
+    o.items = buildUnnamed845();
     o.kind = "foo";
   }
   buildCounterAlerts--;
@@ -621,7 +621,7 @@
 checkAlerts(api.Alerts o) {
   buildCounterAlerts++;
   if (buildCounterAlerts < 3) {
-    checkUnnamed817(o.items);
+    checkUnnamed845(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAlerts--;
@@ -679,14 +679,14 @@
   buildCounterCustomChannel--;
 }
 
-buildUnnamed818() {
+buildUnnamed846() {
   var o = new core.List<api.CustomChannel>();
   o.add(buildCustomChannel());
   o.add(buildCustomChannel());
   return o;
 }
 
-checkUnnamed818(core.List<api.CustomChannel> o) {
+checkUnnamed846(core.List<api.CustomChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomChannel(o[0]);
   checkCustomChannel(o[1]);
@@ -698,7 +698,7 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed818();
+    o.items = buildUnnamed846();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -710,21 +710,21 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed818(o.items);
+    checkUnnamed846(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterCustomChannels--;
 }
 
-buildUnnamed819() {
+buildUnnamed847() {
   var o = new core.List<api.ReportingMetadataEntry>();
   o.add(buildReportingMetadataEntry());
   o.add(buildReportingMetadataEntry());
   return o;
 }
 
-checkUnnamed819(core.List<api.ReportingMetadataEntry> o) {
+checkUnnamed847(core.List<api.ReportingMetadataEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportingMetadataEntry(o[0]);
   checkReportingMetadataEntry(o[1]);
@@ -735,7 +735,7 @@
   var o = new api.Metadata();
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
-    o.items = buildUnnamed819();
+    o.items = buildUnnamed847();
     o.kind = "foo";
   }
   buildCounterMetadata--;
@@ -745,7 +745,7 @@
 checkMetadata(api.Metadata o) {
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
-    checkUnnamed819(o.items);
+    checkUnnamed847(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterMetadata--;
@@ -778,14 +778,14 @@
   buildCounterPayment--;
 }
 
-buildUnnamed820() {
+buildUnnamed848() {
   var o = new core.List<api.Payment>();
   o.add(buildPayment());
   o.add(buildPayment());
   return o;
 }
 
-checkUnnamed820(core.List<api.Payment> o) {
+checkUnnamed848(core.List<api.Payment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPayment(o[0]);
   checkPayment(o[1]);
@@ -796,7 +796,7 @@
   var o = new api.Payments();
   buildCounterPayments++;
   if (buildCounterPayments < 3) {
-    o.items = buildUnnamed820();
+    o.items = buildUnnamed848();
     o.kind = "foo";
   }
   buildCounterPayments--;
@@ -806,72 +806,72 @@
 checkPayments(api.Payments o) {
   buildCounterPayments++;
   if (buildCounterPayments < 3) {
-    checkUnnamed820(o.items);
+    checkUnnamed848(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterPayments--;
 }
 
-buildUnnamed821() {
+buildUnnamed849() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed821(core.List<core.String> o) {
+checkUnnamed849(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed822() {
+buildUnnamed850() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed822(core.List<core.String> o) {
+checkUnnamed850(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed823() {
+buildUnnamed851() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed823(core.List<core.String> o) {
+checkUnnamed851(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed824() {
+buildUnnamed852() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed824(core.List<core.String> o) {
+checkUnnamed852(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed825() {
+buildUnnamed853() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed825(core.List<core.String> o) {
+checkUnnamed853(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -882,13 +882,13 @@
   var o = new api.ReportingMetadataEntry();
   buildCounterReportingMetadataEntry++;
   if (buildCounterReportingMetadataEntry < 3) {
-    o.compatibleDimensions = buildUnnamed821();
-    o.compatibleMetrics = buildUnnamed822();
+    o.compatibleDimensions = buildUnnamed849();
+    o.compatibleMetrics = buildUnnamed850();
     o.id = "foo";
     o.kind = "foo";
-    o.requiredDimensions = buildUnnamed823();
-    o.requiredMetrics = buildUnnamed824();
-    o.supportedProducts = buildUnnamed825();
+    o.requiredDimensions = buildUnnamed851();
+    o.requiredMetrics = buildUnnamed852();
+    o.supportedProducts = buildUnnamed853();
   }
   buildCounterReportingMetadataEntry--;
   return o;
@@ -897,13 +897,13 @@
 checkReportingMetadataEntry(api.ReportingMetadataEntry o) {
   buildCounterReportingMetadataEntry++;
   if (buildCounterReportingMetadataEntry < 3) {
-    checkUnnamed821(o.compatibleDimensions);
-    checkUnnamed822(o.compatibleMetrics);
+    checkUnnamed849(o.compatibleDimensions);
+    checkUnnamed850(o.compatibleMetrics);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed823(o.requiredDimensions);
-    checkUnnamed824(o.requiredMetrics);
-    checkUnnamed825(o.supportedProducts);
+    checkUnnamed851(o.requiredDimensions);
+    checkUnnamed852(o.requiredMetrics);
+    checkUnnamed853(o.supportedProducts);
   }
   buildCounterReportingMetadataEntry--;
 }
@@ -933,14 +933,14 @@
   buildCounterSavedAdStyle--;
 }
 
-buildUnnamed826() {
+buildUnnamed854() {
   var o = new core.List<api.SavedAdStyle>();
   o.add(buildSavedAdStyle());
   o.add(buildSavedAdStyle());
   return o;
 }
 
-checkUnnamed826(core.List<api.SavedAdStyle> o) {
+checkUnnamed854(core.List<api.SavedAdStyle> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSavedAdStyle(o[0]);
   checkSavedAdStyle(o[1]);
@@ -952,7 +952,7 @@
   buildCounterSavedAdStyles++;
   if (buildCounterSavedAdStyles < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed826();
+    o.items = buildUnnamed854();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -964,7 +964,7 @@
   buildCounterSavedAdStyles++;
   if (buildCounterSavedAdStyles < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed826(o.items);
+    checkUnnamed854(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -994,14 +994,14 @@
   buildCounterSavedReport--;
 }
 
-buildUnnamed827() {
+buildUnnamed855() {
   var o = new core.List<api.SavedReport>();
   o.add(buildSavedReport());
   o.add(buildSavedReport());
   return o;
 }
 
-checkUnnamed827(core.List<api.SavedReport> o) {
+checkUnnamed855(core.List<api.SavedReport> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSavedReport(o[0]);
   checkSavedReport(o[1]);
@@ -1013,7 +1013,7 @@
   buildCounterSavedReports++;
   if (buildCounterSavedReports < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed827();
+    o.items = buildUnnamed855();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -1025,7 +1025,7 @@
   buildCounterSavedReports++;
   if (buildCounterSavedReports < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed827(o.items);
+    checkUnnamed855(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -1055,14 +1055,14 @@
   buildCounterUrlChannel--;
 }
 
-buildUnnamed828() {
+buildUnnamed856() {
   var o = new core.List<api.UrlChannel>();
   o.add(buildUrlChannel());
   o.add(buildUrlChannel());
   return o;
 }
 
-checkUnnamed828(core.List<api.UrlChannel> o) {
+checkUnnamed856(core.List<api.UrlChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrlChannel(o[0]);
   checkUrlChannel(o[1]);
@@ -1074,7 +1074,7 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed828();
+    o.items = buildUnnamed856();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -1086,125 +1086,125 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed828(o.items);
+    checkUnnamed856(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterUrlChannels--;
 }
 
-buildUnnamed829() {
+buildUnnamed857() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed829(core.List<core.String> o) {
+checkUnnamed857(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed830() {
+buildUnnamed858() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed830(core.List<core.String> o) {
+checkUnnamed858(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed831() {
+buildUnnamed859() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed831(core.List<core.String> o) {
+checkUnnamed859(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed832() {
+buildUnnamed860() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed832(core.List<core.String> o) {
+checkUnnamed860(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed833() {
+buildUnnamed861() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed833(core.List<core.String> o) {
+checkUnnamed861(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed834() {
+buildUnnamed862() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed834(core.List<core.String> o) {
+checkUnnamed862(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed835() {
+buildUnnamed863() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed835(core.List<core.String> o) {
+checkUnnamed863(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed836() {
+buildUnnamed864() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed836(core.List<core.String> o) {
+checkUnnamed864(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed837() {
+buildUnnamed865() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed837(core.List<core.String> o) {
+checkUnnamed865(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1503,8 +1503,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1552,8 +1554,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("accounts"));
         pathOffset += 8;
 
@@ -1604,8 +1608,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients", pathOffset);
@@ -1663,8 +1669,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1726,8 +1734,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1795,8 +1805,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1864,8 +1876,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1936,8 +1950,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/alerts/", pathOffset);
@@ -1989,8 +2005,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/alerts", pathOffset);
@@ -2047,8 +2065,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -2111,8 +2131,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -2180,8 +2202,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -2252,8 +2276,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/payments", pathOffset);
@@ -2307,12 +2333,12 @@
       var arg_startDate = "foo";
       var arg_endDate = "foo";
       var arg_currency = "foo";
-      var arg_dimension = buildUnnamed829();
-      var arg_filter = buildUnnamed830();
+      var arg_dimension = buildUnnamed857();
+      var arg_filter = buildUnnamed858();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_metric = buildUnnamed831();
-      var arg_sort = buildUnnamed832();
+      var arg_metric = buildUnnamed859();
+      var arg_sort = buildUnnamed860();
       var arg_startIndex = 42;
       var arg_useTimezoneReporting = true;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
@@ -2320,8 +2346,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/reports", pathOffset);
@@ -2390,8 +2418,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/reports/", pathOffset);
@@ -2449,8 +2479,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/reports/saved", pathOffset);
@@ -2507,8 +2539,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/savedadstyles/", pathOffset);
@@ -2563,8 +2597,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/savedadstyles", pathOffset);
@@ -2623,8 +2659,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -2688,8 +2726,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("adclients"));
         pathOffset += 9;
 
@@ -2739,8 +2779,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits/", pathOffset);
@@ -2794,8 +2836,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits/", pathOffset);
@@ -2855,8 +2899,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits", pathOffset);
@@ -2916,8 +2962,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/adunits/", pathOffset);
@@ -2980,8 +3028,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("alerts/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3025,8 +3075,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("alerts"));
         pathOffset += 6;
 
@@ -3075,8 +3127,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -3131,8 +3185,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -3192,8 +3248,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -3256,8 +3314,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("metadata/dimensions"));
         pathOffset += 19;
 
@@ -3303,8 +3363,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("metadata/metrics"));
         pathOffset += 16;
 
@@ -3350,8 +3412,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("payments"));
         pathOffset += 8;
 
@@ -3396,14 +3460,14 @@
       api.ReportsResourceApi res = new api.AdsenseApi(mock).reports;
       var arg_startDate = "foo";
       var arg_endDate = "foo";
-      var arg_accountId = buildUnnamed833();
+      var arg_accountId = buildUnnamed861();
       var arg_currency = "foo";
-      var arg_dimension = buildUnnamed834();
-      var arg_filter = buildUnnamed835();
+      var arg_dimension = buildUnnamed862();
+      var arg_filter = buildUnnamed863();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_metric = buildUnnamed836();
-      var arg_sort = buildUnnamed837();
+      var arg_metric = buildUnnamed864();
+      var arg_sort = buildUnnamed865();
       var arg_startIndex = 42;
       var arg_useTimezoneReporting = true;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
@@ -3411,8 +3475,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("reports"));
         pathOffset += 7;
 
@@ -3474,8 +3540,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("reports/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3525,8 +3593,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("reports/saved"));
         pathOffset += 13;
 
@@ -3575,8 +3645,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("savedadstyles/"));
         pathOffset += 14;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3623,8 +3695,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("savedadstyles"));
         pathOffset += 13;
 
@@ -3675,8 +3749,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/adsense/v1.4/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("adsense/v1.4/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/urlchannels", pathOffset);
diff --git a/generated/googleapis/test/adsensehost/v4_1_test.dart b/generated/googleapis/test/adsensehost/v4_1_test.dart
index caadc34..3c9f6d2 100644
--- a/generated/googleapis/test/adsensehost/v4_1_test.dart
+++ b/generated/googleapis/test/adsensehost/v4_1_test.dart
@@ -41,14 +41,14 @@
   buildCounterAccount--;
 }
 
-buildUnnamed967() {
+buildUnnamed995() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed967(core.List<api.Account> o) {
+checkUnnamed995(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -60,7 +60,7 @@
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed967();
+    o.items = buildUnnamed995();
     o.kind = "foo";
   }
   buildCounterAccounts--;
@@ -71,7 +71,7 @@
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed967(o.items);
+    checkUnnamed995(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAccounts--;
@@ -104,14 +104,14 @@
   buildCounterAdClient--;
 }
 
-buildUnnamed968() {
+buildUnnamed996() {
   var o = new core.List<api.AdClient>();
   o.add(buildAdClient());
   o.add(buildAdClient());
   return o;
 }
 
-checkUnnamed968(core.List<api.AdClient> o) {
+checkUnnamed996(core.List<api.AdClient> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdClient(o[0]);
   checkAdClient(o[1]);
@@ -123,7 +123,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed968();
+    o.items = buildUnnamed996();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -135,7 +135,7 @@
   buildCounterAdClients++;
   if (buildCounterAdClients < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed968(o.items);
+    checkUnnamed996(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -340,14 +340,14 @@
   buildCounterAdUnit--;
 }
 
-buildUnnamed969() {
+buildUnnamed997() {
   var o = new core.List<api.AdUnit>();
   o.add(buildAdUnit());
   o.add(buildAdUnit());
   return o;
 }
 
-checkUnnamed969(core.List<api.AdUnit> o) {
+checkUnnamed997(core.List<api.AdUnit> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdUnit(o[0]);
   checkAdUnit(o[1]);
@@ -359,7 +359,7 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed969();
+    o.items = buildUnnamed997();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -371,21 +371,21 @@
   buildCounterAdUnits++;
   if (buildCounterAdUnits < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed969(o.items);
+    checkUnnamed997(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterAdUnits--;
 }
 
-buildUnnamed970() {
+buildUnnamed998() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed970(core.List<core.String> o) {
+checkUnnamed998(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -399,7 +399,7 @@
     o.accountId = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.productCodes = buildUnnamed970();
+    o.productCodes = buildUnnamed998();
     o.redirectUrl = "foo";
     o.status = "foo";
     o.userLocale = "foo";
@@ -416,7 +416,7 @@
     unittest.expect(o.accountId, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed970(o.productCodes);
+    checkUnnamed998(o.productCodes);
     unittest.expect(o.redirectUrl, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
     unittest.expect(o.userLocale, unittest.equals('foo'));
@@ -451,14 +451,14 @@
   buildCounterCustomChannel--;
 }
 
-buildUnnamed971() {
+buildUnnamed999() {
   var o = new core.List<api.CustomChannel>();
   o.add(buildCustomChannel());
   o.add(buildCustomChannel());
   return o;
 }
 
-checkUnnamed971(core.List<api.CustomChannel> o) {
+checkUnnamed999(core.List<api.CustomChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomChannel(o[0]);
   checkCustomChannel(o[1]);
@@ -470,7 +470,7 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed971();
+    o.items = buildUnnamed999();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -482,21 +482,21 @@
   buildCounterCustomChannels++;
   if (buildCounterCustomChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed971(o.items);
+    checkUnnamed999(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterCustomChannels--;
 }
 
-buildUnnamed972() {
+buildUnnamed1000() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed972(core.List<core.String> o) {
+checkUnnamed1000(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -525,66 +525,66 @@
   buildCounterReportHeaders--;
 }
 
-buildUnnamed973() {
+buildUnnamed1001() {
   var o = new core.List<api.ReportHeaders>();
   o.add(buildReportHeaders());
   o.add(buildReportHeaders());
   return o;
 }
 
-checkUnnamed973(core.List<api.ReportHeaders> o) {
+checkUnnamed1001(core.List<api.ReportHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportHeaders(o[0]);
   checkReportHeaders(o[1]);
 }
 
-buildUnnamed974() {
+buildUnnamed1002() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed974(core.List<core.String> o) {
+checkUnnamed1002(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed975() {
+buildUnnamed1003() {
   var o = new core.List<core.List<core.String>>();
-  o.add(buildUnnamed974());
-  o.add(buildUnnamed974());
+  o.add(buildUnnamed1002());
+  o.add(buildUnnamed1002());
   return o;
 }
 
-checkUnnamed975(core.List<core.List<core.String>> o) {
+checkUnnamed1003(core.List<core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed974(o[0]);
-  checkUnnamed974(o[1]);
+  checkUnnamed1002(o[0]);
+  checkUnnamed1002(o[1]);
 }
 
-buildUnnamed976() {
+buildUnnamed1004() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed976(core.List<core.String> o) {
+checkUnnamed1004(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed977() {
+buildUnnamed1005() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed977(core.List<core.String> o) {
+checkUnnamed1005(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -595,13 +595,13 @@
   var o = new api.Report();
   buildCounterReport++;
   if (buildCounterReport < 3) {
-    o.averages = buildUnnamed972();
-    o.headers = buildUnnamed973();
+    o.averages = buildUnnamed1000();
+    o.headers = buildUnnamed1001();
     o.kind = "foo";
-    o.rows = buildUnnamed975();
+    o.rows = buildUnnamed1003();
     o.totalMatchedRows = "foo";
-    o.totals = buildUnnamed976();
-    o.warnings = buildUnnamed977();
+    o.totals = buildUnnamed1004();
+    o.warnings = buildUnnamed1005();
   }
   buildCounterReport--;
   return o;
@@ -610,13 +610,13 @@
 checkReport(api.Report o) {
   buildCounterReport++;
   if (buildCounterReport < 3) {
-    checkUnnamed972(o.averages);
-    checkUnnamed973(o.headers);
+    checkUnnamed1000(o.averages);
+    checkUnnamed1001(o.headers);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed975(o.rows);
+    checkUnnamed1003(o.rows);
     unittest.expect(o.totalMatchedRows, unittest.equals('foo'));
-    checkUnnamed976(o.totals);
-    checkUnnamed977(o.warnings);
+    checkUnnamed1004(o.totals);
+    checkUnnamed1005(o.warnings);
   }
   buildCounterReport--;
 }
@@ -644,14 +644,14 @@
   buildCounterUrlChannel--;
 }
 
-buildUnnamed978() {
+buildUnnamed1006() {
   var o = new core.List<api.UrlChannel>();
   o.add(buildUrlChannel());
   o.add(buildUrlChannel());
   return o;
 }
 
-checkUnnamed978(core.List<api.UrlChannel> o) {
+checkUnnamed1006(core.List<api.UrlChannel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrlChannel(o[0]);
   checkUrlChannel(o[1]);
@@ -663,7 +663,7 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed978();
+    o.items = buildUnnamed1006();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -675,151 +675,151 @@
   buildCounterUrlChannels++;
   if (buildCounterUrlChannels < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed978(o.items);
+    checkUnnamed1006(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterUrlChannels--;
 }
 
-buildUnnamed979() {
+buildUnnamed1007() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed979(core.List<core.String> o) {
+checkUnnamed1007(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed980() {
+buildUnnamed1008() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed980(core.List<core.String> o) {
+checkUnnamed1008(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed981() {
+buildUnnamed1009() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed981(core.List<core.String> o) {
+checkUnnamed1009(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed982() {
+buildUnnamed1010() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed982(core.List<core.String> o) {
+checkUnnamed1010(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed983() {
+buildUnnamed1011() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed983(core.List<core.String> o) {
+checkUnnamed1011(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed984() {
+buildUnnamed1012() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed984(core.List<core.String> o) {
+checkUnnamed1012(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed985() {
+buildUnnamed1013() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed985(core.List<core.String> o) {
+checkUnnamed1013(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed986() {
+buildUnnamed1014() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed986(core.List<core.String> o) {
+checkUnnamed1014(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed987() {
+buildUnnamed1015() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed987(core.List<core.String> o) {
+checkUnnamed1015(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed988() {
+buildUnnamed1016() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed988(core.List<core.String> o) {
+checkUnnamed1016(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed989() {
+buildUnnamed1017() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed989(core.List<core.String> o) {
+checkUnnamed1017(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1018,8 +1018,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1059,14 +1061,16 @@
 
       var mock = new common_test.HttpServerMock();
       api.AccountsResourceApi res = new api.AdsensehostApi(mock).accounts;
-      var arg_filterAdClientId = buildUnnamed979();
+      var arg_filterAdClientId = buildUnnamed1007();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("accounts"));
         pathOffset += 8;
 
@@ -1115,8 +1119,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1171,8 +1177,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients", pathOffset);
@@ -1230,8 +1238,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1293,8 +1303,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1351,14 +1363,16 @@
       var arg_accountId = "foo";
       var arg_adClientId = "foo";
       var arg_adUnitId = "foo";
-      var arg_hostCustomChannelId = buildUnnamed980();
+      var arg_hostCustomChannelId = buildUnnamed1008();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1428,8 +1442,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1490,8 +1506,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1557,8 +1575,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1621,8 +1641,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/adclients/", pathOffset);
@@ -1680,20 +1702,22 @@
       var arg_accountId = "foo";
       var arg_startDate = "foo";
       var arg_endDate = "foo";
-      var arg_dimension = buildUnnamed981();
-      var arg_filter = buildUnnamed982();
+      var arg_dimension = buildUnnamed1009();
+      var arg_filter = buildUnnamed1010();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_metric = buildUnnamed983();
-      var arg_sort = buildUnnamed984();
+      var arg_metric = buildUnnamed1011();
+      var arg_sort = buildUnnamed1012();
       var arg_startIndex = 42;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/reports", pathOffset);
@@ -1756,8 +1780,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1804,8 +1830,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("adclients"));
         pathOffset += 9;
 
@@ -1848,7 +1876,7 @@
 
       var mock = new common_test.HttpServerMock();
       api.AssociationsessionsResourceApi res = new api.AdsensehostApi(mock).associationsessions;
-      var arg_productCode = buildUnnamed985();
+      var arg_productCode = buildUnnamed1013();
       var arg_websiteUrl = "foo";
       var arg_userLocale = "foo";
       var arg_websiteLocale = "foo";
@@ -1857,8 +1885,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("associationsessions/start"));
         pathOffset += 25;
 
@@ -1905,8 +1935,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("associationsessions/verify"));
         pathOffset += 26;
 
@@ -1955,8 +1987,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -2010,8 +2044,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels/", pathOffset);
@@ -2068,8 +2104,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -2121,8 +2159,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -2179,8 +2219,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -2235,8 +2277,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/customchannels", pathOffset);
@@ -2286,20 +2330,22 @@
       api.ReportsResourceApi res = new api.AdsensehostApi(mock).reports;
       var arg_startDate = "foo";
       var arg_endDate = "foo";
-      var arg_dimension = buildUnnamed986();
-      var arg_filter = buildUnnamed987();
+      var arg_dimension = buildUnnamed1014();
+      var arg_filter = buildUnnamed1015();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_metric = buildUnnamed988();
-      var arg_sort = buildUnnamed989();
+      var arg_metric = buildUnnamed1016();
+      var arg_sort = buildUnnamed1017();
       var arg_startIndex = 42;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("reports"));
         pathOffset += 7;
 
@@ -2356,8 +2402,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/urlchannels/", pathOffset);
@@ -2414,8 +2462,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/urlchannels", pathOffset);
@@ -2467,8 +2517,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/adsensehost/v4.1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("adsensehost/v4.1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("adclients/"));
         pathOffset += 10;
         index = path.indexOf("/urlchannels", pathOffset);
diff --git a/generated/googleapis/test/analytics/v3_test.dart b/generated/googleapis/test/analytics/v3_test.dart
index 49e2fa8..3d132bd 100644
--- a/generated/googleapis/test/analytics/v3_test.dart
+++ b/generated/googleapis/test/analytics/v3_test.dart
@@ -37,14 +37,14 @@
   buildCounterAccountChildLink--;
 }
 
-buildUnnamed581() {
+buildUnnamed609() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed581(core.List<core.String> o) {
+checkUnnamed609(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -55,7 +55,7 @@
   var o = new api.AccountPermissions();
   buildCounterAccountPermissions++;
   if (buildCounterAccountPermissions < 3) {
-    o.effective = buildUnnamed581();
+    o.effective = buildUnnamed609();
   }
   buildCounterAccountPermissions--;
   return o;
@@ -64,7 +64,7 @@
 checkAccountPermissions(api.AccountPermissions o) {
   buildCounterAccountPermissions++;
   if (buildCounterAccountPermissions < 3) {
-    checkUnnamed581(o.effective);
+    checkUnnamed609(o.effective);
   }
   buildCounterAccountPermissions--;
 }
@@ -127,14 +127,14 @@
   buildCounterAccountRef--;
 }
 
-buildUnnamed582() {
+buildUnnamed610() {
   var o = new core.List<api.AccountSummary>();
   o.add(buildAccountSummary());
   o.add(buildAccountSummary());
   return o;
 }
 
-checkUnnamed582(core.List<api.AccountSummary> o) {
+checkUnnamed610(core.List<api.AccountSummary> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountSummary(o[0]);
   checkAccountSummary(o[1]);
@@ -145,7 +145,7 @@
   var o = new api.AccountSummaries();
   buildCounterAccountSummaries++;
   if (buildCounterAccountSummaries < 3) {
-    o.items = buildUnnamed582();
+    o.items = buildUnnamed610();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -161,7 +161,7 @@
 checkAccountSummaries(api.AccountSummaries o) {
   buildCounterAccountSummaries++;
   if (buildCounterAccountSummaries < 3) {
-    checkUnnamed582(o.items);
+    checkUnnamed610(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -173,14 +173,14 @@
   buildCounterAccountSummaries--;
 }
 
-buildUnnamed583() {
+buildUnnamed611() {
   var o = new core.List<api.WebPropertySummary>();
   o.add(buildWebPropertySummary());
   o.add(buildWebPropertySummary());
   return o;
 }
 
-checkUnnamed583(core.List<api.WebPropertySummary> o) {
+checkUnnamed611(core.List<api.WebPropertySummary> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkWebPropertySummary(o[0]);
   checkWebPropertySummary(o[1]);
@@ -194,7 +194,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.webProperties = buildUnnamed583();
+    o.webProperties = buildUnnamed611();
   }
   buildCounterAccountSummary--;
   return o;
@@ -206,7 +206,7 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed583(o.webProperties);
+    checkUnnamed611(o.webProperties);
   }
   buildCounterAccountSummary--;
 }
@@ -240,14 +240,14 @@
   buildCounterAccountTicket--;
 }
 
-buildUnnamed584() {
+buildUnnamed612() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed584(core.List<api.Account> o) {
+checkUnnamed612(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -258,7 +258,7 @@
   var o = new api.Accounts();
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
-    o.items = buildUnnamed584();
+    o.items = buildUnnamed612();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -274,7 +274,7 @@
 checkAccounts(api.Accounts o) {
   buildCounterAccounts++;
   if (buildCounterAccounts < 3) {
-    checkUnnamed584(o.items);
+    checkUnnamed612(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -309,14 +309,14 @@
   buildCounterAdWordsAccount--;
 }
 
-buildUnnamed585() {
+buildUnnamed613() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed585(core.List<core.String> o) {
+checkUnnamed613(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -327,7 +327,7 @@
   var o = new api.AnalyticsDataimportDeleteUploadDataRequest();
   buildCounterAnalyticsDataimportDeleteUploadDataRequest++;
   if (buildCounterAnalyticsDataimportDeleteUploadDataRequest < 3) {
-    o.customDataImportUids = buildUnnamed585();
+    o.customDataImportUids = buildUnnamed613();
   }
   buildCounterAnalyticsDataimportDeleteUploadDataRequest--;
   return o;
@@ -336,19 +336,19 @@
 checkAnalyticsDataimportDeleteUploadDataRequest(api.AnalyticsDataimportDeleteUploadDataRequest o) {
   buildCounterAnalyticsDataimportDeleteUploadDataRequest++;
   if (buildCounterAnalyticsDataimportDeleteUploadDataRequest < 3) {
-    checkUnnamed585(o.customDataImportUids);
+    checkUnnamed613(o.customDataImportUids);
   }
   buildCounterAnalyticsDataimportDeleteUploadDataRequest--;
 }
 
-buildUnnamed586() {
+buildUnnamed614() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed586(core.Map<core.String, core.String> o) {
+checkUnnamed614(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -359,7 +359,7 @@
   var o = new api.Column();
   buildCounterColumn++;
   if (buildCounterColumn < 3) {
-    o.attributes = buildUnnamed586();
+    o.attributes = buildUnnamed614();
     o.id = "foo";
     o.kind = "foo";
   }
@@ -370,34 +370,34 @@
 checkColumn(api.Column o) {
   buildCounterColumn++;
   if (buildCounterColumn < 3) {
-    checkUnnamed586(o.attributes);
+    checkUnnamed614(o.attributes);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterColumn--;
 }
 
-buildUnnamed587() {
+buildUnnamed615() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed587(core.List<core.String> o) {
+checkUnnamed615(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed588() {
+buildUnnamed616() {
   var o = new core.List<api.Column>();
   o.add(buildColumn());
   o.add(buildColumn());
   return o;
 }
 
-checkUnnamed588(core.List<api.Column> o) {
+checkUnnamed616(core.List<api.Column> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkColumn(o[0]);
   checkColumn(o[1]);
@@ -408,9 +408,9 @@
   var o = new api.Columns();
   buildCounterColumns++;
   if (buildCounterColumns < 3) {
-    o.attributeNames = buildUnnamed587();
+    o.attributeNames = buildUnnamed615();
     o.etag = "foo";
-    o.items = buildUnnamed588();
+    o.items = buildUnnamed616();
     o.kind = "foo";
     o.totalResults = 42;
   }
@@ -421,9 +421,9 @@
 checkColumns(api.Columns o) {
   buildCounterColumns++;
   if (buildCounterColumns < 3) {
-    checkUnnamed587(o.attributeNames);
+    checkUnnamed615(o.attributeNames);
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed588(o.items);
+    checkUnnamed616(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.totalResults, unittest.equals(42));
   }
@@ -472,14 +472,14 @@
   buildCounterCustomDataSourceParentLink--;
 }
 
-buildUnnamed589() {
+buildUnnamed617() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed589(core.List<core.String> o) {
+checkUnnamed617(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -499,7 +499,7 @@
     o.kind = "foo";
     o.name = "foo";
     o.parentLink = buildCustomDataSourceParentLink();
-    o.profilesLinked = buildUnnamed589();
+    o.profilesLinked = buildUnnamed617();
     o.selfLink = "foo";
     o.type = "foo";
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
@@ -522,7 +522,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     checkCustomDataSourceParentLink(o.parentLink);
-    checkUnnamed589(o.profilesLinked);
+    checkUnnamed617(o.profilesLinked);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -532,14 +532,14 @@
   buildCounterCustomDataSource--;
 }
 
-buildUnnamed590() {
+buildUnnamed618() {
   var o = new core.List<api.CustomDataSource>();
   o.add(buildCustomDataSource());
   o.add(buildCustomDataSource());
   return o;
 }
 
-checkUnnamed590(core.List<api.CustomDataSource> o) {
+checkUnnamed618(core.List<api.CustomDataSource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomDataSource(o[0]);
   checkCustomDataSource(o[1]);
@@ -550,7 +550,7 @@
   var o = new api.CustomDataSources();
   buildCounterCustomDataSources++;
   if (buildCounterCustomDataSources < 3) {
-    o.items = buildUnnamed590();
+    o.items = buildUnnamed618();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -566,7 +566,7 @@
 checkCustomDataSources(api.CustomDataSources o) {
   buildCounterCustomDataSources++;
   if (buildCounterCustomDataSources < 3) {
-    checkUnnamed590(o.items);
+    checkUnnamed618(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -620,14 +620,14 @@
   buildCounterDailyUploadRecentChanges--;
 }
 
-buildUnnamed591() {
+buildUnnamed619() {
   var o = new core.List<api.DailyUploadRecentChanges>();
   o.add(buildDailyUploadRecentChanges());
   o.add(buildDailyUploadRecentChanges());
   return o;
 }
 
-checkUnnamed591(core.List<api.DailyUploadRecentChanges> o) {
+checkUnnamed619(core.List<api.DailyUploadRecentChanges> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDailyUploadRecentChanges(o[0]);
   checkDailyUploadRecentChanges(o[1]);
@@ -646,7 +646,7 @@
     o.kind = "foo";
     o.modifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
     o.parentLink = buildDailyUploadParentLink();
-    o.recentChanges = buildUnnamed591();
+    o.recentChanges = buildUnnamed619();
     o.selfLink = "foo";
     o.webPropertyId = "foo";
   }
@@ -665,7 +665,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.modifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     checkDailyUploadParentLink(o.parentLink);
-    checkUnnamed591(o.recentChanges);
+    checkUnnamed619(o.recentChanges);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.webPropertyId, unittest.equals('foo'));
   }
@@ -703,14 +703,14 @@
   buildCounterDailyUploadAppend--;
 }
 
-buildUnnamed592() {
+buildUnnamed620() {
   var o = new core.List<api.DailyUpload>();
   o.add(buildDailyUpload());
   o.add(buildDailyUpload());
   return o;
 }
 
-checkUnnamed592(core.List<api.DailyUpload> o) {
+checkUnnamed620(core.List<api.DailyUpload> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDailyUpload(o[0]);
   checkDailyUpload(o[1]);
@@ -721,7 +721,7 @@
   var o = new api.DailyUploads();
   buildCounterDailyUploads++;
   if (buildCounterDailyUploads < 3) {
-    o.items = buildUnnamed592();
+    o.items = buildUnnamed620();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -737,7 +737,7 @@
 checkDailyUploads(api.DailyUploads o) {
   buildCounterDailyUploads++;
   if (buildCounterDailyUploads < 3) {
-    checkUnnamed592(o.items);
+    checkUnnamed620(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -749,14 +749,14 @@
   buildCounterDailyUploads--;
 }
 
-buildUnnamed593() {
+buildUnnamed621() {
   var o = new core.List<api.AdWordsAccount>();
   o.add(buildAdWordsAccount());
   o.add(buildAdWordsAccount());
   return o;
 }
 
-checkUnnamed593(core.List<api.AdWordsAccount> o) {
+checkUnnamed621(core.List<api.AdWordsAccount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdWordsAccount(o[0]);
   checkAdWordsAccount(o[1]);
@@ -781,14 +781,14 @@
   buildCounterEntityAdWordsLinkEntity--;
 }
 
-buildUnnamed594() {
+buildUnnamed622() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed594(core.List<core.String> o) {
+checkUnnamed622(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -799,12 +799,12 @@
   var o = new api.EntityAdWordsLink();
   buildCounterEntityAdWordsLink++;
   if (buildCounterEntityAdWordsLink < 3) {
-    o.adWordsAccounts = buildUnnamed593();
+    o.adWordsAccounts = buildUnnamed621();
     o.entity = buildEntityAdWordsLinkEntity();
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.profileIds = buildUnnamed594();
+    o.profileIds = buildUnnamed622();
     o.selfLink = "foo";
   }
   buildCounterEntityAdWordsLink--;
@@ -814,25 +814,25 @@
 checkEntityAdWordsLink(api.EntityAdWordsLink o) {
   buildCounterEntityAdWordsLink++;
   if (buildCounterEntityAdWordsLink < 3) {
-    checkUnnamed593(o.adWordsAccounts);
+    checkUnnamed621(o.adWordsAccounts);
     checkEntityAdWordsLinkEntity(o.entity);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed594(o.profileIds);
+    checkUnnamed622(o.profileIds);
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
   buildCounterEntityAdWordsLink--;
 }
 
-buildUnnamed595() {
+buildUnnamed623() {
   var o = new core.List<api.EntityAdWordsLink>();
   o.add(buildEntityAdWordsLink());
   o.add(buildEntityAdWordsLink());
   return o;
 }
 
-checkUnnamed595(core.List<api.EntityAdWordsLink> o) {
+checkUnnamed623(core.List<api.EntityAdWordsLink> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntityAdWordsLink(o[0]);
   checkEntityAdWordsLink(o[1]);
@@ -843,7 +843,7 @@
   var o = new api.EntityAdWordsLinks();
   buildCounterEntityAdWordsLinks++;
   if (buildCounterEntityAdWordsLinks < 3) {
-    o.items = buildUnnamed595();
+    o.items = buildUnnamed623();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -858,7 +858,7 @@
 checkEntityAdWordsLinks(api.EntityAdWordsLinks o) {
   buildCounterEntityAdWordsLinks++;
   if (buildCounterEntityAdWordsLinks < 3) {
-    checkUnnamed595(o.items);
+    checkUnnamed623(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -892,27 +892,27 @@
   buildCounterEntityUserLinkEntity--;
 }
 
-buildUnnamed596() {
+buildUnnamed624() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed596(core.List<core.String> o) {
+checkUnnamed624(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed597() {
+buildUnnamed625() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed597(core.List<core.String> o) {
+checkUnnamed625(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -923,8 +923,8 @@
   var o = new api.EntityUserLinkPermissions();
   buildCounterEntityUserLinkPermissions++;
   if (buildCounterEntityUserLinkPermissions < 3) {
-    o.effective = buildUnnamed596();
-    o.local = buildUnnamed597();
+    o.effective = buildUnnamed624();
+    o.local = buildUnnamed625();
   }
   buildCounterEntityUserLinkPermissions--;
   return o;
@@ -933,8 +933,8 @@
 checkEntityUserLinkPermissions(api.EntityUserLinkPermissions o) {
   buildCounterEntityUserLinkPermissions++;
   if (buildCounterEntityUserLinkPermissions < 3) {
-    checkUnnamed596(o.effective);
-    checkUnnamed597(o.local);
+    checkUnnamed624(o.effective);
+    checkUnnamed625(o.local);
   }
   buildCounterEntityUserLinkPermissions--;
 }
@@ -968,14 +968,14 @@
   buildCounterEntityUserLink--;
 }
 
-buildUnnamed598() {
+buildUnnamed626() {
   var o = new core.List<api.EntityUserLink>();
   o.add(buildEntityUserLink());
   o.add(buildEntityUserLink());
   return o;
 }
 
-checkUnnamed598(core.List<api.EntityUserLink> o) {
+checkUnnamed626(core.List<api.EntityUserLink> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntityUserLink(o[0]);
   checkEntityUserLink(o[1]);
@@ -986,7 +986,7 @@
   var o = new api.EntityUserLinks();
   buildCounterEntityUserLinks++;
   if (buildCounterEntityUserLinks < 3) {
-    o.items = buildUnnamed598();
+    o.items = buildUnnamed626();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -1001,7 +1001,7 @@
 checkEntityUserLinks(api.EntityUserLinks o) {
   buildCounterEntityUserLinks++;
   if (buildCounterEntityUserLinks < 3) {
-    checkUnnamed598(o.items);
+    checkUnnamed626(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -1060,14 +1060,14 @@
   buildCounterExperimentVariations--;
 }
 
-buildUnnamed599() {
+buildUnnamed627() {
   var o = new core.List<api.ExperimentVariations>();
   o.add(buildExperimentVariations());
   o.add(buildExperimentVariations());
   return o;
 }
 
-checkUnnamed599(core.List<api.ExperimentVariations> o) {
+checkUnnamed627(core.List<api.ExperimentVariations> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkExperimentVariations(o[0]);
   checkExperimentVariations(o[1]);
@@ -1102,7 +1102,7 @@
     o.status = "foo";
     o.trafficCoverage = 42.0;
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
-    o.variations = buildUnnamed599();
+    o.variations = buildUnnamed627();
     o.webPropertyId = "foo";
     o.winnerConfidenceLevel = 42.0;
     o.winnerFound = true;
@@ -1138,7 +1138,7 @@
     unittest.expect(o.status, unittest.equals('foo'));
     unittest.expect(o.trafficCoverage, unittest.equals(42.0));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed599(o.variations);
+    checkUnnamed627(o.variations);
     unittest.expect(o.webPropertyId, unittest.equals('foo'));
     unittest.expect(o.winnerConfidenceLevel, unittest.equals(42.0));
     unittest.expect(o.winnerFound, unittest.isTrue);
@@ -1146,14 +1146,14 @@
   buildCounterExperiment--;
 }
 
-buildUnnamed600() {
+buildUnnamed628() {
   var o = new core.List<api.Experiment>();
   o.add(buildExperiment());
   o.add(buildExperiment());
   return o;
 }
 
-checkUnnamed600(core.List<api.Experiment> o) {
+checkUnnamed628(core.List<api.Experiment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkExperiment(o[0]);
   checkExperiment(o[1]);
@@ -1164,7 +1164,7 @@
   var o = new api.Experiments();
   buildCounterExperiments++;
   if (buildCounterExperiments < 3) {
-    o.items = buildUnnamed600();
+    o.items = buildUnnamed628();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -1180,7 +1180,7 @@
 checkExperiments(api.Experiments o) {
   buildCounterExperiments++;
   if (buildCounterExperiments < 3) {
-    checkUnnamed600(o.items);
+    checkUnnamed628(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -1414,14 +1414,14 @@
   buildCounterFilterRef--;
 }
 
-buildUnnamed601() {
+buildUnnamed629() {
   var o = new core.List<api.Filter>();
   o.add(buildFilter());
   o.add(buildFilter());
   return o;
 }
 
-checkUnnamed601(core.List<api.Filter> o) {
+checkUnnamed629(core.List<api.Filter> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFilter(o[0]);
   checkFilter(o[1]);
@@ -1432,7 +1432,7 @@
   var o = new api.Filters();
   buildCounterFilters++;
   if (buildCounterFilters < 3) {
-    o.items = buildUnnamed601();
+    o.items = buildUnnamed629();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -1448,7 +1448,7 @@
 checkFilters(api.Filters o) {
   buildCounterFilters++;
   if (buildCounterFilters < 3) {
-    checkUnnamed601(o.items);
+    checkUnnamed629(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -1483,14 +1483,14 @@
   buildCounterGaDataColumnHeaders--;
 }
 
-buildUnnamed602() {
+buildUnnamed630() {
   var o = new core.List<api.GaDataColumnHeaders>();
   o.add(buildGaDataColumnHeaders());
   o.add(buildGaDataColumnHeaders());
   return o;
 }
 
-checkUnnamed602(core.List<api.GaDataColumnHeaders> o) {
+checkUnnamed630(core.List<api.GaDataColumnHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGaDataColumnHeaders(o[0]);
   checkGaDataColumnHeaders(o[1]);
@@ -1519,14 +1519,14 @@
   buildCounterGaDataDataTableCols--;
 }
 
-buildUnnamed603() {
+buildUnnamed631() {
   var o = new core.List<api.GaDataDataTableCols>();
   o.add(buildGaDataDataTableCols());
   o.add(buildGaDataDataTableCols());
   return o;
 }
 
-checkUnnamed603(core.List<api.GaDataDataTableCols> o) {
+checkUnnamed631(core.List<api.GaDataDataTableCols> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGaDataDataTableCols(o[0]);
   checkGaDataDataTableCols(o[1]);
@@ -1551,14 +1551,14 @@
   buildCounterGaDataDataTableRowsC--;
 }
 
-buildUnnamed604() {
+buildUnnamed632() {
   var o = new core.List<api.GaDataDataTableRowsC>();
   o.add(buildGaDataDataTableRowsC());
   o.add(buildGaDataDataTableRowsC());
   return o;
 }
 
-checkUnnamed604(core.List<api.GaDataDataTableRowsC> o) {
+checkUnnamed632(core.List<api.GaDataDataTableRowsC> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGaDataDataTableRowsC(o[0]);
   checkGaDataDataTableRowsC(o[1]);
@@ -1569,7 +1569,7 @@
   var o = new api.GaDataDataTableRows();
   buildCounterGaDataDataTableRows++;
   if (buildCounterGaDataDataTableRows < 3) {
-    o.c = buildUnnamed604();
+    o.c = buildUnnamed632();
   }
   buildCounterGaDataDataTableRows--;
   return o;
@@ -1578,19 +1578,19 @@
 checkGaDataDataTableRows(api.GaDataDataTableRows o) {
   buildCounterGaDataDataTableRows++;
   if (buildCounterGaDataDataTableRows < 3) {
-    checkUnnamed604(o.c);
+    checkUnnamed632(o.c);
   }
   buildCounterGaDataDataTableRows--;
 }
 
-buildUnnamed605() {
+buildUnnamed633() {
   var o = new core.List<api.GaDataDataTableRows>();
   o.add(buildGaDataDataTableRows());
   o.add(buildGaDataDataTableRows());
   return o;
 }
 
-checkUnnamed605(core.List<api.GaDataDataTableRows> o) {
+checkUnnamed633(core.List<api.GaDataDataTableRows> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGaDataDataTableRows(o[0]);
   checkGaDataDataTableRows(o[1]);
@@ -1601,8 +1601,8 @@
   var o = new api.GaDataDataTable();
   buildCounterGaDataDataTable++;
   if (buildCounterGaDataDataTable < 3) {
-    o.cols = buildUnnamed603();
-    o.rows = buildUnnamed605();
+    o.cols = buildUnnamed631();
+    o.rows = buildUnnamed633();
   }
   buildCounterGaDataDataTable--;
   return o;
@@ -1611,8 +1611,8 @@
 checkGaDataDataTable(api.GaDataDataTable o) {
   buildCounterGaDataDataTable++;
   if (buildCounterGaDataDataTable < 3) {
-    checkUnnamed603(o.cols);
-    checkUnnamed605(o.rows);
+    checkUnnamed631(o.cols);
+    checkUnnamed633(o.rows);
   }
   buildCounterGaDataDataTable--;
 }
@@ -1646,27 +1646,27 @@
   buildCounterGaDataProfileInfo--;
 }
 
-buildUnnamed606() {
+buildUnnamed634() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed606(core.List<core.String> o) {
+checkUnnamed634(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed607() {
+buildUnnamed635() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed607(core.List<core.String> o) {
+checkUnnamed635(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1682,10 +1682,10 @@
     o.filters = "foo";
     o.ids = "foo";
     o.max_results = 42;
-    o.metrics = buildUnnamed606();
+    o.metrics = buildUnnamed634();
     o.samplingLevel = "foo";
     o.segment = "foo";
-    o.sort = buildUnnamed607();
+    o.sort = buildUnnamed635();
     o.start_date = "foo";
     o.start_index = 42;
   }
@@ -1701,50 +1701,50 @@
     unittest.expect(o.filters, unittest.equals('foo'));
     unittest.expect(o.ids, unittest.equals('foo'));
     unittest.expect(o.max_results, unittest.equals(42));
-    checkUnnamed606(o.metrics);
+    checkUnnamed634(o.metrics);
     unittest.expect(o.samplingLevel, unittest.equals('foo'));
     unittest.expect(o.segment, unittest.equals('foo'));
-    checkUnnamed607(o.sort);
+    checkUnnamed635(o.sort);
     unittest.expect(o.start_date, unittest.equals('foo'));
     unittest.expect(o.start_index, unittest.equals(42));
   }
   buildCounterGaDataQuery--;
 }
 
-buildUnnamed608() {
+buildUnnamed636() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed608(core.List<core.String> o) {
+checkUnnamed636(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed609() {
+buildUnnamed637() {
   var o = new core.List<core.List<core.String>>();
-  o.add(buildUnnamed608());
-  o.add(buildUnnamed608());
+  o.add(buildUnnamed636());
+  o.add(buildUnnamed636());
   return o;
 }
 
-checkUnnamed609(core.List<core.List<core.String>> o) {
+checkUnnamed637(core.List<core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed608(o[0]);
-  checkUnnamed608(o[1]);
+  checkUnnamed636(o[0]);
+  checkUnnamed636(o[1]);
 }
 
-buildUnnamed610() {
+buildUnnamed638() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed610(core.Map<core.String, core.String> o) {
+checkUnnamed638(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -1755,7 +1755,7 @@
   var o = new api.GaData();
   buildCounterGaData++;
   if (buildCounterGaData < 3) {
-    o.columnHeaders = buildUnnamed602();
+    o.columnHeaders = buildUnnamed630();
     o.containsSampledData = true;
     o.dataTable = buildGaDataDataTable();
     o.id = "foo";
@@ -1765,12 +1765,12 @@
     o.previousLink = "foo";
     o.profileInfo = buildGaDataProfileInfo();
     o.query = buildGaDataQuery();
-    o.rows = buildUnnamed609();
+    o.rows = buildUnnamed637();
     o.sampleSize = "foo";
     o.sampleSpace = "foo";
     o.selfLink = "foo";
     o.totalResults = 42;
-    o.totalsForAllResults = buildUnnamed610();
+    o.totalsForAllResults = buildUnnamed638();
   }
   buildCounterGaData--;
   return o;
@@ -1779,7 +1779,7 @@
 checkGaData(api.GaData o) {
   buildCounterGaData++;
   if (buildCounterGaData < 3) {
-    checkUnnamed602(o.columnHeaders);
+    checkUnnamed630(o.columnHeaders);
     unittest.expect(o.containsSampledData, unittest.isTrue);
     checkGaDataDataTable(o.dataTable);
     unittest.expect(o.id, unittest.equals('foo'));
@@ -1789,12 +1789,12 @@
     unittest.expect(o.previousLink, unittest.equals('foo'));
     checkGaDataProfileInfo(o.profileInfo);
     checkGaDataQuery(o.query);
-    checkUnnamed609(o.rows);
+    checkUnnamed637(o.rows);
     unittest.expect(o.sampleSize, unittest.equals('foo'));
     unittest.expect(o.sampleSpace, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.totalResults, unittest.equals(42));
-    checkUnnamed610(o.totalsForAllResults);
+    checkUnnamed638(o.totalsForAllResults);
   }
   buildCounterGaData--;
 }
@@ -1826,14 +1826,14 @@
   buildCounterGoalEventDetailsEventConditions--;
 }
 
-buildUnnamed611() {
+buildUnnamed639() {
   var o = new core.List<api.GoalEventDetailsEventConditions>();
   o.add(buildGoalEventDetailsEventConditions());
   o.add(buildGoalEventDetailsEventConditions());
   return o;
 }
 
-checkUnnamed611(core.List<api.GoalEventDetailsEventConditions> o) {
+checkUnnamed639(core.List<api.GoalEventDetailsEventConditions> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGoalEventDetailsEventConditions(o[0]);
   checkGoalEventDetailsEventConditions(o[1]);
@@ -1844,7 +1844,7 @@
   var o = new api.GoalEventDetails();
   buildCounterGoalEventDetails++;
   if (buildCounterGoalEventDetails < 3) {
-    o.eventConditions = buildUnnamed611();
+    o.eventConditions = buildUnnamed639();
     o.useEventValue = true;
   }
   buildCounterGoalEventDetails--;
@@ -1854,7 +1854,7 @@
 checkGoalEventDetails(api.GoalEventDetails o) {
   buildCounterGoalEventDetails++;
   if (buildCounterGoalEventDetails < 3) {
-    checkUnnamed611(o.eventConditions);
+    checkUnnamed639(o.eventConditions);
     unittest.expect(o.useEventValue, unittest.isTrue);
   }
   buildCounterGoalEventDetails--;
@@ -1904,14 +1904,14 @@
   buildCounterGoalUrlDestinationDetailsSteps--;
 }
 
-buildUnnamed612() {
+buildUnnamed640() {
   var o = new core.List<api.GoalUrlDestinationDetailsSteps>();
   o.add(buildGoalUrlDestinationDetailsSteps());
   o.add(buildGoalUrlDestinationDetailsSteps());
   return o;
 }
 
-checkUnnamed612(core.List<api.GoalUrlDestinationDetailsSteps> o) {
+checkUnnamed640(core.List<api.GoalUrlDestinationDetailsSteps> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGoalUrlDestinationDetailsSteps(o[0]);
   checkGoalUrlDestinationDetailsSteps(o[1]);
@@ -1925,7 +1925,7 @@
     o.caseSensitive = true;
     o.firstStepRequired = true;
     o.matchType = "foo";
-    o.steps = buildUnnamed612();
+    o.steps = buildUnnamed640();
     o.url = "foo";
   }
   buildCounterGoalUrlDestinationDetails--;
@@ -1938,7 +1938,7 @@
     unittest.expect(o.caseSensitive, unittest.isTrue);
     unittest.expect(o.firstStepRequired, unittest.isTrue);
     unittest.expect(o.matchType, unittest.equals('foo'));
-    checkUnnamed612(o.steps);
+    checkUnnamed640(o.steps);
     unittest.expect(o.url, unittest.equals('foo'));
   }
   buildCounterGoalUrlDestinationDetails--;
@@ -2039,14 +2039,14 @@
   buildCounterGoal--;
 }
 
-buildUnnamed613() {
+buildUnnamed641() {
   var o = new core.List<api.Goal>();
   o.add(buildGoal());
   o.add(buildGoal());
   return o;
 }
 
-checkUnnamed613(core.List<api.Goal> o) {
+checkUnnamed641(core.List<api.Goal> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGoal(o[0]);
   checkGoal(o[1]);
@@ -2057,7 +2057,7 @@
   var o = new api.Goals();
   buildCounterGoals++;
   if (buildCounterGoals < 3) {
-    o.items = buildUnnamed613();
+    o.items = buildUnnamed641();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -2073,7 +2073,7 @@
 checkGoals(api.Goals o) {
   buildCounterGoals++;
   if (buildCounterGoals < 3) {
-    checkUnnamed613(o.items);
+    checkUnnamed641(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -2108,14 +2108,14 @@
   buildCounterMcfDataColumnHeaders--;
 }
 
-buildUnnamed614() {
+buildUnnamed642() {
   var o = new core.List<api.McfDataColumnHeaders>();
   o.add(buildMcfDataColumnHeaders());
   o.add(buildMcfDataColumnHeaders());
   return o;
 }
 
-checkUnnamed614(core.List<api.McfDataColumnHeaders> o) {
+checkUnnamed642(core.List<api.McfDataColumnHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMcfDataColumnHeaders(o[0]);
   checkMcfDataColumnHeaders(o[1]);
@@ -2150,27 +2150,27 @@
   buildCounterMcfDataProfileInfo--;
 }
 
-buildUnnamed615() {
+buildUnnamed643() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed615(core.List<core.String> o) {
+checkUnnamed643(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed616() {
+buildUnnamed644() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed616(core.List<core.String> o) {
+checkUnnamed644(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2186,10 +2186,10 @@
     o.filters = "foo";
     o.ids = "foo";
     o.max_results = 42;
-    o.metrics = buildUnnamed615();
+    o.metrics = buildUnnamed643();
     o.samplingLevel = "foo";
     o.segment = "foo";
-    o.sort = buildUnnamed616();
+    o.sort = buildUnnamed644();
     o.start_date = "foo";
     o.start_index = 42;
   }
@@ -2205,10 +2205,10 @@
     unittest.expect(o.filters, unittest.equals('foo'));
     unittest.expect(o.ids, unittest.equals('foo'));
     unittest.expect(o.max_results, unittest.equals(42));
-    checkUnnamed615(o.metrics);
+    checkUnnamed643(o.metrics);
     unittest.expect(o.samplingLevel, unittest.equals('foo'));
     unittest.expect(o.segment, unittest.equals('foo'));
-    checkUnnamed616(o.sort);
+    checkUnnamed644(o.sort);
     unittest.expect(o.start_date, unittest.equals('foo'));
     unittest.expect(o.start_index, unittest.equals(42));
   }
@@ -2236,14 +2236,14 @@
   buildCounterMcfDataRowsConversionPathValue--;
 }
 
-buildUnnamed617() {
+buildUnnamed645() {
   var o = new core.List<api.McfDataRowsConversionPathValue>();
   o.add(buildMcfDataRowsConversionPathValue());
   o.add(buildMcfDataRowsConversionPathValue());
   return o;
 }
 
-checkUnnamed617(core.List<api.McfDataRowsConversionPathValue> o) {
+checkUnnamed645(core.List<api.McfDataRowsConversionPathValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMcfDataRowsConversionPathValue(o[0]);
   checkMcfDataRowsConversionPathValue(o[1]);
@@ -2254,7 +2254,7 @@
   var o = new api.McfDataRows();
   buildCounterMcfDataRows++;
   if (buildCounterMcfDataRows < 3) {
-    o.conversionPathValue = buildUnnamed617();
+    o.conversionPathValue = buildUnnamed645();
     o.primitiveValue = "foo";
   }
   buildCounterMcfDataRows--;
@@ -2264,46 +2264,46 @@
 checkMcfDataRows(api.McfDataRows o) {
   buildCounterMcfDataRows++;
   if (buildCounterMcfDataRows < 3) {
-    checkUnnamed617(o.conversionPathValue);
+    checkUnnamed645(o.conversionPathValue);
     unittest.expect(o.primitiveValue, unittest.equals('foo'));
   }
   buildCounterMcfDataRows--;
 }
 
-buildUnnamed618() {
+buildUnnamed646() {
   var o = new core.List<api.McfDataRows>();
   o.add(buildMcfDataRows());
   o.add(buildMcfDataRows());
   return o;
 }
 
-checkUnnamed618(core.List<api.McfDataRows> o) {
+checkUnnamed646(core.List<api.McfDataRows> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMcfDataRows(o[0]);
   checkMcfDataRows(o[1]);
 }
 
-buildUnnamed619() {
+buildUnnamed647() {
   var o = new core.List<core.List<api.McfDataRows>>();
-  o.add(buildUnnamed618());
-  o.add(buildUnnamed618());
+  o.add(buildUnnamed646());
+  o.add(buildUnnamed646());
   return o;
 }
 
-checkUnnamed619(core.List<core.List<api.McfDataRows>> o) {
+checkUnnamed647(core.List<core.List<api.McfDataRows>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed618(o[0]);
-  checkUnnamed618(o[1]);
+  checkUnnamed646(o[0]);
+  checkUnnamed646(o[1]);
 }
 
-buildUnnamed620() {
+buildUnnamed648() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed620(core.Map<core.String, core.String> o) {
+checkUnnamed648(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -2314,7 +2314,7 @@
   var o = new api.McfData();
   buildCounterMcfData++;
   if (buildCounterMcfData < 3) {
-    o.columnHeaders = buildUnnamed614();
+    o.columnHeaders = buildUnnamed642();
     o.containsSampledData = true;
     o.id = "foo";
     o.itemsPerPage = 42;
@@ -2323,12 +2323,12 @@
     o.previousLink = "foo";
     o.profileInfo = buildMcfDataProfileInfo();
     o.query = buildMcfDataQuery();
-    o.rows = buildUnnamed619();
+    o.rows = buildUnnamed647();
     o.sampleSize = "foo";
     o.sampleSpace = "foo";
     o.selfLink = "foo";
     o.totalResults = 42;
-    o.totalsForAllResults = buildUnnamed620();
+    o.totalsForAllResults = buildUnnamed648();
   }
   buildCounterMcfData--;
   return o;
@@ -2337,7 +2337,7 @@
 checkMcfData(api.McfData o) {
   buildCounterMcfData++;
   if (buildCounterMcfData < 3) {
-    checkUnnamed614(o.columnHeaders);
+    checkUnnamed642(o.columnHeaders);
     unittest.expect(o.containsSampledData, unittest.isTrue);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.itemsPerPage, unittest.equals(42));
@@ -2346,12 +2346,12 @@
     unittest.expect(o.previousLink, unittest.equals('foo'));
     checkMcfDataProfileInfo(o.profileInfo);
     checkMcfDataQuery(o.query);
-    checkUnnamed619(o.rows);
+    checkUnnamed647(o.rows);
     unittest.expect(o.sampleSize, unittest.equals('foo'));
     unittest.expect(o.sampleSpace, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.totalResults, unittest.equals(42));
-    checkUnnamed620(o.totalsForAllResults);
+    checkUnnamed648(o.totalsForAllResults);
   }
   buildCounterMcfData--;
 }
@@ -2398,14 +2398,14 @@
   buildCounterProfileParentLink--;
 }
 
-buildUnnamed621() {
+buildUnnamed649() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed621(core.List<core.String> o) {
+checkUnnamed649(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2416,7 +2416,7 @@
   var o = new api.ProfilePermissions();
   buildCounterProfilePermissions++;
   if (buildCounterProfilePermissions < 3) {
-    o.effective = buildUnnamed621();
+    o.effective = buildUnnamed649();
   }
   buildCounterProfilePermissions--;
   return o;
@@ -2425,7 +2425,7 @@
 checkProfilePermissions(api.ProfilePermissions o) {
   buildCounterProfilePermissions++;
   if (buildCounterProfilePermissions < 3) {
-    checkUnnamed621(o.effective);
+    checkUnnamed649(o.effective);
   }
   buildCounterProfilePermissions--;
 }
@@ -2522,14 +2522,14 @@
   buildCounterProfileFilterLink--;
 }
 
-buildUnnamed622() {
+buildUnnamed650() {
   var o = new core.List<api.ProfileFilterLink>();
   o.add(buildProfileFilterLink());
   o.add(buildProfileFilterLink());
   return o;
 }
 
-checkUnnamed622(core.List<api.ProfileFilterLink> o) {
+checkUnnamed650(core.List<api.ProfileFilterLink> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProfileFilterLink(o[0]);
   checkProfileFilterLink(o[1]);
@@ -2540,7 +2540,7 @@
   var o = new api.ProfileFilterLinks();
   buildCounterProfileFilterLinks++;
   if (buildCounterProfileFilterLinks < 3) {
-    o.items = buildUnnamed622();
+    o.items = buildUnnamed650();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -2556,7 +2556,7 @@
 checkProfileFilterLinks(api.ProfileFilterLinks o) {
   buildCounterProfileFilterLinks++;
   if (buildCounterProfileFilterLinks < 3) {
-    checkUnnamed622(o.items);
+    checkUnnamed650(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -2624,14 +2624,14 @@
   buildCounterProfileSummary--;
 }
 
-buildUnnamed623() {
+buildUnnamed651() {
   var o = new core.List<api.Profile>();
   o.add(buildProfile());
   o.add(buildProfile());
   return o;
 }
 
-checkUnnamed623(core.List<api.Profile> o) {
+checkUnnamed651(core.List<api.Profile> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProfile(o[0]);
   checkProfile(o[1]);
@@ -2642,7 +2642,7 @@
   var o = new api.Profiles();
   buildCounterProfiles++;
   if (buildCounterProfiles < 3) {
-    o.items = buildUnnamed623();
+    o.items = buildUnnamed651();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -2658,7 +2658,7 @@
 checkProfiles(api.Profiles o) {
   buildCounterProfiles++;
   if (buildCounterProfiles < 3) {
-    checkUnnamed623(o.items);
+    checkUnnamed651(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -2693,14 +2693,14 @@
   buildCounterRealtimeDataColumnHeaders--;
 }
 
-buildUnnamed624() {
+buildUnnamed652() {
   var o = new core.List<api.RealtimeDataColumnHeaders>();
   o.add(buildRealtimeDataColumnHeaders());
   o.add(buildRealtimeDataColumnHeaders());
   return o;
 }
 
-checkUnnamed624(core.List<api.RealtimeDataColumnHeaders> o) {
+checkUnnamed652(core.List<api.RealtimeDataColumnHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRealtimeDataColumnHeaders(o[0]);
   checkRealtimeDataColumnHeaders(o[1]);
@@ -2735,27 +2735,27 @@
   buildCounterRealtimeDataProfileInfo--;
 }
 
-buildUnnamed625() {
+buildUnnamed653() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed625(core.List<core.String> o) {
+checkUnnamed653(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed626() {
+buildUnnamed654() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed626(core.List<core.String> o) {
+checkUnnamed654(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2770,8 +2770,8 @@
     o.filters = "foo";
     o.ids = "foo";
     o.max_results = 42;
-    o.metrics = buildUnnamed625();
-    o.sort = buildUnnamed626();
+    o.metrics = buildUnnamed653();
+    o.sort = buildUnnamed654();
   }
   buildCounterRealtimeDataQuery--;
   return o;
@@ -2784,46 +2784,46 @@
     unittest.expect(o.filters, unittest.equals('foo'));
     unittest.expect(o.ids, unittest.equals('foo'));
     unittest.expect(o.max_results, unittest.equals(42));
-    checkUnnamed625(o.metrics);
-    checkUnnamed626(o.sort);
+    checkUnnamed653(o.metrics);
+    checkUnnamed654(o.sort);
   }
   buildCounterRealtimeDataQuery--;
 }
 
-buildUnnamed627() {
+buildUnnamed655() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed627(core.List<core.String> o) {
+checkUnnamed655(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed628() {
+buildUnnamed656() {
   var o = new core.List<core.List<core.String>>();
-  o.add(buildUnnamed627());
-  o.add(buildUnnamed627());
+  o.add(buildUnnamed655());
+  o.add(buildUnnamed655());
   return o;
 }
 
-checkUnnamed628(core.List<core.List<core.String>> o) {
+checkUnnamed656(core.List<core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed627(o[0]);
-  checkUnnamed627(o[1]);
+  checkUnnamed655(o[0]);
+  checkUnnamed655(o[1]);
 }
 
-buildUnnamed629() {
+buildUnnamed657() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed629(core.Map<core.String, core.String> o) {
+checkUnnamed657(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -2834,15 +2834,15 @@
   var o = new api.RealtimeData();
   buildCounterRealtimeData++;
   if (buildCounterRealtimeData < 3) {
-    o.columnHeaders = buildUnnamed624();
+    o.columnHeaders = buildUnnamed652();
     o.id = "foo";
     o.kind = "foo";
     o.profileInfo = buildRealtimeDataProfileInfo();
     o.query = buildRealtimeDataQuery();
-    o.rows = buildUnnamed628();
+    o.rows = buildUnnamed656();
     o.selfLink = "foo";
     o.totalResults = 42;
-    o.totalsForAllResults = buildUnnamed629();
+    o.totalsForAllResults = buildUnnamed657();
   }
   buildCounterRealtimeData--;
   return o;
@@ -2851,15 +2851,15 @@
 checkRealtimeData(api.RealtimeData o) {
   buildCounterRealtimeData++;
   if (buildCounterRealtimeData < 3) {
-    checkUnnamed624(o.columnHeaders);
+    checkUnnamed652(o.columnHeaders);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     checkRealtimeDataProfileInfo(o.profileInfo);
     checkRealtimeDataQuery(o.query);
-    checkUnnamed628(o.rows);
+    checkUnnamed656(o.rows);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.totalResults, unittest.equals(42));
-    checkUnnamed629(o.totalsForAllResults);
+    checkUnnamed657(o.totalsForAllResults);
   }
   buildCounterRealtimeData--;
 }
@@ -2899,14 +2899,14 @@
   buildCounterSegment--;
 }
 
-buildUnnamed630() {
+buildUnnamed658() {
   var o = new core.List<api.Segment>();
   o.add(buildSegment());
   o.add(buildSegment());
   return o;
 }
 
-checkUnnamed630(core.List<api.Segment> o) {
+checkUnnamed658(core.List<api.Segment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSegment(o[0]);
   checkSegment(o[1]);
@@ -2917,7 +2917,7 @@
   var o = new api.Segments();
   buildCounterSegments++;
   if (buildCounterSegments < 3) {
-    o.items = buildUnnamed630();
+    o.items = buildUnnamed658();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -2933,7 +2933,7 @@
 checkSegments(api.Segments o) {
   buildCounterSegments++;
   if (buildCounterSegments < 3) {
-    checkUnnamed630(o.items);
+    checkUnnamed658(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -3040,14 +3040,14 @@
   buildCounterUnsampledReport--;
 }
 
-buildUnnamed631() {
+buildUnnamed659() {
   var o = new core.List<api.UnsampledReport>();
   o.add(buildUnsampledReport());
   o.add(buildUnsampledReport());
   return o;
 }
 
-checkUnnamed631(core.List<api.UnsampledReport> o) {
+checkUnnamed659(core.List<api.UnsampledReport> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUnsampledReport(o[0]);
   checkUnsampledReport(o[1]);
@@ -3058,7 +3058,7 @@
   var o = new api.UnsampledReports();
   buildCounterUnsampledReports++;
   if (buildCounterUnsampledReports < 3) {
-    o.items = buildUnnamed631();
+    o.items = buildUnnamed659();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -3074,7 +3074,7 @@
 checkUnsampledReports(api.UnsampledReports o) {
   buildCounterUnsampledReports++;
   if (buildCounterUnsampledReports < 3) {
-    checkUnnamed631(o.items);
+    checkUnnamed659(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -3086,14 +3086,14 @@
   buildCounterUnsampledReports--;
 }
 
-buildUnnamed632() {
+buildUnnamed660() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed632(core.List<core.String> o) {
+checkUnnamed660(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3106,7 +3106,7 @@
   if (buildCounterUpload < 3) {
     o.accountId = "foo";
     o.customDataSourceId = "foo";
-    o.errors = buildUnnamed632();
+    o.errors = buildUnnamed660();
     o.id = "foo";
     o.kind = "foo";
     o.status = "foo";
@@ -3120,7 +3120,7 @@
   if (buildCounterUpload < 3) {
     unittest.expect(o.accountId, unittest.equals('foo'));
     unittest.expect(o.customDataSourceId, unittest.equals('foo'));
-    checkUnnamed632(o.errors);
+    checkUnnamed660(o.errors);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
@@ -3128,14 +3128,14 @@
   buildCounterUpload--;
 }
 
-buildUnnamed633() {
+buildUnnamed661() {
   var o = new core.List<api.Upload>();
   o.add(buildUpload());
   o.add(buildUpload());
   return o;
 }
 
-checkUnnamed633(core.List<api.Upload> o) {
+checkUnnamed661(core.List<api.Upload> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUpload(o[0]);
   checkUpload(o[1]);
@@ -3146,7 +3146,7 @@
   var o = new api.Uploads();
   buildCounterUploads++;
   if (buildCounterUploads < 3) {
-    o.items = buildUnnamed633();
+    o.items = buildUnnamed661();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -3161,7 +3161,7 @@
 checkUploads(api.Uploads o) {
   buildCounterUploads++;
   if (buildCounterUploads < 3) {
-    checkUnnamed633(o.items);
+    checkUnnamed661(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -3224,14 +3224,14 @@
   buildCounterWebPropertyRef--;
 }
 
-buildUnnamed634() {
+buildUnnamed662() {
   var o = new core.List<api.ProfileSummary>();
   o.add(buildProfileSummary());
   o.add(buildProfileSummary());
   return o;
 }
 
-checkUnnamed634(core.List<api.ProfileSummary> o) {
+checkUnnamed662(core.List<api.ProfileSummary> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProfileSummary(o[0]);
   checkProfileSummary(o[1]);
@@ -3247,7 +3247,7 @@
     o.kind = "foo";
     o.level = "foo";
     o.name = "foo";
-    o.profiles = buildUnnamed634();
+    o.profiles = buildUnnamed662();
     o.websiteUrl = "foo";
   }
   buildCounterWebPropertySummary--;
@@ -3262,20 +3262,20 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.level, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed634(o.profiles);
+    checkUnnamed662(o.profiles);
     unittest.expect(o.websiteUrl, unittest.equals('foo'));
   }
   buildCounterWebPropertySummary--;
 }
 
-buildUnnamed635() {
+buildUnnamed663() {
   var o = new core.List<api.Webproperty>();
   o.add(buildWebproperty());
   o.add(buildWebproperty());
   return o;
 }
 
-checkUnnamed635(core.List<api.Webproperty> o) {
+checkUnnamed663(core.List<api.Webproperty> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkWebproperty(o[0]);
   checkWebproperty(o[1]);
@@ -3286,7 +3286,7 @@
   var o = new api.Webproperties();
   buildCounterWebproperties++;
   if (buildCounterWebproperties < 3) {
-    o.items = buildUnnamed635();
+    o.items = buildUnnamed663();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextLink = "foo";
@@ -3302,7 +3302,7 @@
 checkWebproperties(api.Webproperties o) {
   buildCounterWebproperties++;
   if (buildCounterWebproperties < 3) {
-    checkUnnamed635(o.items);
+    checkUnnamed663(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -3356,14 +3356,14 @@
   buildCounterWebpropertyParentLink--;
 }
 
-buildUnnamed636() {
+buildUnnamed664() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed636(core.List<core.String> o) {
+checkUnnamed664(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3374,7 +3374,7 @@
   var o = new api.WebpropertyPermissions();
   buildCounterWebpropertyPermissions++;
   if (buildCounterWebpropertyPermissions < 3) {
-    o.effective = buildUnnamed636();
+    o.effective = buildUnnamed664();
   }
   buildCounterWebpropertyPermissions--;
   return o;
@@ -3383,7 +3383,7 @@
 checkWebpropertyPermissions(api.WebpropertyPermissions o) {
   buildCounterWebpropertyPermissions++;
   if (buildCounterWebpropertyPermissions < 3) {
-    checkUnnamed636(o.effective);
+    checkUnnamed664(o.effective);
   }
   buildCounterWebpropertyPermissions--;
 }
@@ -4298,8 +4298,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("data/ga"));
         pathOffset += 7;
 
@@ -4367,8 +4369,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("data/mcf"));
         pathOffset += 8;
 
@@ -4430,8 +4434,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("data/realtime"));
         pathOffset += 13;
 
@@ -4485,8 +4491,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("management/accountSummaries"));
         pathOffset += 27;
 
@@ -4536,8 +4544,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/entityUserLinks/", pathOffset);
@@ -4592,8 +4602,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/entityUserLinks", pathOffset);
@@ -4645,8 +4657,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/entityUserLinks", pathOffset);
@@ -4703,8 +4717,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/entityUserLinks/", pathOffset);
@@ -4762,8 +4778,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("management/accounts"));
         pathOffset += 19;
 
@@ -4815,8 +4833,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -4883,8 +4903,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -4956,8 +4978,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5033,8 +5057,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5115,8 +5141,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5184,8 +5212,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5258,8 +5288,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5327,8 +5359,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5401,8 +5435,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5476,8 +5512,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5549,8 +5587,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters/", pathOffset);
@@ -5604,8 +5644,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters/", pathOffset);
@@ -5662,8 +5704,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters", pathOffset);
@@ -5715,8 +5759,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters", pathOffset);
@@ -5773,8 +5819,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters/", pathOffset);
@@ -5832,8 +5880,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/filters/", pathOffset);
@@ -5893,8 +5943,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -5967,8 +6019,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6036,8 +6090,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6110,8 +6166,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6185,8 +6243,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6260,8 +6320,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6329,8 +6391,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6403,8 +6467,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6472,8 +6538,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6546,8 +6614,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6621,8 +6691,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6696,8 +6768,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6768,8 +6842,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6837,8 +6913,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6911,8 +6989,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -6985,8 +7065,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7046,8 +7128,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7112,8 +7196,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7173,8 +7259,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7239,8 +7327,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7306,8 +7396,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7372,8 +7464,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("management/segments"));
         pathOffset += 19;
 
@@ -7425,8 +7519,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7499,8 +7595,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7568,8 +7666,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7645,8 +7745,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7711,8 +7813,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7783,8 +7887,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7852,8 +7958,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7919,8 +8027,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -7990,8 +8100,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8051,8 +8163,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8117,8 +8231,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8178,8 +8294,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8244,8 +8362,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8311,8 +8431,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8377,8 +8499,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8435,8 +8559,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties", pathOffset);
@@ -8488,8 +8614,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties", pathOffset);
@@ -8546,8 +8674,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8605,8 +8735,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8665,8 +8797,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8729,8 +8863,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8790,8 +8926,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8856,8 +8994,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("management/accounts/"));
         pathOffset += 20;
         index = path.indexOf("/webproperties/", pathOffset);
@@ -8921,8 +9061,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("metadata/"));
         pathOffset += 9;
         index = path.indexOf("/columns", pathOffset);
@@ -8979,8 +9121,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/analytics/v3/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("analytics/v3/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("provisioning/createAccountTicket"));
         pathOffset += 32;
 
diff --git a/generated/googleapis/test/androidpublisher/v2_test.dart b/generated/googleapis/test/androidpublisher/v2_test.dart
index 6aafe60..f8d4462 100644
--- a/generated/googleapis/test/androidpublisher/v2_test.dart
+++ b/generated/googleapis/test/androidpublisher/v2_test.dart
@@ -77,14 +77,14 @@
   buildCounterApkListing--;
 }
 
-buildUnnamed953() {
+buildUnnamed981() {
   var o = new core.List<api.ApkListing>();
   o.add(buildApkListing());
   o.add(buildApkListing());
   return o;
 }
 
-checkUnnamed953(core.List<api.ApkListing> o) {
+checkUnnamed981(core.List<api.ApkListing> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkApkListing(o[0]);
   checkApkListing(o[1]);
@@ -96,7 +96,7 @@
   buildCounterApkListingsListResponse++;
   if (buildCounterApkListingsListResponse < 3) {
     o.kind = "foo";
-    o.listings = buildUnnamed953();
+    o.listings = buildUnnamed981();
   }
   buildCounterApkListingsListResponse--;
   return o;
@@ -106,19 +106,19 @@
   buildCounterApkListingsListResponse++;
   if (buildCounterApkListingsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed953(o.listings);
+    checkUnnamed981(o.listings);
   }
   buildCounterApkListingsListResponse--;
 }
 
-buildUnnamed954() {
+buildUnnamed982() {
   var o = new core.List<api.Apk>();
   o.add(buildApk());
   o.add(buildApk());
   return o;
 }
 
-checkUnnamed954(core.List<api.Apk> o) {
+checkUnnamed982(core.List<api.Apk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkApk(o[0]);
   checkApk(o[1]);
@@ -129,7 +129,7 @@
   var o = new api.ApksListResponse();
   buildCounterApksListResponse++;
   if (buildCounterApksListResponse < 3) {
-    o.apks = buildUnnamed954();
+    o.apks = buildUnnamed982();
     o.kind = "foo";
   }
   buildCounterApksListResponse--;
@@ -139,7 +139,7 @@
 checkApksListResponse(api.ApksListResponse o) {
   buildCounterApksListResponse++;
   if (buildCounterApksListResponse < 3) {
-    checkUnnamed954(o.apks);
+    checkUnnamed982(o.apks);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterApksListResponse--;
@@ -254,14 +254,14 @@
   buildCounterImage--;
 }
 
-buildUnnamed955() {
+buildUnnamed983() {
   var o = new core.List<api.Image>();
   o.add(buildImage());
   o.add(buildImage());
   return o;
 }
 
-checkUnnamed955(core.List<api.Image> o) {
+checkUnnamed983(core.List<api.Image> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkImage(o[0]);
   checkImage(o[1]);
@@ -272,7 +272,7 @@
   var o = new api.ImagesDeleteAllResponse();
   buildCounterImagesDeleteAllResponse++;
   if (buildCounterImagesDeleteAllResponse < 3) {
-    o.deleted = buildUnnamed955();
+    o.deleted = buildUnnamed983();
   }
   buildCounterImagesDeleteAllResponse--;
   return o;
@@ -281,19 +281,19 @@
 checkImagesDeleteAllResponse(api.ImagesDeleteAllResponse o) {
   buildCounterImagesDeleteAllResponse++;
   if (buildCounterImagesDeleteAllResponse < 3) {
-    checkUnnamed955(o.deleted);
+    checkUnnamed983(o.deleted);
   }
   buildCounterImagesDeleteAllResponse--;
 }
 
-buildUnnamed956() {
+buildUnnamed984() {
   var o = new core.List<api.Image>();
   o.add(buildImage());
   o.add(buildImage());
   return o;
 }
 
-checkUnnamed956(core.List<api.Image> o) {
+checkUnnamed984(core.List<api.Image> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkImage(o[0]);
   checkImage(o[1]);
@@ -304,7 +304,7 @@
   var o = new api.ImagesListResponse();
   buildCounterImagesListResponse++;
   if (buildCounterImagesListResponse < 3) {
-    o.images = buildUnnamed956();
+    o.images = buildUnnamed984();
   }
   buildCounterImagesListResponse--;
   return o;
@@ -313,7 +313,7 @@
 checkImagesListResponse(api.ImagesListResponse o) {
   buildCounterImagesListResponse++;
   if (buildCounterImagesListResponse < 3) {
-    checkUnnamed956(o.images);
+    checkUnnamed984(o.images);
   }
   buildCounterImagesListResponse--;
 }
@@ -337,27 +337,27 @@
   buildCounterImagesUploadResponse--;
 }
 
-buildUnnamed957() {
+buildUnnamed985() {
   var o = new core.Map<core.String, api.InAppProductListing>();
   o["x"] = buildInAppProductListing();
   o["y"] = buildInAppProductListing();
   return o;
 }
 
-checkUnnamed957(core.Map<core.String, api.InAppProductListing> o) {
+checkUnnamed985(core.Map<core.String, api.InAppProductListing> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInAppProductListing(o["x"]);
   checkInAppProductListing(o["y"]);
 }
 
-buildUnnamed958() {
+buildUnnamed986() {
   var o = new core.Map<core.String, api.Price>();
   o["x"] = buildPrice();
   o["y"] = buildPrice();
   return o;
 }
 
-checkUnnamed958(core.Map<core.String, api.Price> o) {
+checkUnnamed986(core.Map<core.String, api.Price> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPrice(o["x"]);
   checkPrice(o["y"]);
@@ -370,10 +370,11 @@
   if (buildCounterInAppProduct < 3) {
     o.defaultLanguage = "foo";
     o.defaultPrice = buildPrice();
-    o.listings = buildUnnamed957();
+    o.listings = buildUnnamed985();
     o.packageName = "foo";
-    o.prices = buildUnnamed958();
+    o.prices = buildUnnamed986();
     o.purchaseType = "foo";
+    o.season = buildSeason();
     o.sku = "foo";
     o.status = "foo";
     o.subscriptionPeriod = "foo";
@@ -388,10 +389,11 @@
   if (buildCounterInAppProduct < 3) {
     unittest.expect(o.defaultLanguage, unittest.equals('foo'));
     checkPrice(o.defaultPrice);
-    checkUnnamed957(o.listings);
+    checkUnnamed985(o.listings);
     unittest.expect(o.packageName, unittest.equals('foo'));
-    checkUnnamed958(o.prices);
+    checkUnnamed986(o.prices);
     unittest.expect(o.purchaseType, unittest.equals('foo'));
+    checkSeason(o.season);
     unittest.expect(o.sku, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
     unittest.expect(o.subscriptionPeriod, unittest.equals('foo'));
@@ -421,14 +423,14 @@
   buildCounterInAppProductListing--;
 }
 
-buildUnnamed959() {
+buildUnnamed987() {
   var o = new core.List<api.InappproductsBatchRequestEntry>();
   o.add(buildInappproductsBatchRequestEntry());
   o.add(buildInappproductsBatchRequestEntry());
   return o;
 }
 
-checkUnnamed959(core.List<api.InappproductsBatchRequestEntry> o) {
+checkUnnamed987(core.List<api.InappproductsBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInappproductsBatchRequestEntry(o[0]);
   checkInappproductsBatchRequestEntry(o[1]);
@@ -439,7 +441,7 @@
   var o = new api.InappproductsBatchRequest();
   buildCounterInappproductsBatchRequest++;
   if (buildCounterInappproductsBatchRequest < 3) {
-    o.entrys = buildUnnamed959();
+    o.entrys = buildUnnamed987();
   }
   buildCounterInappproductsBatchRequest--;
   return o;
@@ -448,7 +450,7 @@
 checkInappproductsBatchRequest(api.InappproductsBatchRequest o) {
   buildCounterInappproductsBatchRequest++;
   if (buildCounterInappproductsBatchRequest < 3) {
-    checkUnnamed959(o.entrys);
+    checkUnnamed987(o.entrys);
   }
   buildCounterInappproductsBatchRequest--;
 }
@@ -478,14 +480,14 @@
   buildCounterInappproductsBatchRequestEntry--;
 }
 
-buildUnnamed960() {
+buildUnnamed988() {
   var o = new core.List<api.InappproductsBatchResponseEntry>();
   o.add(buildInappproductsBatchResponseEntry());
   o.add(buildInappproductsBatchResponseEntry());
   return o;
 }
 
-checkUnnamed960(core.List<api.InappproductsBatchResponseEntry> o) {
+checkUnnamed988(core.List<api.InappproductsBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInappproductsBatchResponseEntry(o[0]);
   checkInappproductsBatchResponseEntry(o[1]);
@@ -496,7 +498,7 @@
   var o = new api.InappproductsBatchResponse();
   buildCounterInappproductsBatchResponse++;
   if (buildCounterInappproductsBatchResponse < 3) {
-    o.entrys = buildUnnamed960();
+    o.entrys = buildUnnamed988();
     o.kind = "foo";
   }
   buildCounterInappproductsBatchResponse--;
@@ -506,7 +508,7 @@
 checkInappproductsBatchResponse(api.InappproductsBatchResponse o) {
   buildCounterInappproductsBatchResponse++;
   if (buildCounterInappproductsBatchResponse < 3) {
-    checkUnnamed960(o.entrys);
+    checkUnnamed988(o.entrys);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterInappproductsBatchResponse--;
@@ -573,14 +575,14 @@
   buildCounterInappproductsInsertResponse--;
 }
 
-buildUnnamed961() {
+buildUnnamed989() {
   var o = new core.List<api.InAppProduct>();
   o.add(buildInAppProduct());
   o.add(buildInAppProduct());
   return o;
 }
 
-checkUnnamed961(core.List<api.InAppProduct> o) {
+checkUnnamed989(core.List<api.InAppProduct> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInAppProduct(o[0]);
   checkInAppProduct(o[1]);
@@ -591,7 +593,7 @@
   var o = new api.InappproductsListResponse();
   buildCounterInappproductsListResponse++;
   if (buildCounterInappproductsListResponse < 3) {
-    o.inappproduct = buildUnnamed961();
+    o.inappproduct = buildUnnamed989();
     o.kind = "foo";
     o.pageInfo = buildPageInfo();
     o.tokenPagination = buildTokenPagination();
@@ -603,7 +605,7 @@
 checkInappproductsListResponse(api.InappproductsListResponse o) {
   buildCounterInappproductsListResponse++;
   if (buildCounterInappproductsListResponse < 3) {
-    checkUnnamed961(o.inappproduct);
+    checkUnnamed989(o.inappproduct);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
     checkTokenPagination(o.tokenPagination);
@@ -676,14 +678,14 @@
   buildCounterListing--;
 }
 
-buildUnnamed962() {
+buildUnnamed990() {
   var o = new core.List<api.Listing>();
   o.add(buildListing());
   o.add(buildListing());
   return o;
 }
 
-checkUnnamed962(core.List<api.Listing> o) {
+checkUnnamed990(core.List<api.Listing> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkListing(o[0]);
   checkListing(o[1]);
@@ -695,7 +697,7 @@
   buildCounterListingsListResponse++;
   if (buildCounterListingsListResponse < 3) {
     o.kind = "foo";
-    o.listings = buildUnnamed962();
+    o.listings = buildUnnamed990();
   }
   buildCounterListingsListResponse--;
   return o;
@@ -705,11 +707,32 @@
   buildCounterListingsListResponse++;
   if (buildCounterListingsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed962(o.listings);
+    checkUnnamed990(o.listings);
   }
   buildCounterListingsListResponse--;
 }
 
+core.int buildCounterMonthDay = 0;
+buildMonthDay() {
+  var o = new api.MonthDay();
+  buildCounterMonthDay++;
+  if (buildCounterMonthDay < 3) {
+    o.day = 42;
+    o.month = 42;
+  }
+  buildCounterMonthDay--;
+  return o;
+}
+
+checkMonthDay(api.MonthDay o) {
+  buildCounterMonthDay++;
+  if (buildCounterMonthDay < 3) {
+    unittest.expect(o.day, unittest.equals(42));
+    unittest.expect(o.month, unittest.equals(42));
+  }
+  buildCounterMonthDay--;
+}
+
 core.int buildCounterPageInfo = 0;
 buildPageInfo() {
   var o = new api.PageInfo();
@@ -781,6 +804,48 @@
   buildCounterProductPurchase--;
 }
 
+core.int buildCounterSeason = 0;
+buildSeason() {
+  var o = new api.Season();
+  buildCounterSeason++;
+  if (buildCounterSeason < 3) {
+    o.end = buildMonthDay();
+    o.start = buildMonthDay();
+  }
+  buildCounterSeason--;
+  return o;
+}
+
+checkSeason(api.Season o) {
+  buildCounterSeason++;
+  if (buildCounterSeason < 3) {
+    checkMonthDay(o.end);
+    checkMonthDay(o.start);
+  }
+  buildCounterSeason--;
+}
+
+core.int buildCounterSubscriptionDeferralInfo = 0;
+buildSubscriptionDeferralInfo() {
+  var o = new api.SubscriptionDeferralInfo();
+  buildCounterSubscriptionDeferralInfo++;
+  if (buildCounterSubscriptionDeferralInfo < 3) {
+    o.desiredExpiryTimeMillis = "foo";
+    o.expectedExpiryTimeMillis = "foo";
+  }
+  buildCounterSubscriptionDeferralInfo--;
+  return o;
+}
+
+checkSubscriptionDeferralInfo(api.SubscriptionDeferralInfo o) {
+  buildCounterSubscriptionDeferralInfo++;
+  if (buildCounterSubscriptionDeferralInfo < 3) {
+    unittest.expect(o.desiredExpiryTimeMillis, unittest.equals('foo'));
+    unittest.expect(o.expectedExpiryTimeMillis, unittest.equals('foo'));
+  }
+  buildCounterSubscriptionDeferralInfo--;
+}
+
 core.int buildCounterSubscriptionPurchase = 0;
 buildSubscriptionPurchase() {
   var o = new api.SubscriptionPurchase();
@@ -806,27 +871,65 @@
   buildCounterSubscriptionPurchase--;
 }
 
-buildUnnamed963() {
+core.int buildCounterSubscriptionPurchasesDeferRequest = 0;
+buildSubscriptionPurchasesDeferRequest() {
+  var o = new api.SubscriptionPurchasesDeferRequest();
+  buildCounterSubscriptionPurchasesDeferRequest++;
+  if (buildCounterSubscriptionPurchasesDeferRequest < 3) {
+    o.deferralInfo = buildSubscriptionDeferralInfo();
+  }
+  buildCounterSubscriptionPurchasesDeferRequest--;
+  return o;
+}
+
+checkSubscriptionPurchasesDeferRequest(api.SubscriptionPurchasesDeferRequest o) {
+  buildCounterSubscriptionPurchasesDeferRequest++;
+  if (buildCounterSubscriptionPurchasesDeferRequest < 3) {
+    checkSubscriptionDeferralInfo(o.deferralInfo);
+  }
+  buildCounterSubscriptionPurchasesDeferRequest--;
+}
+
+core.int buildCounterSubscriptionPurchasesDeferResponse = 0;
+buildSubscriptionPurchasesDeferResponse() {
+  var o = new api.SubscriptionPurchasesDeferResponse();
+  buildCounterSubscriptionPurchasesDeferResponse++;
+  if (buildCounterSubscriptionPurchasesDeferResponse < 3) {
+    o.newExpiryTimeMillis = "foo";
+  }
+  buildCounterSubscriptionPurchasesDeferResponse--;
+  return o;
+}
+
+checkSubscriptionPurchasesDeferResponse(api.SubscriptionPurchasesDeferResponse o) {
+  buildCounterSubscriptionPurchasesDeferResponse++;
+  if (buildCounterSubscriptionPurchasesDeferResponse < 3) {
+    unittest.expect(o.newExpiryTimeMillis, unittest.equals('foo'));
+  }
+  buildCounterSubscriptionPurchasesDeferResponse--;
+}
+
+buildUnnamed991() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed963(core.List<core.String> o) {
+checkUnnamed991(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed964() {
+buildUnnamed992() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed964(core.List<core.String> o) {
+checkUnnamed992(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -837,8 +940,8 @@
   var o = new api.Testers();
   buildCounterTesters++;
   if (buildCounterTesters < 3) {
-    o.googleGroups = buildUnnamed963();
-    o.googlePlusCommunities = buildUnnamed964();
+    o.googleGroups = buildUnnamed991();
+    o.googlePlusCommunities = buildUnnamed992();
   }
   buildCounterTesters--;
   return o;
@@ -847,8 +950,8 @@
 checkTesters(api.Testers o) {
   buildCounterTesters++;
   if (buildCounterTesters < 3) {
-    checkUnnamed963(o.googleGroups);
-    checkUnnamed964(o.googlePlusCommunities);
+    checkUnnamed991(o.googleGroups);
+    checkUnnamed992(o.googlePlusCommunities);
   }
   buildCounterTesters--;
 }
@@ -874,14 +977,14 @@
   buildCounterTokenPagination--;
 }
 
-buildUnnamed965() {
+buildUnnamed993() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed965(core.List<core.int> o) {
+checkUnnamed993(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
@@ -894,7 +997,7 @@
   if (buildCounterTrack < 3) {
     o.track = "foo";
     o.userFraction = 42.0;
-    o.versionCodes = buildUnnamed965();
+    o.versionCodes = buildUnnamed993();
   }
   buildCounterTrack--;
   return o;
@@ -905,19 +1008,19 @@
   if (buildCounterTrack < 3) {
     unittest.expect(o.track, unittest.equals('foo'));
     unittest.expect(o.userFraction, unittest.equals(42.0));
-    checkUnnamed965(o.versionCodes);
+    checkUnnamed993(o.versionCodes);
   }
   buildCounterTrack--;
 }
 
-buildUnnamed966() {
+buildUnnamed994() {
   var o = new core.List<api.Track>();
   o.add(buildTrack());
   o.add(buildTrack());
   return o;
 }
 
-checkUnnamed966(core.List<api.Track> o) {
+checkUnnamed994(core.List<api.Track> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTrack(o[0]);
   checkTrack(o[1]);
@@ -929,7 +1032,7 @@
   buildCounterTracksListResponse++;
   if (buildCounterTracksListResponse < 3) {
     o.kind = "foo";
-    o.tracks = buildUnnamed966();
+    o.tracks = buildUnnamed994();
   }
   buildCounterTracksListResponse--;
   return o;
@@ -939,7 +1042,7 @@
   buildCounterTracksListResponse++;
   if (buildCounterTracksListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed966(o.tracks);
+    checkUnnamed994(o.tracks);
   }
   buildCounterTracksListResponse--;
 }
@@ -1180,6 +1283,15 @@
   });
 
 
+  unittest.group("obj-schema-MonthDay", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildMonthDay();
+      var od = new api.MonthDay.fromJson(o.toJson());
+      checkMonthDay(od);
+    });
+  });
+
+
   unittest.group("obj-schema-PageInfo", () {
     unittest.test("to-json--from-json", () {
       var o = buildPageInfo();
@@ -1207,6 +1319,24 @@
   });
 
 
+  unittest.group("obj-schema-Season", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSeason();
+      var od = new api.Season.fromJson(o.toJson());
+      checkSeason(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-SubscriptionDeferralInfo", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSubscriptionDeferralInfo();
+      var od = new api.SubscriptionDeferralInfo.fromJson(o.toJson());
+      checkSubscriptionDeferralInfo(od);
+    });
+  });
+
+
   unittest.group("obj-schema-SubscriptionPurchase", () {
     unittest.test("to-json--from-json", () {
       var o = buildSubscriptionPurchase();
@@ -1216,6 +1346,24 @@
   });
 
 
+  unittest.group("obj-schema-SubscriptionPurchasesDeferRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSubscriptionPurchasesDeferRequest();
+      var od = new api.SubscriptionPurchasesDeferRequest.fromJson(o.toJson());
+      checkSubscriptionPurchasesDeferRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-SubscriptionPurchasesDeferResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSubscriptionPurchasesDeferResponse();
+      var od = new api.SubscriptionPurchasesDeferResponse.fromJson(o.toJson());
+      checkSubscriptionPurchasesDeferResponse(od);
+    });
+  });
+
+
   unittest.group("obj-schema-Testers", () {
     unittest.test("to-json--from-json", () {
       var o = buildTesters();
@@ -1264,22 +1412,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf(":commit", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals(":commit"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1321,18 +1455,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1372,18 +1496,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1428,15 +1542,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/edits"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1478,22 +1585,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf(":validate", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals(":validate"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1541,32 +1634,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1607,29 +1676,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/listings"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1671,32 +1719,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1739,29 +1763,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/listings"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1809,32 +1812,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1882,32 +1861,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1953,22 +1908,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/apks"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2012,22 +1953,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/apks"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2073,22 +2000,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/details", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/details"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2134,22 +2047,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/details", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/details"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2195,22 +2094,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/details", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/details"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2258,32 +2143,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/expansionFiles/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/expansionFiles/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_expansionFileType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2331,32 +2192,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/expansionFiles/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/expansionFiles/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_expansionFileType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2404,32 +2241,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/expansionFiles/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/expansionFiles/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_expansionFileType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2475,32 +2288,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/apks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/apks/"));
-        pathOffset += 6;
-        index = path.indexOf("/expansionFiles/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_apkVersionCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/expansionFiles/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_expansionFileType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2549,39 +2338,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        index = path.indexOf("/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
         pathOffset += 1;
-        index = path.indexOf("/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_imageType"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
-        pathOffset += 1;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_imageId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2623,32 +2381,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        index = path.indexOf("/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
         pathOffset += 1;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_imageType"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2692,32 +2426,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        index = path.indexOf("/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
         pathOffset += 1;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_imageType"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2763,32 +2473,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        index = path.indexOf("/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
         pathOffset += 1;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_imageType"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2835,25 +2521,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2893,22 +2562,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/listings"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2949,25 +2604,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3009,22 +2647,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/listings"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3071,25 +2695,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3136,25 +2743,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/listings/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/listings/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_language"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3201,25 +2791,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/testers/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/testers/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3266,25 +2839,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/testers/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/testers/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3331,25 +2887,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/testers/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/testers/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3396,25 +2935,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/tracks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tracks/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3456,22 +2978,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/tracks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/tracks"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3518,25 +3026,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/tracks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tracks/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3583,25 +3074,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/edits/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/edits/"));
-        pathOffset += 7;
-        index = path.indexOf("/tracks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_editId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tracks/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_track"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3649,8 +3123,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("androidpublisher/v2/applications/"));
+        pathOffset += 33;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("inappproducts/batch"));
         pathOffset += 19;
 
@@ -3694,18 +3170,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/inappproducts/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_sku"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3745,18 +3211,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/inappproducts/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_sku"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3802,15 +3258,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/inappproducts"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3855,15 +3304,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/inappproducts"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3913,18 +3355,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/inappproducts/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_sku"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3972,18 +3404,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/inappproducts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/inappproducts/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_sku"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4031,25 +3453,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/purchases/products/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/purchases/products/"));
-        pathOffset += 20;
-        index = path.indexOf("/tokens/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tokens/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_token"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4096,29 +3501,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/purchases/subscriptions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/purchases/subscriptions/"));
-        pathOffset += 25;
-        index = path.indexOf("/tokens/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_subscriptionId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tokens/"));
-        pathOffset += 8;
-        index = path.indexOf(":cancel", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_token"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals(":cancel"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4147,6 +3531,54 @@
       res.cancel(arg_packageName, arg_subscriptionId, arg_token).then(unittest.expectAsync((_) {}));
     });
 
+    unittest.test("method--defer", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.PurchasesSubscriptionsResourceApi res = new api.AndroidpublisherApi(mock).purchases.subscriptions;
+      var arg_request = buildSubscriptionPurchasesDeferRequest();
+      var arg_packageName = "foo";
+      var arg_subscriptionId = "foo";
+      var arg_token = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.SubscriptionPurchasesDeferRequest.fromJson(json);
+        checkSubscriptionPurchasesDeferRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSubscriptionPurchasesDeferResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.defer(arg_request, arg_packageName, arg_subscriptionId, arg_token).then(unittest.expectAsync(((api.SubscriptionPurchasesDeferResponse response) {
+        checkSubscriptionPurchasesDeferResponse(response);
+      })));
+    });
+
     unittest.test("method--get", () {
 
       var mock = new common_test.HttpServerMock();
@@ -4159,25 +3591,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/androidpublisher/v2/applications/"));
-        pathOffset += 34;
-        index = path.indexOf("/purchases/subscriptions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_packageName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/purchases/subscriptions/"));
-        pathOffset += 25;
-        index = path.indexOf("/tokens/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_subscriptionId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/tokens/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_token"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4208,6 +3623,90 @@
       })));
     });
 
+    unittest.test("method--refund", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.PurchasesSubscriptionsResourceApi res = new api.AndroidpublisherApi(mock).purchases.subscriptions;
+      var arg_packageName = "foo";
+      var arg_subscriptionId = "foo";
+      var arg_token = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = "";
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.refund(arg_packageName, arg_subscriptionId, arg_token).then(unittest.expectAsync((_) {}));
+    });
+
+    unittest.test("method--revoke", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.PurchasesSubscriptionsResourceApi res = new api.AndroidpublisherApi(mock).purchases.subscriptions;
+      var arg_packageName = "foo";
+      var arg_subscriptionId = "foo";
+      var arg_token = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = "";
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.revoke(arg_packageName, arg_subscriptionId, arg_token).then(unittest.expectAsync((_) {}));
+    });
+
   });
 
 
diff --git a/generated/googleapis/test/appsactivity/v1_test.dart b/generated/googleapis/test/appsactivity/v1_test.dart
index 32c9a9e..c66a102 100644
--- a/generated/googleapis/test/appsactivity/v1_test.dart
+++ b/generated/googleapis/test/appsactivity/v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed656() {
+buildUnnamed684() {
   var o = new core.List<api.Event>();
   o.add(buildEvent());
   o.add(buildEvent());
   return o;
 }
 
-checkUnnamed656(core.List<api.Event> o) {
+checkUnnamed684(core.List<api.Event> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEvent(o[0]);
   checkEvent(o[1]);
@@ -35,7 +35,7 @@
   buildCounterActivity++;
   if (buildCounterActivity < 3) {
     o.combinedEvent = buildEvent();
-    o.singleEvents = buildUnnamed656();
+    o.singleEvents = buildUnnamed684();
   }
   buildCounterActivity--;
   return o;
@@ -45,32 +45,32 @@
   buildCounterActivity++;
   if (buildCounterActivity < 3) {
     checkEvent(o.combinedEvent);
-    checkUnnamed656(o.singleEvents);
+    checkUnnamed684(o.singleEvents);
   }
   buildCounterActivity--;
 }
 
-buildUnnamed657() {
+buildUnnamed685() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed657(core.List<core.String> o) {
+checkUnnamed685(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed658() {
+buildUnnamed686() {
   var o = new core.List<api.PermissionChange>();
   o.add(buildPermissionChange());
   o.add(buildPermissionChange());
   return o;
 }
 
-checkUnnamed658(core.List<api.PermissionChange> o) {
+checkUnnamed686(core.List<api.PermissionChange> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPermissionChange(o[0]);
   checkPermissionChange(o[1]);
@@ -81,11 +81,11 @@
   var o = new api.Event();
   buildCounterEvent++;
   if (buildCounterEvent < 3) {
-    o.additionalEventTypes = buildUnnamed657();
+    o.additionalEventTypes = buildUnnamed685();
     o.eventTimeMillis = "foo";
     o.fromUserDeletion = true;
     o.move = buildMove();
-    o.permissionChanges = buildUnnamed658();
+    o.permissionChanges = buildUnnamed686();
     o.primaryEventType = "foo";
     o.rename = buildRename();
     o.target = buildTarget();
@@ -98,11 +98,11 @@
 checkEvent(api.Event o) {
   buildCounterEvent++;
   if (buildCounterEvent < 3) {
-    checkUnnamed657(o.additionalEventTypes);
+    checkUnnamed685(o.additionalEventTypes);
     unittest.expect(o.eventTimeMillis, unittest.equals('foo'));
     unittest.expect(o.fromUserDeletion, unittest.isTrue);
     checkMove(o.move);
-    checkUnnamed658(o.permissionChanges);
+    checkUnnamed686(o.permissionChanges);
     unittest.expect(o.primaryEventType, unittest.equals('foo'));
     checkRename(o.rename);
     checkTarget(o.target);
@@ -111,14 +111,14 @@
   buildCounterEvent--;
 }
 
-buildUnnamed659() {
+buildUnnamed687() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed659(core.List<api.Activity> o) {
+checkUnnamed687(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -129,7 +129,7 @@
   var o = new api.ListActivitiesResponse();
   buildCounterListActivitiesResponse++;
   if (buildCounterListActivitiesResponse < 3) {
-    o.activities = buildUnnamed659();
+    o.activities = buildUnnamed687();
     o.nextPageToken = "foo";
   }
   buildCounterListActivitiesResponse--;
@@ -139,33 +139,33 @@
 checkListActivitiesResponse(api.ListActivitiesResponse o) {
   buildCounterListActivitiesResponse++;
   if (buildCounterListActivitiesResponse < 3) {
-    checkUnnamed659(o.activities);
+    checkUnnamed687(o.activities);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListActivitiesResponse--;
 }
 
-buildUnnamed660() {
+buildUnnamed688() {
   var o = new core.List<api.Parent>();
   o.add(buildParent());
   o.add(buildParent());
   return o;
 }
 
-checkUnnamed660(core.List<api.Parent> o) {
+checkUnnamed688(core.List<api.Parent> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkParent(o[0]);
   checkParent(o[1]);
 }
 
-buildUnnamed661() {
+buildUnnamed689() {
   var o = new core.List<api.Parent>();
   o.add(buildParent());
   o.add(buildParent());
   return o;
 }
 
-checkUnnamed661(core.List<api.Parent> o) {
+checkUnnamed689(core.List<api.Parent> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkParent(o[0]);
   checkParent(o[1]);
@@ -176,8 +176,8 @@
   var o = new api.Move();
   buildCounterMove++;
   if (buildCounterMove < 3) {
-    o.addedParents = buildUnnamed660();
-    o.removedParents = buildUnnamed661();
+    o.addedParents = buildUnnamed688();
+    o.removedParents = buildUnnamed689();
   }
   buildCounterMove--;
   return o;
@@ -186,8 +186,8 @@
 checkMove(api.Move o) {
   buildCounterMove++;
   if (buildCounterMove < 3) {
-    checkUnnamed660(o.addedParents);
-    checkUnnamed661(o.removedParents);
+    checkUnnamed688(o.addedParents);
+    checkUnnamed689(o.removedParents);
   }
   buildCounterMove--;
 }
@@ -244,27 +244,27 @@
   buildCounterPermission--;
 }
 
-buildUnnamed662() {
+buildUnnamed690() {
   var o = new core.List<api.Permission>();
   o.add(buildPermission());
   o.add(buildPermission());
   return o;
 }
 
-checkUnnamed662(core.List<api.Permission> o) {
+checkUnnamed690(core.List<api.Permission> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPermission(o[0]);
   checkPermission(o[1]);
 }
 
-buildUnnamed663() {
+buildUnnamed691() {
   var o = new core.List<api.Permission>();
   o.add(buildPermission());
   o.add(buildPermission());
   return o;
 }
 
-checkUnnamed663(core.List<api.Permission> o) {
+checkUnnamed691(core.List<api.Permission> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPermission(o[0]);
   checkPermission(o[1]);
@@ -275,8 +275,8 @@
   var o = new api.PermissionChange();
   buildCounterPermissionChange++;
   if (buildCounterPermissionChange < 3) {
-    o.addedPermissions = buildUnnamed662();
-    o.removedPermissions = buildUnnamed663();
+    o.addedPermissions = buildUnnamed690();
+    o.removedPermissions = buildUnnamed691();
   }
   buildCounterPermissionChange--;
   return o;
@@ -285,8 +285,8 @@
 checkPermissionChange(api.PermissionChange o) {
   buildCounterPermissionChange++;
   if (buildCounterPermissionChange < 3) {
-    checkUnnamed662(o.addedPermissions);
-    checkUnnamed663(o.removedPermissions);
+    checkUnnamed690(o.addedPermissions);
+    checkUnnamed691(o.removedPermissions);
   }
   buildCounterPermissionChange--;
 }
@@ -493,8 +493,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/appsactivity/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("appsactivity/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("activities"));
         pathOffset += 10;
 
diff --git a/generated/googleapis/test/appstate/v1_test.dart b/generated/googleapis/test/appstate/v1_test.dart
index 17705ad..401abba 100644
--- a/generated/googleapis/test/appstate/v1_test.dart
+++ b/generated/googleapis/test/appstate/v1_test.dart
@@ -41,14 +41,14 @@
   buildCounterGetResponse--;
 }
 
-buildUnnamed943() {
+buildUnnamed971() {
   var o = new core.List<api.GetResponse>();
   o.add(buildGetResponse());
   o.add(buildGetResponse());
   return o;
 }
 
-checkUnnamed943(core.List<api.GetResponse> o) {
+checkUnnamed971(core.List<api.GetResponse> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGetResponse(o[0]);
   checkGetResponse(o[1]);
@@ -59,7 +59,7 @@
   var o = new api.ListResponse();
   buildCounterListResponse++;
   if (buildCounterListResponse < 3) {
-    o.items = buildUnnamed943();
+    o.items = buildUnnamed971();
     o.kind = "foo";
     o.maximumKeyCount = 42;
   }
@@ -70,7 +70,7 @@
 checkListResponse(api.ListResponse o) {
   buildCounterListResponse++;
   if (buildCounterListResponse < 3) {
-    checkUnnamed943(o.items);
+    checkUnnamed971(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.maximumKeyCount, unittest.equals(42));
   }
@@ -171,8 +171,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/appstate/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("appstate/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("states/"));
         pathOffset += 7;
         index = path.indexOf("/clear", pathOffset);
@@ -223,8 +225,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/appstate/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("appstate/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("states/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -268,8 +272,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/appstate/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("appstate/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("states/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -315,8 +321,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/appstate/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("appstate/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("states"));
         pathOffset += 6;
 
@@ -365,8 +373,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/appstate/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("appstate/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("states/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
diff --git a/generated/googleapis/test/bigquery/v2_test.dart b/generated/googleapis/test/bigquery/v2_test.dart
index d3cb541..5f085da 100644
--- a/generated/googleapis/test/bigquery/v2_test.dart
+++ b/generated/googleapis/test/bigquery/v2_test.dart
@@ -45,14 +45,14 @@
   buildCounterDatasetAccess--;
 }
 
-buildUnnamed1013() {
+buildUnnamed1041() {
   var o = new core.List<api.DatasetAccess>();
   o.add(buildDatasetAccess());
   o.add(buildDatasetAccess());
   return o;
 }
 
-checkUnnamed1013(core.List<api.DatasetAccess> o) {
+checkUnnamed1041(core.List<api.DatasetAccess> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatasetAccess(o[0]);
   checkDatasetAccess(o[1]);
@@ -63,7 +63,7 @@
   var o = new api.Dataset();
   buildCounterDataset++;
   if (buildCounterDataset < 3) {
-    o.access = buildUnnamed1013();
+    o.access = buildUnnamed1041();
     o.creationTime = "foo";
     o.datasetReference = buildDatasetReference();
     o.description = "foo";
@@ -81,7 +81,7 @@
 checkDataset(api.Dataset o) {
   buildCounterDataset++;
   if (buildCounterDataset < 3) {
-    checkUnnamed1013(o.access);
+    checkUnnamed1041(o.access);
     unittest.expect(o.creationTime, unittest.equals('foo'));
     checkDatasetReference(o.datasetReference);
     unittest.expect(o.description, unittest.equals('foo'));
@@ -120,14 +120,14 @@
   buildCounterDatasetListDatasets--;
 }
 
-buildUnnamed1014() {
+buildUnnamed1042() {
   var o = new core.List<api.DatasetListDatasets>();
   o.add(buildDatasetListDatasets());
   o.add(buildDatasetListDatasets());
   return o;
 }
 
-checkUnnamed1014(core.List<api.DatasetListDatasets> o) {
+checkUnnamed1042(core.List<api.DatasetListDatasets> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatasetListDatasets(o[0]);
   checkDatasetListDatasets(o[1]);
@@ -138,7 +138,7 @@
   var o = new api.DatasetList();
   buildCounterDatasetList++;
   if (buildCounterDatasetList < 3) {
-    o.datasets = buildUnnamed1014();
+    o.datasets = buildUnnamed1042();
     o.etag = "foo";
     o.kind = "foo";
     o.nextPageToken = "foo";
@@ -150,7 +150,7 @@
 checkDatasetList(api.DatasetList o) {
   buildCounterDatasetList++;
   if (buildCounterDatasetList < 3) {
-    checkUnnamed1014(o.datasets);
+    checkUnnamed1042(o.datasets);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -204,14 +204,14 @@
   buildCounterErrorProto--;
 }
 
-buildUnnamed1015() {
+buildUnnamed1043() {
   var o = new core.List<api.TableRow>();
   o.add(buildTableRow());
   o.add(buildTableRow());
   return o;
 }
 
-checkUnnamed1015(core.List<api.TableRow> o) {
+checkUnnamed1043(core.List<api.TableRow> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableRow(o[0]);
   checkTableRow(o[1]);
@@ -228,7 +228,7 @@
     o.jobReference = buildJobReference();
     o.kind = "foo";
     o.pageToken = "foo";
-    o.rows = buildUnnamed1015();
+    o.rows = buildUnnamed1043();
     o.schema = buildTableSchema();
     o.totalRows = "foo";
   }
@@ -245,7 +245,7 @@
     checkJobReference(o.jobReference);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    checkUnnamed1015(o.rows);
+    checkUnnamed1043(o.rows);
     checkTableSchema(o.schema);
     unittest.expect(o.totalRows, unittest.equals('foo'));
   }
@@ -314,14 +314,14 @@
   buildCounterJobConfiguration--;
 }
 
-buildUnnamed1016() {
+buildUnnamed1044() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1016(core.List<core.String> o) {
+checkUnnamed1044(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -335,7 +335,7 @@
     o.compression = "foo";
     o.destinationFormat = "foo";
     o.destinationUri = "foo";
-    o.destinationUris = buildUnnamed1016();
+    o.destinationUris = buildUnnamed1044();
     o.fieldDelimiter = "foo";
     o.printHeader = true;
     o.sourceTable = buildTableReference();
@@ -350,7 +350,7 @@
     unittest.expect(o.compression, unittest.equals('foo'));
     unittest.expect(o.destinationFormat, unittest.equals('foo'));
     unittest.expect(o.destinationUri, unittest.equals('foo'));
-    checkUnnamed1016(o.destinationUris);
+    checkUnnamed1044(o.destinationUris);
     unittest.expect(o.fieldDelimiter, unittest.equals('foo'));
     unittest.expect(o.printHeader, unittest.isTrue);
     checkTableReference(o.sourceTable);
@@ -358,14 +358,14 @@
   buildCounterJobConfigurationExtract--;
 }
 
-buildUnnamed1017() {
+buildUnnamed1045() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1017(core.List<core.String> o) {
+checkUnnamed1045(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -378,7 +378,7 @@
   if (buildCounterJobConfigurationLink < 3) {
     o.createDisposition = "foo";
     o.destinationTable = buildTableReference();
-    o.sourceUri = buildUnnamed1017();
+    o.sourceUri = buildUnnamed1045();
     o.writeDisposition = "foo";
   }
   buildCounterJobConfigurationLink--;
@@ -390,20 +390,20 @@
   if (buildCounterJobConfigurationLink < 3) {
     unittest.expect(o.createDisposition, unittest.equals('foo'));
     checkTableReference(o.destinationTable);
-    checkUnnamed1017(o.sourceUri);
+    checkUnnamed1045(o.sourceUri);
     unittest.expect(o.writeDisposition, unittest.equals('foo'));
   }
   buildCounterJobConfigurationLink--;
 }
 
-buildUnnamed1018() {
+buildUnnamed1046() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1018(core.List<core.String> o) {
+checkUnnamed1046(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -428,7 +428,7 @@
     o.schemaInlineFormat = "foo";
     o.skipLeadingRows = 42;
     o.sourceFormat = "foo";
-    o.sourceUris = buildUnnamed1018();
+    o.sourceUris = buildUnnamed1046();
     o.writeDisposition = "foo";
   }
   buildCounterJobConfigurationLoad--;
@@ -452,7 +452,7 @@
     unittest.expect(o.schemaInlineFormat, unittest.equals('foo'));
     unittest.expect(o.skipLeadingRows, unittest.equals(42));
     unittest.expect(o.sourceFormat, unittest.equals('foo'));
-    checkUnnamed1018(o.sourceUris);
+    checkUnnamed1046(o.sourceUris);
     unittest.expect(o.writeDisposition, unittest.equals('foo'));
   }
   buildCounterJobConfigurationLoad--;
@@ -495,14 +495,14 @@
   buildCounterJobConfigurationQuery--;
 }
 
-buildUnnamed1019() {
+buildUnnamed1047() {
   var o = new core.List<api.TableReference>();
   o.add(buildTableReference());
   o.add(buildTableReference());
   return o;
 }
 
-checkUnnamed1019(core.List<api.TableReference> o) {
+checkUnnamed1047(core.List<api.TableReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableReference(o[0]);
   checkTableReference(o[1]);
@@ -516,7 +516,7 @@
     o.createDisposition = "foo";
     o.destinationTable = buildTableReference();
     o.sourceTable = buildTableReference();
-    o.sourceTables = buildUnnamed1019();
+    o.sourceTables = buildUnnamed1047();
     o.writeDisposition = "foo";
   }
   buildCounterJobConfigurationTableCopy--;
@@ -529,7 +529,7 @@
     unittest.expect(o.createDisposition, unittest.equals('foo'));
     checkTableReference(o.destinationTable);
     checkTableReference(o.sourceTable);
-    checkUnnamed1019(o.sourceTables);
+    checkUnnamed1047(o.sourceTables);
     unittest.expect(o.writeDisposition, unittest.equals('foo'));
   }
   buildCounterJobConfigurationTableCopy--;
@@ -570,14 +570,14 @@
   buildCounterJobListJobs--;
 }
 
-buildUnnamed1020() {
+buildUnnamed1048() {
   var o = new core.List<api.JobListJobs>();
   o.add(buildJobListJobs());
   o.add(buildJobListJobs());
   return o;
 }
 
-checkUnnamed1020(core.List<api.JobListJobs> o) {
+checkUnnamed1048(core.List<api.JobListJobs> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJobListJobs(o[0]);
   checkJobListJobs(o[1]);
@@ -589,7 +589,7 @@
   buildCounterJobList++;
   if (buildCounterJobList < 3) {
     o.etag = "foo";
-    o.jobs = buildUnnamed1020();
+    o.jobs = buildUnnamed1048();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -602,7 +602,7 @@
   buildCounterJobList++;
   if (buildCounterJobList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed1020(o.jobs);
+    checkUnnamed1048(o.jobs);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -706,14 +706,14 @@
   buildCounterJobStatistics3--;
 }
 
-buildUnnamed1021() {
+buildUnnamed1049() {
   var o = new core.List<api.ErrorProto>();
   o.add(buildErrorProto());
   o.add(buildErrorProto());
   return o;
 }
 
-checkUnnamed1021(core.List<api.ErrorProto> o) {
+checkUnnamed1049(core.List<api.ErrorProto> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkErrorProto(o[0]);
   checkErrorProto(o[1]);
@@ -725,7 +725,7 @@
   buildCounterJobStatus++;
   if (buildCounterJobStatus < 3) {
     o.errorResult = buildErrorProto();
-    o.errors = buildUnnamed1021();
+    o.errors = buildUnnamed1049();
     o.state = "foo";
   }
   buildCounterJobStatus--;
@@ -736,7 +736,7 @@
   buildCounterJobStatus++;
   if (buildCounterJobStatus < 3) {
     checkErrorProto(o.errorResult);
-    checkUnnamed1021(o.errors);
+    checkUnnamed1049(o.errors);
     unittest.expect(o.state, unittest.equals('foo'));
   }
   buildCounterJobStatus--;
@@ -782,14 +782,14 @@
   buildCounterProjectListProjects--;
 }
 
-buildUnnamed1022() {
+buildUnnamed1050() {
   var o = new core.List<api.ProjectListProjects>();
   o.add(buildProjectListProjects());
   o.add(buildProjectListProjects());
   return o;
 }
 
-checkUnnamed1022(core.List<api.ProjectListProjects> o) {
+checkUnnamed1050(core.List<api.ProjectListProjects> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProjectListProjects(o[0]);
   checkProjectListProjects(o[1]);
@@ -803,7 +803,7 @@
     o.etag = "foo";
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.projects = buildUnnamed1022();
+    o.projects = buildUnnamed1050();
     o.totalItems = 42;
   }
   buildCounterProjectList--;
@@ -816,7 +816,7 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1022(o.projects);
+    checkUnnamed1050(o.projects);
     unittest.expect(o.totalItems, unittest.equals(42));
   }
   buildCounterProjectList--;
@@ -874,14 +874,14 @@
   buildCounterQueryRequest--;
 }
 
-buildUnnamed1023() {
+buildUnnamed1051() {
   var o = new core.List<api.TableRow>();
   o.add(buildTableRow());
   o.add(buildTableRow());
   return o;
 }
 
-checkUnnamed1023(core.List<api.TableRow> o) {
+checkUnnamed1051(core.List<api.TableRow> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableRow(o[0]);
   checkTableRow(o[1]);
@@ -897,7 +897,7 @@
     o.jobReference = buildJobReference();
     o.kind = "foo";
     o.pageToken = "foo";
-    o.rows = buildUnnamed1023();
+    o.rows = buildUnnamed1051();
     o.schema = buildTableSchema();
     o.totalBytesProcessed = "foo";
     o.totalRows = "foo";
@@ -914,7 +914,7 @@
     checkJobReference(o.jobReference);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    checkUnnamed1023(o.rows);
+    checkUnnamed1051(o.rows);
     checkTableSchema(o.schema);
     unittest.expect(o.totalBytesProcessed, unittest.equals('foo'));
     unittest.expect(o.totalRows, unittest.equals('foo'));
@@ -1009,14 +1009,14 @@
   buildCounterTableDataInsertAllRequestRows--;
 }
 
-buildUnnamed1024() {
+buildUnnamed1052() {
   var o = new core.List<api.TableDataInsertAllRequestRows>();
   o.add(buildTableDataInsertAllRequestRows());
   o.add(buildTableDataInsertAllRequestRows());
   return o;
 }
 
-checkUnnamed1024(core.List<api.TableDataInsertAllRequestRows> o) {
+checkUnnamed1052(core.List<api.TableDataInsertAllRequestRows> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableDataInsertAllRequestRows(o[0]);
   checkTableDataInsertAllRequestRows(o[1]);
@@ -1028,7 +1028,7 @@
   buildCounterTableDataInsertAllRequest++;
   if (buildCounterTableDataInsertAllRequest < 3) {
     o.kind = "foo";
-    o.rows = buildUnnamed1024();
+    o.rows = buildUnnamed1052();
   }
   buildCounterTableDataInsertAllRequest--;
   return o;
@@ -1038,19 +1038,19 @@
   buildCounterTableDataInsertAllRequest++;
   if (buildCounterTableDataInsertAllRequest < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1024(o.rows);
+    checkUnnamed1052(o.rows);
   }
   buildCounterTableDataInsertAllRequest--;
 }
 
-buildUnnamed1025() {
+buildUnnamed1053() {
   var o = new core.List<api.ErrorProto>();
   o.add(buildErrorProto());
   o.add(buildErrorProto());
   return o;
 }
 
-checkUnnamed1025(core.List<api.ErrorProto> o) {
+checkUnnamed1053(core.List<api.ErrorProto> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkErrorProto(o[0]);
   checkErrorProto(o[1]);
@@ -1061,7 +1061,7 @@
   var o = new api.TableDataInsertAllResponseInsertErrors();
   buildCounterTableDataInsertAllResponseInsertErrors++;
   if (buildCounterTableDataInsertAllResponseInsertErrors < 3) {
-    o.errors = buildUnnamed1025();
+    o.errors = buildUnnamed1053();
     o.index = 42;
   }
   buildCounterTableDataInsertAllResponseInsertErrors--;
@@ -1071,20 +1071,20 @@
 checkTableDataInsertAllResponseInsertErrors(api.TableDataInsertAllResponseInsertErrors o) {
   buildCounterTableDataInsertAllResponseInsertErrors++;
   if (buildCounterTableDataInsertAllResponseInsertErrors < 3) {
-    checkUnnamed1025(o.errors);
+    checkUnnamed1053(o.errors);
     unittest.expect(o.index, unittest.equals(42));
   }
   buildCounterTableDataInsertAllResponseInsertErrors--;
 }
 
-buildUnnamed1026() {
+buildUnnamed1054() {
   var o = new core.List<api.TableDataInsertAllResponseInsertErrors>();
   o.add(buildTableDataInsertAllResponseInsertErrors());
   o.add(buildTableDataInsertAllResponseInsertErrors());
   return o;
 }
 
-checkUnnamed1026(core.List<api.TableDataInsertAllResponseInsertErrors> o) {
+checkUnnamed1054(core.List<api.TableDataInsertAllResponseInsertErrors> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableDataInsertAllResponseInsertErrors(o[0]);
   checkTableDataInsertAllResponseInsertErrors(o[1]);
@@ -1095,7 +1095,7 @@
   var o = new api.TableDataInsertAllResponse();
   buildCounterTableDataInsertAllResponse++;
   if (buildCounterTableDataInsertAllResponse < 3) {
-    o.insertErrors = buildUnnamed1026();
+    o.insertErrors = buildUnnamed1054();
     o.kind = "foo";
   }
   buildCounterTableDataInsertAllResponse--;
@@ -1105,20 +1105,20 @@
 checkTableDataInsertAllResponse(api.TableDataInsertAllResponse o) {
   buildCounterTableDataInsertAllResponse++;
   if (buildCounterTableDataInsertAllResponse < 3) {
-    checkUnnamed1026(o.insertErrors);
+    checkUnnamed1054(o.insertErrors);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTableDataInsertAllResponse--;
 }
 
-buildUnnamed1027() {
+buildUnnamed1055() {
   var o = new core.List<api.TableRow>();
   o.add(buildTableRow());
   o.add(buildTableRow());
   return o;
 }
 
-checkUnnamed1027(core.List<api.TableRow> o) {
+checkUnnamed1055(core.List<api.TableRow> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableRow(o[0]);
   checkTableRow(o[1]);
@@ -1132,7 +1132,7 @@
     o.etag = "foo";
     o.kind = "foo";
     o.pageToken = "foo";
-    o.rows = buildUnnamed1027();
+    o.rows = buildUnnamed1055();
     o.totalRows = "foo";
   }
   buildCounterTableDataList--;
@@ -1145,20 +1145,20 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    checkUnnamed1027(o.rows);
+    checkUnnamed1055(o.rows);
     unittest.expect(o.totalRows, unittest.equals('foo'));
   }
   buildCounterTableDataList--;
 }
 
-buildUnnamed1028() {
+buildUnnamed1056() {
   var o = new core.List<api.TableFieldSchema>();
   o.add(buildTableFieldSchema());
   o.add(buildTableFieldSchema());
   return o;
 }
 
-checkUnnamed1028(core.List<api.TableFieldSchema> o) {
+checkUnnamed1056(core.List<api.TableFieldSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableFieldSchema(o[0]);
   checkTableFieldSchema(o[1]);
@@ -1170,7 +1170,7 @@
   buildCounterTableFieldSchema++;
   if (buildCounterTableFieldSchema < 3) {
     o.description = "foo";
-    o.fields = buildUnnamed1028();
+    o.fields = buildUnnamed1056();
     o.mode = "foo";
     o.name = "foo";
     o.type = "foo";
@@ -1183,7 +1183,7 @@
   buildCounterTableFieldSchema++;
   if (buildCounterTableFieldSchema < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1028(o.fields);
+    checkUnnamed1056(o.fields);
     unittest.expect(o.mode, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
@@ -1218,14 +1218,14 @@
   buildCounterTableListTables--;
 }
 
-buildUnnamed1029() {
+buildUnnamed1057() {
   var o = new core.List<api.TableListTables>();
   o.add(buildTableListTables());
   o.add(buildTableListTables());
   return o;
 }
 
-checkUnnamed1029(core.List<api.TableListTables> o) {
+checkUnnamed1057(core.List<api.TableListTables> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableListTables(o[0]);
   checkTableListTables(o[1]);
@@ -1239,7 +1239,7 @@
     o.etag = "foo";
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.tables = buildUnnamed1029();
+    o.tables = buildUnnamed1057();
     o.totalItems = 42;
   }
   buildCounterTableList--;
@@ -1252,7 +1252,7 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1029(o.tables);
+    checkUnnamed1057(o.tables);
     unittest.expect(o.totalItems, unittest.equals(42));
   }
   buildCounterTableList--;
@@ -1281,14 +1281,14 @@
   buildCounterTableReference--;
 }
 
-buildUnnamed1030() {
+buildUnnamed1058() {
   var o = new core.List<api.TableCell>();
   o.add(buildTableCell());
   o.add(buildTableCell());
   return o;
 }
 
-checkUnnamed1030(core.List<api.TableCell> o) {
+checkUnnamed1058(core.List<api.TableCell> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableCell(o[0]);
   checkTableCell(o[1]);
@@ -1299,7 +1299,7 @@
   var o = new api.TableRow();
   buildCounterTableRow++;
   if (buildCounterTableRow < 3) {
-    o.f = buildUnnamed1030();
+    o.f = buildUnnamed1058();
   }
   buildCounterTableRow--;
   return o;
@@ -1308,19 +1308,19 @@
 checkTableRow(api.TableRow o) {
   buildCounterTableRow++;
   if (buildCounterTableRow < 3) {
-    checkUnnamed1030(o.f);
+    checkUnnamed1058(o.f);
   }
   buildCounterTableRow--;
 }
 
-buildUnnamed1031() {
+buildUnnamed1059() {
   var o = new core.List<api.TableFieldSchema>();
   o.add(buildTableFieldSchema());
   o.add(buildTableFieldSchema());
   return o;
 }
 
-checkUnnamed1031(core.List<api.TableFieldSchema> o) {
+checkUnnamed1059(core.List<api.TableFieldSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableFieldSchema(o[0]);
   checkTableFieldSchema(o[1]);
@@ -1331,7 +1331,7 @@
   var o = new api.TableSchema();
   buildCounterTableSchema++;
   if (buildCounterTableSchema < 3) {
-    o.fields = buildUnnamed1031();
+    o.fields = buildUnnamed1059();
   }
   buildCounterTableSchema--;
   return o;
@@ -1340,7 +1340,7 @@
 checkTableSchema(api.TableSchema o) {
   buildCounterTableSchema++;
   if (buildCounterTableSchema < 3) {
-    checkUnnamed1031(o.fields);
+    checkUnnamed1059(o.fields);
   }
   buildCounterTableSchema--;
 }
@@ -1364,14 +1364,14 @@
   buildCounterViewDefinition--;
 }
 
-buildUnnamed1032() {
+buildUnnamed1060() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1032(core.List<core.String> o) {
+checkUnnamed1060(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1761,8 +1761,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -1815,8 +1817,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -1873,8 +1877,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets", pathOffset);
@@ -1927,8 +1933,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets", pathOffset);
@@ -1986,8 +1994,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2045,8 +2055,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2104,8 +2116,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/jobs/", pathOffset);
@@ -2163,8 +2177,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/queries/", pathOffset);
@@ -2227,8 +2243,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/jobs", pathOffset);
@@ -2277,14 +2295,16 @@
       var arg_maxResults = 42;
       var arg_pageToken = "foo";
       var arg_projection = "foo";
-      var arg_stateFilter = buildUnnamed1032();
+      var arg_stateFilter = buildUnnamed1060();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/jobs", pathOffset);
@@ -2343,8 +2363,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/queries", pathOffset);
@@ -2399,8 +2421,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("projects"));
         pathOffset += 8;
 
@@ -2455,8 +2479,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2525,8 +2551,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2599,8 +2627,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2660,8 +2690,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2726,8 +2758,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2787,8 +2821,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2853,8 +2889,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
@@ -2920,8 +2958,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/bigquery/v2/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("bigquery/v2/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/datasets/", pathOffset);
diff --git a/generated/googleapis/test/blogger/v3_test.dart b/generated/googleapis/test/blogger/v3_test.dart
index 2f6e843..3adb479 100644
--- a/generated/googleapis/test/blogger/v3_test.dart
+++ b/generated/googleapis/test/blogger/v3_test.dart
@@ -60,14 +60,14 @@
   buildCounterBlogPages--;
 }
 
-buildUnnamed701() {
+buildUnnamed729() {
   var o = new core.List<api.Post>();
   o.add(buildPost());
   o.add(buildPost());
   return o;
 }
 
-checkUnnamed701(core.List<api.Post> o) {
+checkUnnamed729(core.List<api.Post> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPost(o[0]);
   checkPost(o[1]);
@@ -78,7 +78,7 @@
   var o = new api.BlogPosts();
   buildCounterBlogPosts++;
   if (buildCounterBlogPosts < 3) {
-    o.items = buildUnnamed701();
+    o.items = buildUnnamed729();
     o.selfLink = "foo";
     o.totalItems = 42;
   }
@@ -89,7 +89,7 @@
 checkBlogPosts(api.BlogPosts o) {
   buildCounterBlogPosts++;
   if (buildCounterBlogPosts < 3) {
-    checkUnnamed701(o.items);
+    checkUnnamed729(o.items);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
   }
@@ -139,27 +139,27 @@
   buildCounterBlog--;
 }
 
-buildUnnamed702() {
+buildUnnamed730() {
   var o = new core.List<api.BlogUserInfo>();
   o.add(buildBlogUserInfo());
   o.add(buildBlogUserInfo());
   return o;
 }
 
-checkUnnamed702(core.List<api.BlogUserInfo> o) {
+checkUnnamed730(core.List<api.BlogUserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBlogUserInfo(o[0]);
   checkBlogUserInfo(o[1]);
 }
 
-buildUnnamed703() {
+buildUnnamed731() {
   var o = new core.List<api.Blog>();
   o.add(buildBlog());
   o.add(buildBlog());
   return o;
 }
 
-checkUnnamed703(core.List<api.Blog> o) {
+checkUnnamed731(core.List<api.Blog> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBlog(o[0]);
   checkBlog(o[1]);
@@ -170,8 +170,8 @@
   var o = new api.BlogList();
   buildCounterBlogList++;
   if (buildCounterBlogList < 3) {
-    o.blogUserInfos = buildUnnamed702();
-    o.items = buildUnnamed703();
+    o.blogUserInfos = buildUnnamed730();
+    o.items = buildUnnamed731();
     o.kind = "foo";
   }
   buildCounterBlogList--;
@@ -181,8 +181,8 @@
 checkBlogList(api.BlogList o) {
   buildCounterBlogList++;
   if (buildCounterBlogList < 3) {
-    checkUnnamed702(o.blogUserInfos);
-    checkUnnamed703(o.items);
+    checkUnnamed730(o.blogUserInfos);
+    checkUnnamed731(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBlogList--;
@@ -380,14 +380,14 @@
   buildCounterComment--;
 }
 
-buildUnnamed704() {
+buildUnnamed732() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed704(core.List<api.Comment> o) {
+checkUnnamed732(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -398,7 +398,7 @@
   var o = new api.CommentList();
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    o.items = buildUnnamed704();
+    o.items = buildUnnamed732();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.prevPageToken = "foo";
@@ -410,7 +410,7 @@
 checkCommentList(api.CommentList o) {
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    checkUnnamed704(o.items);
+    checkUnnamed732(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.prevPageToken, unittest.equals('foo'));
@@ -522,14 +522,14 @@
   buildCounterPage--;
 }
 
-buildUnnamed705() {
+buildUnnamed733() {
   var o = new core.List<api.Page>();
   o.add(buildPage());
   o.add(buildPage());
   return o;
 }
 
-checkUnnamed705(core.List<api.Page> o) {
+checkUnnamed733(core.List<api.Page> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPage(o[0]);
   checkPage(o[1]);
@@ -540,7 +540,7 @@
   var o = new api.PageList();
   buildCounterPageList++;
   if (buildCounterPageList < 3) {
-    o.items = buildUnnamed705();
+    o.items = buildUnnamed733();
     o.kind = "foo";
   }
   buildCounterPageList--;
@@ -550,7 +550,7 @@
 checkPageList(api.PageList o) {
   buildCounterPageList++;
   if (buildCounterPageList < 3) {
-    checkUnnamed705(o.items);
+    checkUnnamed733(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterPageList--;
@@ -577,14 +577,14 @@
   buildCounterPageviewsCounts--;
 }
 
-buildUnnamed706() {
+buildUnnamed734() {
   var o = new core.List<api.PageviewsCounts>();
   o.add(buildPageviewsCounts());
   o.add(buildPageviewsCounts());
   return o;
 }
 
-checkUnnamed706(core.List<api.PageviewsCounts> o) {
+checkUnnamed734(core.List<api.PageviewsCounts> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPageviewsCounts(o[0]);
   checkPageviewsCounts(o[1]);
@@ -596,7 +596,7 @@
   buildCounterPageviews++;
   if (buildCounterPageviews < 3) {
     o.blogId = "foo";
-    o.counts = buildUnnamed706();
+    o.counts = buildUnnamed734();
     o.kind = "foo";
   }
   buildCounterPageviews--;
@@ -607,7 +607,7 @@
   buildCounterPageviews++;
   if (buildCounterPageviews < 3) {
     unittest.expect(o.blogId, unittest.equals('foo'));
-    checkUnnamed706(o.counts);
+    checkUnnamed734(o.counts);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterPageviews--;
@@ -695,27 +695,27 @@
   buildCounterPostImages--;
 }
 
-buildUnnamed707() {
+buildUnnamed735() {
   var o = new core.List<api.PostImages>();
   o.add(buildPostImages());
   o.add(buildPostImages());
   return o;
 }
 
-checkUnnamed707(core.List<api.PostImages> o) {
+checkUnnamed735(core.List<api.PostImages> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPostImages(o[0]);
   checkPostImages(o[1]);
 }
 
-buildUnnamed708() {
+buildUnnamed736() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed708(core.List<core.String> o) {
+checkUnnamed736(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -746,14 +746,14 @@
   buildCounterPostLocation--;
 }
 
-buildUnnamed709() {
+buildUnnamed737() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed709(core.List<api.Comment> o) {
+checkUnnamed737(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -764,7 +764,7 @@
   var o = new api.PostReplies();
   buildCounterPostReplies++;
   if (buildCounterPostReplies < 3) {
-    o.items = buildUnnamed709();
+    o.items = buildUnnamed737();
     o.selfLink = "foo";
     o.totalItems = "foo";
   }
@@ -775,7 +775,7 @@
 checkPostReplies(api.PostReplies o) {
   buildCounterPostReplies++;
   if (buildCounterPostReplies < 3) {
-    checkUnnamed709(o.items);
+    checkUnnamed737(o.items);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals('foo'));
   }
@@ -793,9 +793,9 @@
     o.customMetaData = "foo";
     o.etag = "foo";
     o.id = "foo";
-    o.images = buildUnnamed707();
+    o.images = buildUnnamed735();
     o.kind = "foo";
-    o.labels = buildUnnamed708();
+    o.labels = buildUnnamed736();
     o.location = buildPostLocation();
     o.published = core.DateTime.parse("2002-02-27T14:01:02");
     o.readerComments = "foo";
@@ -820,9 +820,9 @@
     unittest.expect(o.customMetaData, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed707(o.images);
+    checkUnnamed735(o.images);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed708(o.labels);
+    checkUnnamed736(o.labels);
     checkPostLocation(o.location);
     unittest.expect(o.published, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.readerComments, unittest.equals('foo'));
@@ -837,14 +837,14 @@
   buildCounterPost--;
 }
 
-buildUnnamed710() {
+buildUnnamed738() {
   var o = new core.List<api.Post>();
   o.add(buildPost());
   o.add(buildPost());
   return o;
 }
 
-checkUnnamed710(core.List<api.Post> o) {
+checkUnnamed738(core.List<api.Post> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPost(o[0]);
   checkPost(o[1]);
@@ -855,7 +855,7 @@
   var o = new api.PostList();
   buildCounterPostList++;
   if (buildCounterPostList < 3) {
-    o.items = buildUnnamed710();
+    o.items = buildUnnamed738();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -866,7 +866,7 @@
 checkPostList(api.PostList o) {
   buildCounterPostList++;
   if (buildCounterPostList < 3) {
-    checkUnnamed710(o.items);
+    checkUnnamed738(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -923,14 +923,14 @@
   buildCounterPostUserInfo--;
 }
 
-buildUnnamed711() {
+buildUnnamed739() {
   var o = new core.List<api.PostUserInfo>();
   o.add(buildPostUserInfo());
   o.add(buildPostUserInfo());
   return o;
 }
 
-checkUnnamed711(core.List<api.PostUserInfo> o) {
+checkUnnamed739(core.List<api.PostUserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPostUserInfo(o[0]);
   checkPostUserInfo(o[1]);
@@ -941,7 +941,7 @@
   var o = new api.PostUserInfosList();
   buildCounterPostUserInfosList++;
   if (buildCounterPostUserInfosList < 3) {
-    o.items = buildUnnamed711();
+    o.items = buildUnnamed739();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -952,7 +952,7 @@
 checkPostUserInfosList(api.PostUserInfosList o) {
   buildCounterPostUserInfosList++;
   if (buildCounterPostUserInfosList < 3) {
-    checkUnnamed711(o.items);
+    checkUnnamed739(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -1036,92 +1036,92 @@
   buildCounterUser--;
 }
 
-buildUnnamed712() {
+buildUnnamed740() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed712(core.List<core.String> o) {
+checkUnnamed740(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed713() {
+buildUnnamed741() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed713(core.List<core.String> o) {
+checkUnnamed741(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed714() {
+buildUnnamed742() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed714(core.List<core.String> o) {
+checkUnnamed742(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed715() {
+buildUnnamed743() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed715(core.List<core.String> o) {
+checkUnnamed743(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed716() {
+buildUnnamed744() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed716(core.List<core.String> o) {
+checkUnnamed744(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed717() {
+buildUnnamed745() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed717(core.List<core.String> o) {
+checkUnnamed745(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed718() {
+buildUnnamed746() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed718(core.List<core.String> o) {
+checkUnnamed746(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1457,8 +1457,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/blogs/", pathOffset);
@@ -1518,8 +1520,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1568,8 +1572,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogs/byurl"));
         pathOffset += 11;
 
@@ -1610,16 +1616,18 @@
       api.BlogsResourceApi res = new api.BloggerApi(mock).blogs;
       var arg_userId = "foo";
       var arg_fetchUserInfo = true;
-      var arg_role = buildUnnamed712();
-      var arg_status = buildUnnamed713();
+      var arg_role = buildUnnamed740();
+      var arg_status = buildUnnamed741();
       var arg_view = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/blogs", pathOffset);
@@ -1679,8 +1687,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -1746,8 +1756,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -1808,8 +1820,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -1871,15 +1885,17 @@
       var arg_maxResults = 42;
       var arg_pageToken = "foo";
       var arg_startDate = core.DateTime.parse("2002-02-27T14:01:02");
-      var arg_status = buildUnnamed714();
+      var arg_status = buildUnnamed742();
       var arg_view = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -1948,8 +1964,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/comments", pathOffset);
@@ -2006,8 +2024,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -2073,8 +2093,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -2137,14 +2159,16 @@
       var mock = new common_test.HttpServerMock();
       api.PageViewsResourceApi res = new api.BloggerApi(mock).pageViews;
       var arg_blogId = "foo";
-      var arg_range = buildUnnamed715();
+      var arg_range = buildUnnamed743();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pageviews", pathOffset);
@@ -2200,8 +2224,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2254,8 +2280,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2314,8 +2342,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages", pathOffset);
@@ -2362,15 +2392,17 @@
       api.PagesResourceApi res = new api.BloggerApi(mock).pages;
       var arg_blogId = "foo";
       var arg_fetchBodies = true;
-      var arg_status = buildUnnamed716();
+      var arg_status = buildUnnamed744();
       var arg_view = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages", pathOffset);
@@ -2430,8 +2462,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2487,8 +2521,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2546,8 +2582,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2611,8 +2649,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/pages/", pathOffset);
@@ -2674,8 +2714,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/blogs/", pathOffset);
@@ -2739,15 +2781,17 @@
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
       var arg_startDate = core.DateTime.parse("2002-02-27T14:01:02");
-      var arg_status = buildUnnamed717();
+      var arg_status = buildUnnamed745();
       var arg_view = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/blogs/", pathOffset);
@@ -2818,8 +2862,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -2875,8 +2921,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -2936,8 +2984,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/bypath", pathOffset);
@@ -2997,8 +3047,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts", pathOffset);
@@ -3054,15 +3106,17 @@
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
       var arg_startDate = core.DateTime.parse("2002-02-27T14:01:02");
-      var arg_status = buildUnnamed718();
+      var arg_status = buildUnnamed746();
       var arg_view = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts", pathOffset);
@@ -3132,8 +3186,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -3193,8 +3249,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -3253,8 +3311,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -3314,8 +3374,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/search", pathOffset);
@@ -3378,8 +3440,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("blogs/"));
         pathOffset += 6;
         index = path.indexOf("/posts/", pathOffset);
@@ -3441,8 +3505,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/blogger/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("blogger/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
diff --git a/generated/googleapis/test/books/v1_test.dart b/generated/googleapis/test/books/v1_test.dart
index edf7a33..d37cc46 100644
--- a/generated/googleapis/test/books/v1_test.dart
+++ b/generated/googleapis/test/books/v1_test.dart
@@ -93,14 +93,14 @@
   buildCounterAnnotationLayerSummary--;
 }
 
-buildUnnamed498() {
+buildUnnamed526() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed498(core.List<core.String> o) {
+checkUnnamed526(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -123,7 +123,7 @@
     o.kind = "foo";
     o.layerId = "foo";
     o.layerSummary = buildAnnotationLayerSummary();
-    o.pageIds = buildUnnamed498();
+    o.pageIds = buildUnnamed526();
     o.selectedText = "foo";
     o.selfLink = "foo";
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
@@ -148,7 +148,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.layerId, unittest.equals('foo'));
     checkAnnotationLayerSummary(o.layerSummary);
-    checkUnnamed498(o.pageIds);
+    checkUnnamed526(o.pageIds);
     unittest.expect(o.selectedText, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -192,14 +192,14 @@
   buildCounterAnnotationdata--;
 }
 
-buildUnnamed499() {
+buildUnnamed527() {
   var o = new core.List<api.Annotation>();
   o.add(buildAnnotation());
   o.add(buildAnnotation());
   return o;
 }
 
-checkUnnamed499(core.List<api.Annotation> o) {
+checkUnnamed527(core.List<api.Annotation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnnotation(o[0]);
   checkAnnotation(o[1]);
@@ -210,7 +210,7 @@
   var o = new api.Annotations();
   buildCounterAnnotations++;
   if (buildCounterAnnotations < 3) {
-    o.items = buildUnnamed499();
+    o.items = buildUnnamed527();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -222,7 +222,7 @@
 checkAnnotations(api.Annotations o) {
   buildCounterAnnotations++;
   if (buildCounterAnnotations < 3) {
-    checkUnnamed499(o.items);
+    checkUnnamed527(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -257,14 +257,14 @@
   buildCounterAnnotationsSummaryLayers--;
 }
 
-buildUnnamed500() {
+buildUnnamed528() {
   var o = new core.List<api.AnnotationsSummaryLayers>();
   o.add(buildAnnotationsSummaryLayers());
   o.add(buildAnnotationsSummaryLayers());
   return o;
 }
 
-checkUnnamed500(core.List<api.AnnotationsSummaryLayers> o) {
+checkUnnamed528(core.List<api.AnnotationsSummaryLayers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnnotationsSummaryLayers(o[0]);
   checkAnnotationsSummaryLayers(o[1]);
@@ -276,7 +276,7 @@
   buildCounterAnnotationsSummary++;
   if (buildCounterAnnotationsSummary < 3) {
     o.kind = "foo";
-    o.layers = buildUnnamed500();
+    o.layers = buildUnnamed528();
   }
   buildCounterAnnotationsSummary--;
   return o;
@@ -286,19 +286,19 @@
   buildCounterAnnotationsSummary++;
   if (buildCounterAnnotationsSummary < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed500(o.layers);
+    checkUnnamed528(o.layers);
   }
   buildCounterAnnotationsSummary--;
 }
 
-buildUnnamed501() {
+buildUnnamed529() {
   var o = new core.List<api.Annotationdata>();
   o.add(buildAnnotationdata());
   o.add(buildAnnotationdata());
   return o;
 }
 
-checkUnnamed501(core.List<api.Annotationdata> o) {
+checkUnnamed529(core.List<api.Annotationdata> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnnotationdata(o[0]);
   checkAnnotationdata(o[1]);
@@ -309,7 +309,7 @@
   var o = new api.Annotationsdata();
   buildCounterAnnotationsdata++;
   if (buildCounterAnnotationsdata < 3) {
-    o.items = buildUnnamed501();
+    o.items = buildUnnamed529();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -321,7 +321,7 @@
 checkAnnotationsdata(api.Annotationsdata o) {
   buildCounterAnnotationsdata++;
   if (buildCounterAnnotationsdata < 3) {
-    checkUnnamed501(o.items);
+    checkUnnamed529(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -435,14 +435,14 @@
   buildCounterBookshelf--;
 }
 
-buildUnnamed502() {
+buildUnnamed530() {
   var o = new core.List<api.Bookshelf>();
   o.add(buildBookshelf());
   o.add(buildBookshelf());
   return o;
 }
 
-checkUnnamed502(core.List<api.Bookshelf> o) {
+checkUnnamed530(core.List<api.Bookshelf> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBookshelf(o[0]);
   checkBookshelf(o[1]);
@@ -453,7 +453,7 @@
   var o = new api.Bookshelves();
   buildCounterBookshelves++;
   if (buildCounterBookshelves < 3) {
-    o.items = buildUnnamed502();
+    o.items = buildUnnamed530();
     o.kind = "foo";
   }
   buildCounterBookshelves--;
@@ -463,7 +463,7 @@
 checkBookshelves(api.Bookshelves o) {
   buildCounterBookshelves++;
   if (buildCounterBookshelves < 3) {
-    checkUnnamed502(o.items);
+    checkUnnamed530(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBookshelves--;
@@ -590,14 +590,14 @@
   buildCounterDictlayerdataDictWordsDerivatives--;
 }
 
-buildUnnamed503() {
+buildUnnamed531() {
   var o = new core.List<api.DictlayerdataDictWordsDerivatives>();
   o.add(buildDictlayerdataDictWordsDerivatives());
   o.add(buildDictlayerdataDictWordsDerivatives());
   return o;
 }
 
-checkUnnamed503(core.List<api.DictlayerdataDictWordsDerivatives> o) {
+checkUnnamed531(core.List<api.DictlayerdataDictWordsDerivatives> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsDerivatives(o[0]);
   checkDictlayerdataDictWordsDerivatives(o[1]);
@@ -645,14 +645,14 @@
   buildCounterDictlayerdataDictWordsExamples--;
 }
 
-buildUnnamed504() {
+buildUnnamed532() {
   var o = new core.List<api.DictlayerdataDictWordsExamples>();
   o.add(buildDictlayerdataDictWordsExamples());
   o.add(buildDictlayerdataDictWordsExamples());
   return o;
 }
 
-checkUnnamed504(core.List<api.DictlayerdataDictWordsExamples> o) {
+checkUnnamed532(core.List<api.DictlayerdataDictWordsExamples> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsExamples(o[0]);
   checkDictlayerdataDictWordsExamples(o[1]);
@@ -679,14 +679,14 @@
   buildCounterDictlayerdataDictWordsSensesConjugations--;
 }
 
-buildUnnamed505() {
+buildUnnamed533() {
   var o = new core.List<api.DictlayerdataDictWordsSensesConjugations>();
   o.add(buildDictlayerdataDictWordsSensesConjugations());
   o.add(buildDictlayerdataDictWordsSensesConjugations());
   return o;
 }
 
-checkUnnamed505(core.List<api.DictlayerdataDictWordsSensesConjugations> o) {
+checkUnnamed533(core.List<api.DictlayerdataDictWordsSensesConjugations> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsSensesConjugations(o[0]);
   checkDictlayerdataDictWordsSensesConjugations(o[1]);
@@ -734,14 +734,14 @@
   buildCounterDictlayerdataDictWordsSensesDefinitionsExamples--;
 }
 
-buildUnnamed506() {
+buildUnnamed534() {
   var o = new core.List<api.DictlayerdataDictWordsSensesDefinitionsExamples>();
   o.add(buildDictlayerdataDictWordsSensesDefinitionsExamples());
   o.add(buildDictlayerdataDictWordsSensesDefinitionsExamples());
   return o;
 }
 
-checkUnnamed506(core.List<api.DictlayerdataDictWordsSensesDefinitionsExamples> o) {
+checkUnnamed534(core.List<api.DictlayerdataDictWordsSensesDefinitionsExamples> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsSensesDefinitionsExamples(o[0]);
   checkDictlayerdataDictWordsSensesDefinitionsExamples(o[1]);
@@ -753,7 +753,7 @@
   buildCounterDictlayerdataDictWordsSensesDefinitions++;
   if (buildCounterDictlayerdataDictWordsSensesDefinitions < 3) {
     o.definition = "foo";
-    o.examples = buildUnnamed506();
+    o.examples = buildUnnamed534();
   }
   buildCounterDictlayerdataDictWordsSensesDefinitions--;
   return o;
@@ -763,19 +763,19 @@
   buildCounterDictlayerdataDictWordsSensesDefinitions++;
   if (buildCounterDictlayerdataDictWordsSensesDefinitions < 3) {
     unittest.expect(o.definition, unittest.equals('foo'));
-    checkUnnamed506(o.examples);
+    checkUnnamed534(o.examples);
   }
   buildCounterDictlayerdataDictWordsSensesDefinitions--;
 }
 
-buildUnnamed507() {
+buildUnnamed535() {
   var o = new core.List<api.DictlayerdataDictWordsSensesDefinitions>();
   o.add(buildDictlayerdataDictWordsSensesDefinitions());
   o.add(buildDictlayerdataDictWordsSensesDefinitions());
   return o;
 }
 
-checkUnnamed507(core.List<api.DictlayerdataDictWordsSensesDefinitions> o) {
+checkUnnamed535(core.List<api.DictlayerdataDictWordsSensesDefinitions> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsSensesDefinitions(o[0]);
   checkDictlayerdataDictWordsSensesDefinitions(o[1]);
@@ -844,14 +844,14 @@
   buildCounterDictlayerdataDictWordsSensesSynonyms--;
 }
 
-buildUnnamed508() {
+buildUnnamed536() {
   var o = new core.List<api.DictlayerdataDictWordsSensesSynonyms>();
   o.add(buildDictlayerdataDictWordsSensesSynonyms());
   o.add(buildDictlayerdataDictWordsSensesSynonyms());
   return o;
 }
 
-checkUnnamed508(core.List<api.DictlayerdataDictWordsSensesSynonyms> o) {
+checkUnnamed536(core.List<api.DictlayerdataDictWordsSensesSynonyms> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsSensesSynonyms(o[0]);
   checkDictlayerdataDictWordsSensesSynonyms(o[1]);
@@ -862,14 +862,14 @@
   var o = new api.DictlayerdataDictWordsSenses();
   buildCounterDictlayerdataDictWordsSenses++;
   if (buildCounterDictlayerdataDictWordsSenses < 3) {
-    o.conjugations = buildUnnamed505();
-    o.definitions = buildUnnamed507();
+    o.conjugations = buildUnnamed533();
+    o.definitions = buildUnnamed535();
     o.partOfSpeech = "foo";
     o.pronunciation = "foo";
     o.pronunciationUrl = "foo";
     o.source = buildDictlayerdataDictWordsSensesSource();
     o.syllabification = "foo";
-    o.synonyms = buildUnnamed508();
+    o.synonyms = buildUnnamed536();
   }
   buildCounterDictlayerdataDictWordsSenses--;
   return o;
@@ -878,26 +878,26 @@
 checkDictlayerdataDictWordsSenses(api.DictlayerdataDictWordsSenses o) {
   buildCounterDictlayerdataDictWordsSenses++;
   if (buildCounterDictlayerdataDictWordsSenses < 3) {
-    checkUnnamed505(o.conjugations);
-    checkUnnamed507(o.definitions);
+    checkUnnamed533(o.conjugations);
+    checkUnnamed535(o.definitions);
     unittest.expect(o.partOfSpeech, unittest.equals('foo'));
     unittest.expect(o.pronunciation, unittest.equals('foo'));
     unittest.expect(o.pronunciationUrl, unittest.equals('foo'));
     checkDictlayerdataDictWordsSensesSource(o.source);
     unittest.expect(o.syllabification, unittest.equals('foo'));
-    checkUnnamed508(o.synonyms);
+    checkUnnamed536(o.synonyms);
   }
   buildCounterDictlayerdataDictWordsSenses--;
 }
 
-buildUnnamed509() {
+buildUnnamed537() {
   var o = new core.List<api.DictlayerdataDictWordsSenses>();
   o.add(buildDictlayerdataDictWordsSenses());
   o.add(buildDictlayerdataDictWordsSenses());
   return o;
 }
 
-checkUnnamed509(core.List<api.DictlayerdataDictWordsSenses> o) {
+checkUnnamed537(core.List<api.DictlayerdataDictWordsSenses> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWordsSenses(o[0]);
   checkDictlayerdataDictWordsSenses(o[1]);
@@ -929,9 +929,9 @@
   var o = new api.DictlayerdataDictWords();
   buildCounterDictlayerdataDictWords++;
   if (buildCounterDictlayerdataDictWords < 3) {
-    o.derivatives = buildUnnamed503();
-    o.examples = buildUnnamed504();
-    o.senses = buildUnnamed509();
+    o.derivatives = buildUnnamed531();
+    o.examples = buildUnnamed532();
+    o.senses = buildUnnamed537();
     o.source = buildDictlayerdataDictWordsSource();
   }
   buildCounterDictlayerdataDictWords--;
@@ -941,22 +941,22 @@
 checkDictlayerdataDictWords(api.DictlayerdataDictWords o) {
   buildCounterDictlayerdataDictWords++;
   if (buildCounterDictlayerdataDictWords < 3) {
-    checkUnnamed503(o.derivatives);
-    checkUnnamed504(o.examples);
-    checkUnnamed509(o.senses);
+    checkUnnamed531(o.derivatives);
+    checkUnnamed532(o.examples);
+    checkUnnamed537(o.senses);
     checkDictlayerdataDictWordsSource(o.source);
   }
   buildCounterDictlayerdataDictWords--;
 }
 
-buildUnnamed510() {
+buildUnnamed538() {
   var o = new core.List<api.DictlayerdataDictWords>();
   o.add(buildDictlayerdataDictWords());
   o.add(buildDictlayerdataDictWords());
   return o;
 }
 
-checkUnnamed510(core.List<api.DictlayerdataDictWords> o) {
+checkUnnamed538(core.List<api.DictlayerdataDictWords> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDictlayerdataDictWords(o[0]);
   checkDictlayerdataDictWords(o[1]);
@@ -968,7 +968,7 @@
   buildCounterDictlayerdataDict++;
   if (buildCounterDictlayerdataDict < 3) {
     o.source = buildDictlayerdataDictSource();
-    o.words = buildUnnamed510();
+    o.words = buildUnnamed538();
   }
   buildCounterDictlayerdataDict--;
   return o;
@@ -978,7 +978,7 @@
   buildCounterDictlayerdataDict++;
   if (buildCounterDictlayerdataDict < 3) {
     checkDictlayerdataDictSource(o.source);
-    checkUnnamed510(o.words);
+    checkUnnamed538(o.words);
   }
   buildCounterDictlayerdataDict--;
 }
@@ -1047,14 +1047,14 @@
   buildCounterDownloadAccessRestriction--;
 }
 
-buildUnnamed511() {
+buildUnnamed539() {
   var o = new core.List<api.DownloadAccessRestriction>();
   o.add(buildDownloadAccessRestriction());
   o.add(buildDownloadAccessRestriction());
   return o;
 }
 
-checkUnnamed511(core.List<api.DownloadAccessRestriction> o) {
+checkUnnamed539(core.List<api.DownloadAccessRestriction> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDownloadAccessRestriction(o[0]);
   checkDownloadAccessRestriction(o[1]);
@@ -1065,7 +1065,7 @@
   var o = new api.DownloadAccesses();
   buildCounterDownloadAccesses++;
   if (buildCounterDownloadAccesses < 3) {
-    o.downloadAccessList = buildUnnamed511();
+    o.downloadAccessList = buildUnnamed539();
     o.kind = "foo";
   }
   buildCounterDownloadAccesses--;
@@ -1075,7 +1075,7 @@
 checkDownloadAccesses(api.DownloadAccesses o) {
   buildCounterDownloadAccesses++;
   if (buildCounterDownloadAccesses < 3) {
-    checkUnnamed511(o.downloadAccessList);
+    checkUnnamed539(o.downloadAccessList);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterDownloadAccesses--;
@@ -1129,30 +1129,30 @@
   buildCounterGeolayerdataGeoBoundary--;
 }
 
-buildUnnamed512() {
+buildUnnamed540() {
   var o = new core.List<api.GeolayerdataGeoBoundary>();
   o.add(buildGeolayerdataGeoBoundary());
   o.add(buildGeolayerdataGeoBoundary());
   return o;
 }
 
-checkUnnamed512(core.List<api.GeolayerdataGeoBoundary> o) {
+checkUnnamed540(core.List<api.GeolayerdataGeoBoundary> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGeolayerdataGeoBoundary(o[0]);
   checkGeolayerdataGeoBoundary(o[1]);
 }
 
-buildUnnamed513() {
+buildUnnamed541() {
   var o = new core.List<core.List<api.GeolayerdataGeoBoundary>>();
-  o.add(buildUnnamed512());
-  o.add(buildUnnamed512());
+  o.add(buildUnnamed540());
+  o.add(buildUnnamed540());
   return o;
 }
 
-checkUnnamed513(core.List<core.List<api.GeolayerdataGeoBoundary>> o) {
+checkUnnamed541(core.List<core.List<api.GeolayerdataGeoBoundary>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed512(o[0]);
-  checkUnnamed512(o[1]);
+  checkUnnamed540(o[0]);
+  checkUnnamed540(o[1]);
 }
 
 core.int buildCounterGeolayerdataGeoViewportHi = 0;
@@ -1223,7 +1223,7 @@
   var o = new api.GeolayerdataGeo();
   buildCounterGeolayerdataGeo++;
   if (buildCounterGeolayerdataGeo < 3) {
-    o.boundary = buildUnnamed513();
+    o.boundary = buildUnnamed541();
     o.cachePolicy = "foo";
     o.countryCode = "foo";
     o.latitude = 42.0;
@@ -1239,7 +1239,7 @@
 checkGeolayerdataGeo(api.GeolayerdataGeo o) {
   buildCounterGeolayerdataGeo++;
   if (buildCounterGeolayerdataGeo < 3) {
-    checkUnnamed513(o.boundary);
+    checkUnnamed541(o.boundary);
     unittest.expect(o.cachePolicy, unittest.equals('foo'));
     unittest.expect(o.countryCode, unittest.equals('foo'));
     unittest.expect(o.latitude, unittest.equals(42.0));
@@ -1274,14 +1274,14 @@
   buildCounterGeolayerdata--;
 }
 
-buildUnnamed514() {
+buildUnnamed542() {
   var o = new core.List<api.Layersummary>();
   o.add(buildLayersummary());
   o.add(buildLayersummary());
   return o;
 }
 
-checkUnnamed514(core.List<api.Layersummary> o) {
+checkUnnamed542(core.List<api.Layersummary> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLayersummary(o[0]);
   checkLayersummary(o[1]);
@@ -1292,7 +1292,7 @@
   var o = new api.Layersummaries();
   buildCounterLayersummaries++;
   if (buildCounterLayersummaries < 3) {
-    o.items = buildUnnamed514();
+    o.items = buildUnnamed542();
     o.kind = "foo";
     o.totalItems = 42;
   }
@@ -1303,21 +1303,21 @@
 checkLayersummaries(api.Layersummaries o) {
   buildCounterLayersummaries++;
   if (buildCounterLayersummaries < 3) {
-    checkUnnamed514(o.items);
+    checkUnnamed542(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
   }
   buildCounterLayersummaries--;
 }
 
-buildUnnamed515() {
+buildUnnamed543() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed515(core.List<core.String> o) {
+checkUnnamed543(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1329,7 +1329,7 @@
   buildCounterLayersummary++;
   if (buildCounterLayersummary < 3) {
     o.annotationCount = 42;
-    o.annotationTypes = buildUnnamed515();
+    o.annotationTypes = buildUnnamed543();
     o.annotationsDataLink = "foo";
     o.annotationsLink = "foo";
     o.contentVersion = "foo";
@@ -1350,7 +1350,7 @@
   buildCounterLayersummary++;
   if (buildCounterLayersummary < 3) {
     unittest.expect(o.annotationCount, unittest.equals(42));
-    checkUnnamed515(o.annotationTypes);
+    checkUnnamed543(o.annotationTypes);
     unittest.expect(o.annotationsDataLink, unittest.equals('foo'));
     unittest.expect(o.annotationsLink, unittest.equals('foo'));
     unittest.expect(o.contentVersion, unittest.equals('foo'));
@@ -1395,14 +1395,14 @@
   buildCounterOffersItemsItems--;
 }
 
-buildUnnamed516() {
+buildUnnamed544() {
   var o = new core.List<api.OffersItemsItems>();
   o.add(buildOffersItemsItems());
   o.add(buildOffersItemsItems());
   return o;
 }
 
-checkUnnamed516(core.List<api.OffersItemsItems> o) {
+checkUnnamed544(core.List<api.OffersItemsItems> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOffersItemsItems(o[0]);
   checkOffersItemsItems(o[1]);
@@ -1415,7 +1415,7 @@
   if (buildCounterOffersItems < 3) {
     o.artUrl = "foo";
     o.id = "foo";
-    o.items = buildUnnamed516();
+    o.items = buildUnnamed544();
   }
   buildCounterOffersItems--;
   return o;
@@ -1426,19 +1426,19 @@
   if (buildCounterOffersItems < 3) {
     unittest.expect(o.artUrl, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed516(o.items);
+    checkUnnamed544(o.items);
   }
   buildCounterOffersItems--;
 }
 
-buildUnnamed517() {
+buildUnnamed545() {
   var o = new core.List<api.OffersItems>();
   o.add(buildOffersItems());
   o.add(buildOffersItems());
   return o;
 }
 
-checkUnnamed517(core.List<api.OffersItems> o) {
+checkUnnamed545(core.List<api.OffersItems> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOffersItems(o[0]);
   checkOffersItems(o[1]);
@@ -1449,7 +1449,7 @@
   var o = new api.Offers();
   buildCounterOffers++;
   if (buildCounterOffers < 3) {
-    o.items = buildUnnamed517();
+    o.items = buildUnnamed545();
     o.kind = "foo";
   }
   buildCounterOffers--;
@@ -1459,7 +1459,7 @@
 checkOffers(api.Offers o) {
   buildCounterOffers++;
   if (buildCounterOffers < 3) {
-    checkUnnamed517(o.items);
+    checkUnnamed545(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterOffers--;
@@ -1710,14 +1710,14 @@
   buildCounterVolumeLayerInfoLayers--;
 }
 
-buildUnnamed518() {
+buildUnnamed546() {
   var o = new core.List<api.VolumeLayerInfoLayers>();
   o.add(buildVolumeLayerInfoLayers());
   o.add(buildVolumeLayerInfoLayers());
   return o;
 }
 
-checkUnnamed518(core.List<api.VolumeLayerInfoLayers> o) {
+checkUnnamed546(core.List<api.VolumeLayerInfoLayers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVolumeLayerInfoLayers(o[0]);
   checkVolumeLayerInfoLayers(o[1]);
@@ -1728,7 +1728,7 @@
   var o = new api.VolumeLayerInfo();
   buildCounterVolumeLayerInfo++;
   if (buildCounterVolumeLayerInfo < 3) {
-    o.layers = buildUnnamed518();
+    o.layers = buildUnnamed546();
   }
   buildCounterVolumeLayerInfo--;
   return o;
@@ -1737,7 +1737,7 @@
 checkVolumeLayerInfo(api.VolumeLayerInfo o) {
   buildCounterVolumeLayerInfo++;
   if (buildCounterVolumeLayerInfo < 3) {
-    checkUnnamed518(o.layers);
+    checkUnnamed546(o.layers);
   }
   buildCounterVolumeLayerInfo--;
 }
@@ -1870,14 +1870,14 @@
   buildCounterVolumeSaleInfoOffers--;
 }
 
-buildUnnamed519() {
+buildUnnamed547() {
   var o = new core.List<api.VolumeSaleInfoOffers>();
   o.add(buildVolumeSaleInfoOffers());
   o.add(buildVolumeSaleInfoOffers());
   return o;
 }
 
-checkUnnamed519(core.List<api.VolumeSaleInfoOffers> o) {
+checkUnnamed547(core.List<api.VolumeSaleInfoOffers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVolumeSaleInfoOffers(o[0]);
   checkVolumeSaleInfoOffers(o[1]);
@@ -1913,7 +1913,7 @@
     o.country = "foo";
     o.isEbook = true;
     o.listPrice = buildVolumeSaleInfoListPrice();
-    o.offers = buildUnnamed519();
+    o.offers = buildUnnamed547();
     o.onSaleDate = core.DateTime.parse("2002-02-27T14:01:02");
     o.retailPrice = buildVolumeSaleInfoRetailPrice();
     o.saleability = "foo";
@@ -1929,7 +1929,7 @@
     unittest.expect(o.country, unittest.equals('foo'));
     unittest.expect(o.isEbook, unittest.isTrue);
     checkVolumeSaleInfoListPrice(o.listPrice);
-    checkUnnamed519(o.offers);
+    checkUnnamed547(o.offers);
     unittest.expect(o.onSaleDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     checkVolumeSaleInfoRetailPrice(o.retailPrice);
     unittest.expect(o.saleability, unittest.equals('foo'));
@@ -2060,27 +2060,27 @@
   buildCounterVolumeUserInfo--;
 }
 
-buildUnnamed520() {
+buildUnnamed548() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed520(core.List<core.String> o) {
+checkUnnamed548(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed521() {
+buildUnnamed549() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed521(core.List<core.String> o) {
+checkUnnamed549(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2159,14 +2159,14 @@
   buildCounterVolumeVolumeInfoIndustryIdentifiers--;
 }
 
-buildUnnamed522() {
+buildUnnamed550() {
   var o = new core.List<api.VolumeVolumeInfoIndustryIdentifiers>();
   o.add(buildVolumeVolumeInfoIndustryIdentifiers());
   o.add(buildVolumeVolumeInfoIndustryIdentifiers());
   return o;
 }
 
-checkUnnamed522(core.List<api.VolumeVolumeInfoIndustryIdentifiers> o) {
+checkUnnamed550(core.List<api.VolumeVolumeInfoIndustryIdentifiers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVolumeVolumeInfoIndustryIdentifiers(o[0]);
   checkVolumeVolumeInfoIndustryIdentifiers(o[1]);
@@ -2177,15 +2177,15 @@
   var o = new api.VolumeVolumeInfo();
   buildCounterVolumeVolumeInfo++;
   if (buildCounterVolumeVolumeInfo < 3) {
-    o.authors = buildUnnamed520();
+    o.authors = buildUnnamed548();
     o.averageRating = 42.0;
     o.canonicalVolumeLink = "foo";
-    o.categories = buildUnnamed521();
+    o.categories = buildUnnamed549();
     o.contentVersion = "foo";
     o.description = "foo";
     o.dimensions = buildVolumeVolumeInfoDimensions();
     o.imageLinks = buildVolumeVolumeInfoImageLinks();
-    o.industryIdentifiers = buildUnnamed522();
+    o.industryIdentifiers = buildUnnamed550();
     o.infoLink = "foo";
     o.language = "foo";
     o.mainCategory = "foo";
@@ -2207,15 +2207,15 @@
 checkVolumeVolumeInfo(api.VolumeVolumeInfo o) {
   buildCounterVolumeVolumeInfo++;
   if (buildCounterVolumeVolumeInfo < 3) {
-    checkUnnamed520(o.authors);
+    checkUnnamed548(o.authors);
     unittest.expect(o.averageRating, unittest.equals(42.0));
     unittest.expect(o.canonicalVolumeLink, unittest.equals('foo'));
-    checkUnnamed521(o.categories);
+    checkUnnamed549(o.categories);
     unittest.expect(o.contentVersion, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     checkVolumeVolumeInfoDimensions(o.dimensions);
     checkVolumeVolumeInfoImageLinks(o.imageLinks);
-    checkUnnamed522(o.industryIdentifiers);
+    checkUnnamed550(o.industryIdentifiers);
     unittest.expect(o.infoLink, unittest.equals('foo'));
     unittest.expect(o.language, unittest.equals('foo'));
     unittest.expect(o.mainCategory, unittest.equals('foo'));
@@ -2297,14 +2297,14 @@
   buildCounterVolumeannotationContentRanges--;
 }
 
-buildUnnamed523() {
+buildUnnamed551() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed523(core.List<core.String> o) {
+checkUnnamed551(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2324,7 +2324,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.layerId = "foo";
-    o.pageIds = buildUnnamed523();
+    o.pageIds = buildUnnamed551();
     o.selectedText = "foo";
     o.selfLink = "foo";
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
@@ -2346,7 +2346,7 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.layerId, unittest.equals('foo'));
-    checkUnnamed523(o.pageIds);
+    checkUnnamed551(o.pageIds);
     unittest.expect(o.selectedText, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -2355,14 +2355,14 @@
   buildCounterVolumeannotation--;
 }
 
-buildUnnamed524() {
+buildUnnamed552() {
   var o = new core.List<api.Volumeannotation>();
   o.add(buildVolumeannotation());
   o.add(buildVolumeannotation());
   return o;
 }
 
-checkUnnamed524(core.List<api.Volumeannotation> o) {
+checkUnnamed552(core.List<api.Volumeannotation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVolumeannotation(o[0]);
   checkVolumeannotation(o[1]);
@@ -2373,7 +2373,7 @@
   var o = new api.Volumeannotations();
   buildCounterVolumeannotations++;
   if (buildCounterVolumeannotations < 3) {
-    o.items = buildUnnamed524();
+    o.items = buildUnnamed552();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -2386,7 +2386,7 @@
 checkVolumeannotations(api.Volumeannotations o) {
   buildCounterVolumeannotations++;
   if (buildCounterVolumeannotations < 3) {
-    checkUnnamed524(o.items);
+    checkUnnamed552(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -2395,14 +2395,14 @@
   buildCounterVolumeannotations--;
 }
 
-buildUnnamed525() {
+buildUnnamed553() {
   var o = new core.List<api.Volume>();
   o.add(buildVolume());
   o.add(buildVolume());
   return o;
 }
 
-checkUnnamed525(core.List<api.Volume> o) {
+checkUnnamed553(core.List<api.Volume> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVolume(o[0]);
   checkVolume(o[1]);
@@ -2413,7 +2413,7 @@
   var o = new api.Volumes();
   buildCounterVolumes++;
   if (buildCounterVolumes < 3) {
-    o.items = buildUnnamed525();
+    o.items = buildUnnamed553();
     o.kind = "foo";
     o.totalItems = 42;
   }
@@ -2424,151 +2424,151 @@
 checkVolumes(api.Volumes o) {
   buildCounterVolumes++;
   if (buildCounterVolumes < 3) {
-    checkUnnamed525(o.items);
+    checkUnnamed553(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
   }
   buildCounterVolumes--;
 }
 
-buildUnnamed526() {
+buildUnnamed554() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed526(core.List<core.String> o) {
+checkUnnamed554(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed527() {
+buildUnnamed555() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed527(core.List<core.String> o) {
+checkUnnamed555(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed528() {
+buildUnnamed556() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed528(core.List<core.String> o) {
+checkUnnamed556(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed529() {
+buildUnnamed557() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed529(core.List<core.String> o) {
+checkUnnamed557(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed530() {
+buildUnnamed558() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed530(core.List<core.String> o) {
+checkUnnamed558(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed531() {
+buildUnnamed559() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed531(core.List<core.String> o) {
+checkUnnamed559(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed532() {
+buildUnnamed560() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed532(core.List<core.String> o) {
+checkUnnamed560(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed533() {
+buildUnnamed561() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed533(core.List<core.String> o) {
+checkUnnamed561(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed534() {
+buildUnnamed562() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed534(core.List<core.String> o) {
+checkUnnamed562(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed535() {
+buildUnnamed563() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed535(core.List<core.String> o) {
+checkUnnamed563(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed536() {
+buildUnnamed564() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed536(core.List<core.String> o) {
+checkUnnamed564(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3300,8 +3300,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/bookshelves/", pathOffset);
@@ -3356,8 +3358,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/bookshelves", pathOffset);
@@ -3417,8 +3421,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("users/"));
         pathOffset += 6;
         index = path.indexOf("/bookshelves/", pathOffset);
@@ -3486,8 +3492,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("cloudloading/addBook"));
         pathOffset += 20;
 
@@ -3534,8 +3542,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("cloudloading/deleteBook"));
         pathOffset += 23;
 
@@ -3580,8 +3590,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("cloudloading/updateBook"));
         pathOffset += 23;
 
@@ -3631,8 +3643,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layersummary/", pathOffset);
@@ -3691,8 +3705,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layersummary", pathOffset);
@@ -3759,8 +3775,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layers/", pathOffset);
@@ -3824,7 +3842,7 @@
       var arg_volumeId = "foo";
       var arg_layerId = "foo";
       var arg_contentVersion = "foo";
-      var arg_annotationDataId = buildUnnamed526();
+      var arg_annotationDataId = buildUnnamed554();
       var arg_h = 42;
       var arg_locale = "foo";
       var arg_maxResults = 42;
@@ -3839,8 +3857,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layers/", pathOffset);
@@ -3916,8 +3936,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layers/", pathOffset);
@@ -3993,8 +4015,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/layers/", pathOffset);
@@ -4058,7 +4082,7 @@
 
       var mock = new common_test.HttpServerMock();
       api.MyconfigResourceApi res = new api.BooksApi(mock).myconfig;
-      var arg_volumeIds = buildUnnamed527();
+      var arg_volumeIds = buildUnnamed555();
       var arg_cpksver = "foo";
       var arg_locale = "foo";
       var arg_source = "foo";
@@ -4067,8 +4091,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("myconfig/releaseDownloadAccess"));
         pathOffset += 30;
 
@@ -4120,8 +4146,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("myconfig/requestAccess"));
         pathOffset += 22;
 
@@ -4167,17 +4195,19 @@
       var arg_source = "foo";
       var arg_nonce = "foo";
       var arg_cpksver = "foo";
-      var arg_features = buildUnnamed528();
+      var arg_features = buildUnnamed556();
       var arg_locale = "foo";
       var arg_showPreorders = true;
-      var arg_volumeIds = buildUnnamed529();
+      var arg_volumeIds = buildUnnamed557();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("myconfig/syncVolumeLicenses"));
         pathOffset += 27;
 
@@ -4232,8 +4262,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/annotations/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4279,8 +4311,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/annotations/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4332,8 +4366,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("mylibrary/annotations"));
         pathOffset += 21;
 
@@ -4374,9 +4410,9 @@
       api.MylibraryAnnotationsResourceApi res = new api.BooksApi(mock).mylibrary.annotations;
       var arg_contentVersion = "foo";
       var arg_layerId = "foo";
-      var arg_layerIds = buildUnnamed530();
+      var arg_layerIds = buildUnnamed558();
       var arg_maxResults = 42;
-      var arg_pageIds = buildUnnamed531();
+      var arg_pageIds = buildUnnamed559();
       var arg_pageToken = "foo";
       var arg_showDeleted = true;
       var arg_source = "foo";
@@ -4388,8 +4424,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("mylibrary/annotations"));
         pathOffset += 21;
 
@@ -4437,15 +4475,17 @@
 
       var mock = new common_test.HttpServerMock();
       api.MylibraryAnnotationsResourceApi res = new api.BooksApi(mock).mylibrary.annotations;
-      var arg_layerIds = buildUnnamed532();
+      var arg_layerIds = buildUnnamed560();
       var arg_volumeId = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 29), unittest.equals("mylibrary/annotations/summary"));
         pathOffset += 29;
 
@@ -4495,8 +4535,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/annotations/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4549,8 +4591,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         index = path.indexOf("/addVolume", pathOffset);
@@ -4601,8 +4645,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         index = path.indexOf("/clearVolumes", pathOffset);
@@ -4652,8 +4698,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4700,8 +4748,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("mylibrary/bookshelves"));
         pathOffset += 21;
 
@@ -4748,8 +4798,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         index = path.indexOf("/moveVolume", pathOffset);
@@ -4802,8 +4854,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         index = path.indexOf("/removeVolume", pathOffset);
@@ -4864,8 +4918,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("mylibrary/bookshelves/"));
         pathOffset += 22;
         index = path.indexOf("/volumes", pathOffset);
@@ -4928,8 +4984,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("mylibrary/readingpositions/"));
         pathOffset += 27;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4983,8 +5041,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("mylibrary/readingpositions/"));
         pathOffset += 27;
         index = path.indexOf("/setPosition", pathOffset);
@@ -5049,8 +5109,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("promooffer/accept"));
         pathOffset += 17;
 
@@ -5105,8 +5167,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("promooffer/dismiss"));
         pathOffset += 18;
 
@@ -5159,8 +5223,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("promooffer/get"));
         pathOffset += 14;
 
@@ -5217,8 +5283,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5280,8 +5348,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("volumes"));
         pathOffset += 7;
 
@@ -5344,8 +5414,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("volumes/"));
         pathOffset += 8;
         index = path.indexOf("/associated", pathOffset);
@@ -5396,10 +5468,10 @@
 
       var mock = new common_test.HttpServerMock();
       api.VolumesMybooksResourceApi res = new api.BooksApi(mock).volumes.mybooks;
-      var arg_acquireMethod = buildUnnamed533();
+      var arg_acquireMethod = buildUnnamed561();
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_processingState = buildUnnamed534();
+      var arg_processingState = buildUnnamed562();
       var arg_source = "foo";
       var arg_startIndex = 42;
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
@@ -5407,8 +5479,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("volumes/mybooks"));
         pathOffset += 15;
 
@@ -5462,8 +5536,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("volumes/recommended"));
         pathOffset += 19;
 
@@ -5511,8 +5587,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("volumes/recommended/rate"));
         pathOffset += 24;
 
@@ -5559,17 +5637,19 @@
       api.VolumesUseruploadedResourceApi res = new api.BooksApi(mock).volumes.useruploaded;
       var arg_locale = "foo";
       var arg_maxResults = 42;
-      var arg_processingState = buildUnnamed535();
+      var arg_processingState = buildUnnamed563();
       var arg_source = "foo";
       var arg_startIndex = 42;
-      var arg_volumeId = buildUnnamed536();
+      var arg_volumeId = buildUnnamed564();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/books/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("books/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("volumes/useruploaded"));
         pathOffset += 20;
 
diff --git a/generated/googleapis/test/calendar/v3_test.dart b/generated/googleapis/test/calendar/v3_test.dart
index ab770de..37f4a4d 100644
--- a/generated/googleapis/test/calendar/v3_test.dart
+++ b/generated/googleapis/test/calendar/v3_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed664() {
+buildUnnamed692() {
   var o = new core.List<api.AclRule>();
   o.add(buildAclRule());
   o.add(buildAclRule());
   return o;
 }
 
-checkUnnamed664(core.List<api.AclRule> o) {
+checkUnnamed692(core.List<api.AclRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAclRule(o[0]);
   checkAclRule(o[1]);
@@ -35,7 +35,7 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed664();
+    o.items = buildUnnamed692();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.nextSyncToken = "foo";
@@ -48,7 +48,7 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed664(o.items);
+    checkUnnamed692(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.nextSyncToken, unittest.equals('foo'));
@@ -135,14 +135,14 @@
   buildCounterCalendar--;
 }
 
-buildUnnamed665() {
+buildUnnamed693() {
   var o = new core.List<api.CalendarListEntry>();
   o.add(buildCalendarListEntry());
   o.add(buildCalendarListEntry());
   return o;
 }
 
-checkUnnamed665(core.List<api.CalendarListEntry> o) {
+checkUnnamed693(core.List<api.CalendarListEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCalendarListEntry(o[0]);
   checkCalendarListEntry(o[1]);
@@ -154,7 +154,7 @@
   buildCounterCalendarList++;
   if (buildCounterCalendarList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed665();
+    o.items = buildUnnamed693();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.nextSyncToken = "foo";
@@ -167,7 +167,7 @@
   buildCounterCalendarList++;
   if (buildCounterCalendarList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed665(o.items);
+    checkUnnamed693(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.nextSyncToken, unittest.equals('foo'));
@@ -175,27 +175,27 @@
   buildCounterCalendarList--;
 }
 
-buildUnnamed666() {
+buildUnnamed694() {
   var o = new core.List<api.EventReminder>();
   o.add(buildEventReminder());
   o.add(buildEventReminder());
   return o;
 }
 
-checkUnnamed666(core.List<api.EventReminder> o) {
+checkUnnamed694(core.List<api.EventReminder> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEventReminder(o[0]);
   checkEventReminder(o[1]);
 }
 
-buildUnnamed667() {
+buildUnnamed695() {
   var o = new core.List<api.CalendarNotification>();
   o.add(buildCalendarNotification());
   o.add(buildCalendarNotification());
   return o;
 }
 
-checkUnnamed667(core.List<api.CalendarNotification> o) {
+checkUnnamed695(core.List<api.CalendarNotification> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCalendarNotification(o[0]);
   checkCalendarNotification(o[1]);
@@ -206,7 +206,7 @@
   var o = new api.CalendarListEntryNotificationSettings();
   buildCounterCalendarListEntryNotificationSettings++;
   if (buildCounterCalendarListEntryNotificationSettings < 3) {
-    o.notifications = buildUnnamed667();
+    o.notifications = buildUnnamed695();
   }
   buildCounterCalendarListEntryNotificationSettings--;
   return o;
@@ -215,7 +215,7 @@
 checkCalendarListEntryNotificationSettings(api.CalendarListEntryNotificationSettings o) {
   buildCounterCalendarListEntryNotificationSettings++;
   if (buildCounterCalendarListEntryNotificationSettings < 3) {
-    checkUnnamed667(o.notifications);
+    checkUnnamed695(o.notifications);
   }
   buildCounterCalendarListEntryNotificationSettings--;
 }
@@ -228,7 +228,7 @@
     o.accessRole = "foo";
     o.backgroundColor = "foo";
     o.colorId = "foo";
-    o.defaultReminders = buildUnnamed666();
+    o.defaultReminders = buildUnnamed694();
     o.deleted = true;
     o.description = "foo";
     o.etag = "foo";
@@ -254,7 +254,7 @@
     unittest.expect(o.accessRole, unittest.equals('foo'));
     unittest.expect(o.backgroundColor, unittest.equals('foo'));
     unittest.expect(o.colorId, unittest.equals('foo'));
-    checkUnnamed666(o.defaultReminders);
+    checkUnnamed694(o.defaultReminders);
     unittest.expect(o.deleted, unittest.isTrue);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
@@ -294,14 +294,14 @@
   buildCounterCalendarNotification--;
 }
 
-buildUnnamed668() {
+buildUnnamed696() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed668(core.Map<core.String, core.String> o) {
+checkUnnamed696(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -316,7 +316,7 @@
     o.expiration = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.params = buildUnnamed668();
+    o.params = buildUnnamed696();
     o.payload = true;
     o.resourceId = "foo";
     o.resourceUri = "foo";
@@ -334,7 +334,7 @@
     unittest.expect(o.expiration, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed668(o.params);
+    checkUnnamed696(o.params);
     unittest.expect(o.payload, unittest.isTrue);
     unittest.expect(o.resourceId, unittest.equals('foo'));
     unittest.expect(o.resourceUri, unittest.equals('foo'));
@@ -365,27 +365,27 @@
   buildCounterColorDefinition--;
 }
 
-buildUnnamed669() {
+buildUnnamed697() {
   var o = new core.Map<core.String, api.ColorDefinition>();
   o["x"] = buildColorDefinition();
   o["y"] = buildColorDefinition();
   return o;
 }
 
-checkUnnamed669(core.Map<core.String, api.ColorDefinition> o) {
+checkUnnamed697(core.Map<core.String, api.ColorDefinition> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkColorDefinition(o["x"]);
   checkColorDefinition(o["y"]);
 }
 
-buildUnnamed670() {
+buildUnnamed698() {
   var o = new core.Map<core.String, api.ColorDefinition>();
   o["x"] = buildColorDefinition();
   o["y"] = buildColorDefinition();
   return o;
 }
 
-checkUnnamed670(core.Map<core.String, api.ColorDefinition> o) {
+checkUnnamed698(core.Map<core.String, api.ColorDefinition> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkColorDefinition(o["x"]);
   checkColorDefinition(o["y"]);
@@ -396,8 +396,8 @@
   var o = new api.Colors();
   buildCounterColors++;
   if (buildCounterColors < 3) {
-    o.calendar = buildUnnamed669();
-    o.event = buildUnnamed670();
+    o.calendar = buildUnnamed697();
+    o.event = buildUnnamed698();
     o.kind = "foo";
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
   }
@@ -408,8 +408,8 @@
 checkColors(api.Colors o) {
   buildCounterColors++;
   if (buildCounterColors < 3) {
-    checkUnnamed669(o.calendar);
-    checkUnnamed670(o.event);
+    checkUnnamed697(o.calendar);
+    checkUnnamed698(o.event);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
   }
@@ -437,14 +437,14 @@
   buildCounterError--;
 }
 
-buildUnnamed671() {
+buildUnnamed699() {
   var o = new core.List<api.EventAttendee>();
   o.add(buildEventAttendee());
   o.add(buildEventAttendee());
   return o;
 }
 
-checkUnnamed671(core.List<api.EventAttendee> o) {
+checkUnnamed699(core.List<api.EventAttendee> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEventAttendee(o[0]);
   checkEventAttendee(o[1]);
@@ -475,27 +475,27 @@
   buildCounterEventCreator--;
 }
 
-buildUnnamed672() {
+buildUnnamed700() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed672(core.Map<core.String, core.String> o) {
+checkUnnamed700(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
 }
 
-buildUnnamed673() {
+buildUnnamed701() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed673(core.Map<core.String, core.String> o) {
+checkUnnamed701(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -506,8 +506,8 @@
   var o = new api.EventExtendedProperties();
   buildCounterEventExtendedProperties++;
   if (buildCounterEventExtendedProperties < 3) {
-    o.private = buildUnnamed672();
-    o.shared = buildUnnamed673();
+    o.private = buildUnnamed700();
+    o.shared = buildUnnamed701();
   }
   buildCounterEventExtendedProperties--;
   return o;
@@ -516,20 +516,20 @@
 checkEventExtendedProperties(api.EventExtendedProperties o) {
   buildCounterEventExtendedProperties++;
   if (buildCounterEventExtendedProperties < 3) {
-    checkUnnamed672(o.private);
-    checkUnnamed673(o.shared);
+    checkUnnamed700(o.private);
+    checkUnnamed701(o.shared);
   }
   buildCounterEventExtendedProperties--;
 }
 
-buildUnnamed674() {
+buildUnnamed702() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed674(core.Map<core.String, core.String> o) {
+checkUnnamed702(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -544,7 +544,7 @@
     o.height = 42;
     o.iconLink = "foo";
     o.link = "foo";
-    o.preferences = buildUnnamed674();
+    o.preferences = buildUnnamed702();
     o.title = "foo";
     o.type = "foo";
     o.width = 42;
@@ -560,7 +560,7 @@
     unittest.expect(o.height, unittest.equals(42));
     unittest.expect(o.iconLink, unittest.equals('foo'));
     unittest.expect(o.link, unittest.equals('foo'));
-    checkUnnamed674(o.preferences);
+    checkUnnamed702(o.preferences);
     unittest.expect(o.title, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
     unittest.expect(o.width, unittest.equals(42));
@@ -593,27 +593,27 @@
   buildCounterEventOrganizer--;
 }
 
-buildUnnamed675() {
+buildUnnamed703() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed675(core.List<core.String> o) {
+checkUnnamed703(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed676() {
+buildUnnamed704() {
   var o = new core.List<api.EventReminder>();
   o.add(buildEventReminder());
   o.add(buildEventReminder());
   return o;
 }
 
-checkUnnamed676(core.List<api.EventReminder> o) {
+checkUnnamed704(core.List<api.EventReminder> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEventReminder(o[0]);
   checkEventReminder(o[1]);
@@ -624,7 +624,7 @@
   var o = new api.EventReminders();
   buildCounterEventReminders++;
   if (buildCounterEventReminders < 3) {
-    o.overrides = buildUnnamed676();
+    o.overrides = buildUnnamed704();
     o.useDefault = true;
   }
   buildCounterEventReminders--;
@@ -634,7 +634,7 @@
 checkEventReminders(api.EventReminders o) {
   buildCounterEventReminders++;
   if (buildCounterEventReminders < 3) {
-    checkUnnamed676(o.overrides);
+    checkUnnamed704(o.overrides);
     unittest.expect(o.useDefault, unittest.isTrue);
   }
   buildCounterEventReminders--;
@@ -667,7 +667,7 @@
   buildCounterEvent++;
   if (buildCounterEvent < 3) {
     o.anyoneCanAddSelf = true;
-    o.attendees = buildUnnamed671();
+    o.attendees = buildUnnamed699();
     o.attendeesOmitted = true;
     o.colorId = "foo";
     o.created = core.DateTime.parse("2002-02-27T14:01:02");
@@ -691,7 +691,7 @@
     o.organizer = buildEventOrganizer();
     o.originalStartTime = buildEventDateTime();
     o.privateCopy = true;
-    o.recurrence = buildUnnamed675();
+    o.recurrence = buildUnnamed703();
     o.recurringEventId = "foo";
     o.reminders = buildEventReminders();
     o.sequence = 42;
@@ -711,7 +711,7 @@
   buildCounterEvent++;
   if (buildCounterEvent < 3) {
     unittest.expect(o.anyoneCanAddSelf, unittest.isTrue);
-    checkUnnamed671(o.attendees);
+    checkUnnamed699(o.attendees);
     unittest.expect(o.attendeesOmitted, unittest.isTrue);
     unittest.expect(o.colorId, unittest.equals('foo'));
     unittest.expect(o.created, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -735,7 +735,7 @@
     checkEventOrganizer(o.organizer);
     checkEventDateTime(o.originalStartTime);
     unittest.expect(o.privateCopy, unittest.isTrue);
-    checkUnnamed675(o.recurrence);
+    checkUnnamed703(o.recurrence);
     unittest.expect(o.recurringEventId, unittest.equals('foo'));
     checkEventReminders(o.reminders);
     unittest.expect(o.sequence, unittest.equals(42));
@@ -831,27 +831,27 @@
   buildCounterEventReminder--;
 }
 
-buildUnnamed677() {
+buildUnnamed705() {
   var o = new core.List<api.EventReminder>();
   o.add(buildEventReminder());
   o.add(buildEventReminder());
   return o;
 }
 
-checkUnnamed677(core.List<api.EventReminder> o) {
+checkUnnamed705(core.List<api.EventReminder> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEventReminder(o[0]);
   checkEventReminder(o[1]);
 }
 
-buildUnnamed678() {
+buildUnnamed706() {
   var o = new core.List<api.Event>();
   o.add(buildEvent());
   o.add(buildEvent());
   return o;
 }
 
-checkUnnamed678(core.List<api.Event> o) {
+checkUnnamed706(core.List<api.Event> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEvent(o[0]);
   checkEvent(o[1]);
@@ -863,10 +863,10 @@
   buildCounterEvents++;
   if (buildCounterEvents < 3) {
     o.accessRole = "foo";
-    o.defaultReminders = buildUnnamed677();
+    o.defaultReminders = buildUnnamed705();
     o.description = "foo";
     o.etag = "foo";
-    o.items = buildUnnamed678();
+    o.items = buildUnnamed706();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.nextSyncToken = "foo";
@@ -882,10 +882,10 @@
   buildCounterEvents++;
   if (buildCounterEvents < 3) {
     unittest.expect(o.accessRole, unittest.equals('foo'));
-    checkUnnamed677(o.defaultReminders);
+    checkUnnamed705(o.defaultReminders);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed678(o.items);
+    checkUnnamed706(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.nextSyncToken, unittest.equals('foo'));
@@ -896,27 +896,27 @@
   buildCounterEvents--;
 }
 
-buildUnnamed679() {
+buildUnnamed707() {
   var o = new core.List<api.TimePeriod>();
   o.add(buildTimePeriod());
   o.add(buildTimePeriod());
   return o;
 }
 
-checkUnnamed679(core.List<api.TimePeriod> o) {
+checkUnnamed707(core.List<api.TimePeriod> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTimePeriod(o[0]);
   checkTimePeriod(o[1]);
 }
 
-buildUnnamed680() {
+buildUnnamed708() {
   var o = new core.List<api.Error>();
   o.add(buildError());
   o.add(buildError());
   return o;
 }
 
-checkUnnamed680(core.List<api.Error> o) {
+checkUnnamed708(core.List<api.Error> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkError(o[0]);
   checkError(o[1]);
@@ -927,8 +927,8 @@
   var o = new api.FreeBusyCalendar();
   buildCounterFreeBusyCalendar++;
   if (buildCounterFreeBusyCalendar < 3) {
-    o.busy = buildUnnamed679();
-    o.errors = buildUnnamed680();
+    o.busy = buildUnnamed707();
+    o.errors = buildUnnamed708();
   }
   buildCounterFreeBusyCalendar--;
   return o;
@@ -937,33 +937,33 @@
 checkFreeBusyCalendar(api.FreeBusyCalendar o) {
   buildCounterFreeBusyCalendar++;
   if (buildCounterFreeBusyCalendar < 3) {
-    checkUnnamed679(o.busy);
-    checkUnnamed680(o.errors);
+    checkUnnamed707(o.busy);
+    checkUnnamed708(o.errors);
   }
   buildCounterFreeBusyCalendar--;
 }
 
-buildUnnamed681() {
+buildUnnamed709() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed681(core.List<core.String> o) {
+checkUnnamed709(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed682() {
+buildUnnamed710() {
   var o = new core.List<api.Error>();
   o.add(buildError());
   o.add(buildError());
   return o;
 }
 
-checkUnnamed682(core.List<api.Error> o) {
+checkUnnamed710(core.List<api.Error> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkError(o[0]);
   checkError(o[1]);
@@ -974,8 +974,8 @@
   var o = new api.FreeBusyGroup();
   buildCounterFreeBusyGroup++;
   if (buildCounterFreeBusyGroup < 3) {
-    o.calendars = buildUnnamed681();
-    o.errors = buildUnnamed682();
+    o.calendars = buildUnnamed709();
+    o.errors = buildUnnamed710();
   }
   buildCounterFreeBusyGroup--;
   return o;
@@ -984,20 +984,20 @@
 checkFreeBusyGroup(api.FreeBusyGroup o) {
   buildCounterFreeBusyGroup++;
   if (buildCounterFreeBusyGroup < 3) {
-    checkUnnamed681(o.calendars);
-    checkUnnamed682(o.errors);
+    checkUnnamed709(o.calendars);
+    checkUnnamed710(o.errors);
   }
   buildCounterFreeBusyGroup--;
 }
 
-buildUnnamed683() {
+buildUnnamed711() {
   var o = new core.List<api.FreeBusyRequestItem>();
   o.add(buildFreeBusyRequestItem());
   o.add(buildFreeBusyRequestItem());
   return o;
 }
 
-checkUnnamed683(core.List<api.FreeBusyRequestItem> o) {
+checkUnnamed711(core.List<api.FreeBusyRequestItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFreeBusyRequestItem(o[0]);
   checkFreeBusyRequestItem(o[1]);
@@ -1010,7 +1010,7 @@
   if (buildCounterFreeBusyRequest < 3) {
     o.calendarExpansionMax = 42;
     o.groupExpansionMax = 42;
-    o.items = buildUnnamed683();
+    o.items = buildUnnamed711();
     o.timeMax = core.DateTime.parse("2002-02-27T14:01:02");
     o.timeMin = core.DateTime.parse("2002-02-27T14:01:02");
     o.timeZone = "foo";
@@ -1024,7 +1024,7 @@
   if (buildCounterFreeBusyRequest < 3) {
     unittest.expect(o.calendarExpansionMax, unittest.equals(42));
     unittest.expect(o.groupExpansionMax, unittest.equals(42));
-    checkUnnamed683(o.items);
+    checkUnnamed711(o.items);
     unittest.expect(o.timeMax, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.timeMin, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.timeZone, unittest.equals('foo'));
@@ -1051,27 +1051,27 @@
   buildCounterFreeBusyRequestItem--;
 }
 
-buildUnnamed684() {
+buildUnnamed712() {
   var o = new core.Map<core.String, api.FreeBusyCalendar>();
   o["x"] = buildFreeBusyCalendar();
   o["y"] = buildFreeBusyCalendar();
   return o;
 }
 
-checkUnnamed684(core.Map<core.String, api.FreeBusyCalendar> o) {
+checkUnnamed712(core.Map<core.String, api.FreeBusyCalendar> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFreeBusyCalendar(o["x"]);
   checkFreeBusyCalendar(o["y"]);
 }
 
-buildUnnamed685() {
+buildUnnamed713() {
   var o = new core.Map<core.String, api.FreeBusyGroup>();
   o["x"] = buildFreeBusyGroup();
   o["y"] = buildFreeBusyGroup();
   return o;
 }
 
-checkUnnamed685(core.Map<core.String, api.FreeBusyGroup> o) {
+checkUnnamed713(core.Map<core.String, api.FreeBusyGroup> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFreeBusyGroup(o["x"]);
   checkFreeBusyGroup(o["y"]);
@@ -1082,8 +1082,8 @@
   var o = new api.FreeBusyResponse();
   buildCounterFreeBusyResponse++;
   if (buildCounterFreeBusyResponse < 3) {
-    o.calendars = buildUnnamed684();
-    o.groups = buildUnnamed685();
+    o.calendars = buildUnnamed712();
+    o.groups = buildUnnamed713();
     o.kind = "foo";
     o.timeMax = core.DateTime.parse("2002-02-27T14:01:02");
     o.timeMin = core.DateTime.parse("2002-02-27T14:01:02");
@@ -1095,8 +1095,8 @@
 checkFreeBusyResponse(api.FreeBusyResponse o) {
   buildCounterFreeBusyResponse++;
   if (buildCounterFreeBusyResponse < 3) {
-    checkUnnamed684(o.calendars);
-    checkUnnamed685(o.groups);
+    checkUnnamed712(o.calendars);
+    checkUnnamed713(o.groups);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.timeMax, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.timeMin, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -1129,14 +1129,14 @@
   buildCounterSetting--;
 }
 
-buildUnnamed686() {
+buildUnnamed714() {
   var o = new core.List<api.Setting>();
   o.add(buildSetting());
   o.add(buildSetting());
   return o;
 }
 
-checkUnnamed686(core.List<api.Setting> o) {
+checkUnnamed714(core.List<api.Setting> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSetting(o[0]);
   checkSetting(o[1]);
@@ -1148,7 +1148,7 @@
   buildCounterSettings++;
   if (buildCounterSettings < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed686();
+    o.items = buildUnnamed714();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.nextSyncToken = "foo";
@@ -1161,7 +1161,7 @@
   buildCounterSettings++;
   if (buildCounterSettings < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed686(o.items);
+    checkUnnamed714(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.nextSyncToken, unittest.equals('foo'));
@@ -1190,53 +1190,53 @@
   buildCounterTimePeriod--;
 }
 
-buildUnnamed687() {
+buildUnnamed715() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed687(core.List<core.String> o) {
+checkUnnamed715(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed688() {
+buildUnnamed716() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed688(core.List<core.String> o) {
+checkUnnamed716(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed689() {
+buildUnnamed717() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed689(core.List<core.String> o) {
+checkUnnamed717(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed690() {
+buildUnnamed718() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed690(core.List<core.String> o) {
+checkUnnamed718(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1535,8 +1535,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl/", pathOffset);
@@ -1588,8 +1590,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl/", pathOffset);
@@ -1646,8 +1650,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl", pathOffset);
@@ -1701,8 +1707,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl", pathOffset);
@@ -1761,8 +1769,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl/", pathOffset);
@@ -1820,8 +1830,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl/", pathOffset);
@@ -1882,8 +1894,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/acl/watch", pathOffset);
@@ -1941,8 +1955,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("users/me/calendarList/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1986,8 +2002,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("users/me/calendarList/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2037,8 +2055,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("users/me/calendarList"));
         pathOffset += 21;
 
@@ -2087,8 +2107,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("users/me/calendarList"));
         pathOffset += 21;
 
@@ -2142,8 +2164,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("users/me/calendarList/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2195,8 +2219,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("users/me/calendarList/"));
         pathOffset += 22;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2252,8 +2278,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("users/me/calendarList/watch"));
         pathOffset += 27;
 
@@ -2306,8 +2334,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/clear", pathOffset);
@@ -2355,8 +2385,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2400,8 +2432,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2450,8 +2484,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("calendars"));
         pathOffset += 9;
 
@@ -2498,8 +2534,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2549,8 +2587,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2603,8 +2643,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("channels/stop"));
         pathOffset += 13;
 
@@ -2648,8 +2690,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("colors"));
         pathOffset += 6;
 
@@ -2698,8 +2742,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -2755,8 +2801,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -2816,8 +2864,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/import", pathOffset);
@@ -2873,8 +2923,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events", pathOffset);
@@ -2936,8 +2988,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -3004,9 +3058,9 @@
       var arg_maxResults = 42;
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
-      var arg_privateExtendedProperty = buildUnnamed687();
+      var arg_privateExtendedProperty = buildUnnamed715();
       var arg_q = "foo";
-      var arg_sharedExtendedProperty = buildUnnamed688();
+      var arg_sharedExtendedProperty = buildUnnamed716();
       var arg_showDeleted = true;
       var arg_showHiddenInvitations = true;
       var arg_singleEvents = true;
@@ -3020,8 +3074,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events", pathOffset);
@@ -3091,8 +3147,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -3159,8 +3217,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -3218,8 +3278,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/quickAdd", pathOffset);
@@ -3279,8 +3341,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/", pathOffset);
@@ -3338,9 +3402,9 @@
       var arg_maxResults = 42;
       var arg_orderBy = "foo";
       var arg_pageToken = "foo";
-      var arg_privateExtendedProperty = buildUnnamed689();
+      var arg_privateExtendedProperty = buildUnnamed717();
       var arg_q = "foo";
-      var arg_sharedExtendedProperty = buildUnnamed690();
+      var arg_sharedExtendedProperty = buildUnnamed718();
       var arg_showDeleted = true;
       var arg_showHiddenInvitations = true;
       var arg_singleEvents = true;
@@ -3357,8 +3421,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("calendars/"));
         pathOffset += 10;
         index = path.indexOf("/events/watch", pathOffset);
@@ -3432,8 +3498,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("freeBusy"));
         pathOffset += 8;
 
@@ -3480,8 +3548,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("users/me/settings/"));
         pathOffset += 18;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3529,8 +3599,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("users/me/settings"));
         pathOffset += 17;
 
@@ -3582,8 +3654,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/calendar/v3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("calendar/v3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("users/me/settings/watch"));
         pathOffset += 23;
 
diff --git a/generated/googleapis/test/civicinfo/us_v1_test.dart b/generated/googleapis/test/civicinfo/us_v1_test.dart
index e852db4..3030091 100644
--- a/generated/googleapis/test/civicinfo/us_v1_test.dart
+++ b/generated/googleapis/test/civicinfo/us_v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed781() {
+buildUnnamed809() {
   var o = new core.List<api.Source>();
   o.add(buildSource());
   o.add(buildSource());
   return o;
 }
 
-checkUnnamed781(core.List<api.Source> o) {
+checkUnnamed809(core.List<api.Source> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSource(o[0]);
   checkSource(o[1]);
@@ -38,7 +38,7 @@
     o.id = "foo";
     o.localJurisdiction = buildAdministrationRegion();
     o.name = "foo";
-    o.sources = buildUnnamed781();
+    o.sources = buildUnnamed809();
   }
   buildCounterAdministrationRegion--;
   return o;
@@ -51,32 +51,32 @@
     unittest.expect(o.id, unittest.equals('foo'));
     checkAdministrationRegion(o.localJurisdiction);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed781(o.sources);
+    checkUnnamed809(o.sources);
   }
   buildCounterAdministrationRegion--;
 }
 
-buildUnnamed782() {
+buildUnnamed810() {
   var o = new core.List<api.ElectionOfficial>();
   o.add(buildElectionOfficial());
   o.add(buildElectionOfficial());
   return o;
 }
 
-checkUnnamed782(core.List<api.ElectionOfficial> o) {
+checkUnnamed810(core.List<api.ElectionOfficial> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkElectionOfficial(o[0]);
   checkElectionOfficial(o[1]);
 }
 
-buildUnnamed783() {
+buildUnnamed811() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed783(core.List<core.String> o) {
+checkUnnamed811(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -91,14 +91,14 @@
     o.ballotInfoUrl = "foo";
     o.correspondenceAddress = buildSimpleAddressType();
     o.electionInfoUrl = "foo";
-    o.electionOfficials = buildUnnamed782();
+    o.electionOfficials = buildUnnamed810();
     o.electionRegistrationConfirmationUrl = "foo";
     o.electionRegistrationUrl = "foo";
     o.electionRulesUrl = "foo";
     o.hoursOfOperation = "foo";
     o.name = "foo";
     o.physicalAddress = buildSimpleAddressType();
-    o.voterServices = buildUnnamed783();
+    o.voterServices = buildUnnamed811();
     o.votingLocationFinderUrl = "foo";
   }
   buildCounterAdministrativeBody--;
@@ -112,27 +112,27 @@
     unittest.expect(o.ballotInfoUrl, unittest.equals('foo'));
     checkSimpleAddressType(o.correspondenceAddress);
     unittest.expect(o.electionInfoUrl, unittest.equals('foo'));
-    checkUnnamed782(o.electionOfficials);
+    checkUnnamed810(o.electionOfficials);
     unittest.expect(o.electionRegistrationConfirmationUrl, unittest.equals('foo'));
     unittest.expect(o.electionRegistrationUrl, unittest.equals('foo'));
     unittest.expect(o.electionRulesUrl, unittest.equals('foo'));
     unittest.expect(o.hoursOfOperation, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     checkSimpleAddressType(o.physicalAddress);
-    checkUnnamed783(o.voterServices);
+    checkUnnamed811(o.voterServices);
     unittest.expect(o.votingLocationFinderUrl, unittest.equals('foo'));
   }
   buildCounterAdministrativeBody--;
 }
 
-buildUnnamed784() {
+buildUnnamed812() {
   var o = new core.List<api.Channel>();
   o.add(buildChannel());
   o.add(buildChannel());
   return o;
 }
 
-checkUnnamed784(core.List<api.Channel> o) {
+checkUnnamed812(core.List<api.Channel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChannel(o[0]);
   checkChannel(o[1]);
@@ -144,7 +144,7 @@
   buildCounterCandidate++;
   if (buildCounterCandidate < 3) {
     o.candidateUrl = "foo";
-    o.channels = buildUnnamed784();
+    o.channels = buildUnnamed812();
     o.email = "foo";
     o.name = "foo";
     o.orderOnBallot = "foo";
@@ -160,7 +160,7 @@
   buildCounterCandidate++;
   if (buildCounterCandidate < 3) {
     unittest.expect(o.candidateUrl, unittest.equals('foo'));
-    checkUnnamed784(o.channels);
+    checkUnnamed812(o.channels);
     unittest.expect(o.email, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.orderOnBallot, unittest.equals('foo'));
@@ -192,27 +192,27 @@
   buildCounterChannel--;
 }
 
-buildUnnamed785() {
+buildUnnamed813() {
   var o = new core.List<api.Candidate>();
   o.add(buildCandidate());
   o.add(buildCandidate());
   return o;
 }
 
-checkUnnamed785(core.List<api.Candidate> o) {
+checkUnnamed813(core.List<api.Candidate> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCandidate(o[0]);
   checkCandidate(o[1]);
 }
 
-buildUnnamed786() {
+buildUnnamed814() {
   var o = new core.List<api.Source>();
   o.add(buildSource());
   o.add(buildSource());
   return o;
 }
 
-checkUnnamed786(core.List<api.Source> o) {
+checkUnnamed814(core.List<api.Source> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSource(o[0]);
   checkSource(o[1]);
@@ -224,7 +224,7 @@
   buildCounterContest++;
   if (buildCounterContest < 3) {
     o.ballotPlacement = "foo";
-    o.candidates = buildUnnamed785();
+    o.candidates = buildUnnamed813();
     o.district = buildElectoralDistrict();
     o.electorateSpecifications = "foo";
     o.id = "foo";
@@ -236,7 +236,7 @@
     o.referendumSubtitle = "foo";
     o.referendumTitle = "foo";
     o.referendumUrl = "foo";
-    o.sources = buildUnnamed786();
+    o.sources = buildUnnamed814();
     o.special = "foo";
     o.type = "foo";
   }
@@ -248,7 +248,7 @@
   buildCounterContest++;
   if (buildCounterContest < 3) {
     unittest.expect(o.ballotPlacement, unittest.equals('foo'));
-    checkUnnamed785(o.candidates);
+    checkUnnamed813(o.candidates);
     checkElectoralDistrict(o.district);
     unittest.expect(o.electorateSpecifications, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
@@ -260,21 +260,21 @@
     unittest.expect(o.referendumSubtitle, unittest.equals('foo'));
     unittest.expect(o.referendumTitle, unittest.equals('foo'));
     unittest.expect(o.referendumUrl, unittest.equals('foo'));
-    checkUnnamed786(o.sources);
+    checkUnnamed814(o.sources);
     unittest.expect(o.special, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterContest--;
 }
 
-buildUnnamed787() {
+buildUnnamed815() {
   var o = new core.List<api.DivisionSearchResult>();
   o.add(buildDivisionSearchResult());
   o.add(buildDivisionSearchResult());
   return o;
 }
 
-checkUnnamed787(core.List<api.DivisionSearchResult> o) {
+checkUnnamed815(core.List<api.DivisionSearchResult> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDivisionSearchResult(o[0]);
   checkDivisionSearchResult(o[1]);
@@ -286,7 +286,7 @@
   buildCounterDivisionSearchResponse++;
   if (buildCounterDivisionSearchResponse < 3) {
     o.kind = "foo";
-    o.results = buildUnnamed787();
+    o.results = buildUnnamed815();
     o.status = "foo";
   }
   buildCounterDivisionSearchResponse--;
@@ -297,20 +297,20 @@
   buildCounterDivisionSearchResponse++;
   if (buildCounterDivisionSearchResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed787(o.results);
+    checkUnnamed815(o.results);
     unittest.expect(o.status, unittest.equals('foo'));
   }
   buildCounterDivisionSearchResponse--;
 }
 
-buildUnnamed788() {
+buildUnnamed816() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed788(core.List<core.String> o) {
+checkUnnamed816(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -321,7 +321,7 @@
   var o = new api.DivisionSearchResult();
   buildCounterDivisionSearchResult++;
   if (buildCounterDivisionSearchResult < 3) {
-    o.aliases = buildUnnamed788();
+    o.aliases = buildUnnamed816();
     o.name = "foo";
     o.ocdId = "foo";
   }
@@ -332,7 +332,7 @@
 checkDivisionSearchResult(api.DivisionSearchResult o) {
   buildCounterDivisionSearchResult++;
   if (buildCounterDivisionSearchResult < 3) {
-    checkUnnamed788(o.aliases);
+    checkUnnamed816(o.aliases);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.ocdId, unittest.equals('foo'));
   }
@@ -389,14 +389,14 @@
   buildCounterElectionOfficial--;
 }
 
-buildUnnamed789() {
+buildUnnamed817() {
   var o = new core.List<api.Election>();
   o.add(buildElection());
   o.add(buildElection());
   return o;
 }
 
-checkUnnamed789(core.List<api.Election> o) {
+checkUnnamed817(core.List<api.Election> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkElection(o[0]);
   checkElection(o[1]);
@@ -407,7 +407,7 @@
   var o = new api.ElectionsQueryResponse();
   buildCounterElectionsQueryResponse++;
   if (buildCounterElectionsQueryResponse < 3) {
-    o.elections = buildUnnamed789();
+    o.elections = buildUnnamed817();
     o.kind = "foo";
   }
   buildCounterElectionsQueryResponse--;
@@ -417,7 +417,7 @@
 checkElectionsQueryResponse(api.ElectionsQueryResponse o) {
   buildCounterElectionsQueryResponse++;
   if (buildCounterElectionsQueryResponse < 3) {
-    checkUnnamed789(o.elections);
+    checkUnnamed817(o.elections);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterElectionsQueryResponse--;
@@ -446,27 +446,27 @@
   buildCounterElectoralDistrict--;
 }
 
-buildUnnamed790() {
+buildUnnamed818() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed790(core.List<core.String> o) {
+checkUnnamed818(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed791() {
+buildUnnamed819() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed791(core.List<core.String> o) {
+checkUnnamed819(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -477,9 +477,9 @@
   var o = new api.GeographicDivision();
   buildCounterGeographicDivision++;
   if (buildCounterGeographicDivision < 3) {
-    o.alsoKnownAs = buildUnnamed790();
+    o.alsoKnownAs = buildUnnamed818();
     o.name = "foo";
-    o.officeIds = buildUnnamed791();
+    o.officeIds = buildUnnamed819();
     o.scope = "foo";
   }
   buildCounterGeographicDivision--;
@@ -489,35 +489,35 @@
 checkGeographicDivision(api.GeographicDivision o) {
   buildCounterGeographicDivision++;
   if (buildCounterGeographicDivision < 3) {
-    checkUnnamed790(o.alsoKnownAs);
+    checkUnnamed818(o.alsoKnownAs);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed791(o.officeIds);
+    checkUnnamed819(o.officeIds);
     unittest.expect(o.scope, unittest.equals('foo'));
   }
   buildCounterGeographicDivision--;
 }
 
-buildUnnamed792() {
+buildUnnamed820() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed792(core.List<core.String> o) {
+checkUnnamed820(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed793() {
+buildUnnamed821() {
   var o = new core.List<api.Source>();
   o.add(buildSource());
   o.add(buildSource());
   return o;
 }
 
-checkUnnamed793(core.List<api.Source> o) {
+checkUnnamed821(core.List<api.Source> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSource(o[0]);
   checkSource(o[1]);
@@ -531,8 +531,8 @@
     o.divisionId = "foo";
     o.level = "foo";
     o.name = "foo";
-    o.officialIds = buildUnnamed792();
-    o.sources = buildUnnamed793();
+    o.officialIds = buildUnnamed820();
+    o.sources = buildUnnamed821();
   }
   buildCounterOffice--;
   return o;
@@ -544,72 +544,72 @@
     unittest.expect(o.divisionId, unittest.equals('foo'));
     unittest.expect(o.level, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed792(o.officialIds);
-    checkUnnamed793(o.sources);
+    checkUnnamed820(o.officialIds);
+    checkUnnamed821(o.sources);
   }
   buildCounterOffice--;
 }
 
-buildUnnamed794() {
+buildUnnamed822() {
   var o = new core.List<api.SimpleAddressType>();
   o.add(buildSimpleAddressType());
   o.add(buildSimpleAddressType());
   return o;
 }
 
-checkUnnamed794(core.List<api.SimpleAddressType> o) {
+checkUnnamed822(core.List<api.SimpleAddressType> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSimpleAddressType(o[0]);
   checkSimpleAddressType(o[1]);
 }
 
-buildUnnamed795() {
+buildUnnamed823() {
   var o = new core.List<api.Channel>();
   o.add(buildChannel());
   o.add(buildChannel());
   return o;
 }
 
-checkUnnamed795(core.List<api.Channel> o) {
+checkUnnamed823(core.List<api.Channel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChannel(o[0]);
   checkChannel(o[1]);
 }
 
-buildUnnamed796() {
+buildUnnamed824() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed796(core.List<core.String> o) {
+checkUnnamed824(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed797() {
+buildUnnamed825() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed797(core.List<core.String> o) {
+checkUnnamed825(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed798() {
+buildUnnamed826() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed798(core.List<core.String> o) {
+checkUnnamed826(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -620,14 +620,14 @@
   var o = new api.Official();
   buildCounterOfficial++;
   if (buildCounterOfficial < 3) {
-    o.address = buildUnnamed794();
-    o.channels = buildUnnamed795();
-    o.emails = buildUnnamed796();
+    o.address = buildUnnamed822();
+    o.channels = buildUnnamed823();
+    o.emails = buildUnnamed824();
     o.name = "foo";
     o.party = "foo";
-    o.phones = buildUnnamed797();
+    o.phones = buildUnnamed825();
     o.photoUrl = "foo";
-    o.urls = buildUnnamed798();
+    o.urls = buildUnnamed826();
   }
   buildCounterOfficial--;
   return o;
@@ -636,26 +636,26 @@
 checkOfficial(api.Official o) {
   buildCounterOfficial++;
   if (buildCounterOfficial < 3) {
-    checkUnnamed794(o.address);
-    checkUnnamed795(o.channels);
-    checkUnnamed796(o.emails);
+    checkUnnamed822(o.address);
+    checkUnnamed823(o.channels);
+    checkUnnamed824(o.emails);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.party, unittest.equals('foo'));
-    checkUnnamed797(o.phones);
+    checkUnnamed825(o.phones);
     unittest.expect(o.photoUrl, unittest.equals('foo'));
-    checkUnnamed798(o.urls);
+    checkUnnamed826(o.urls);
   }
   buildCounterOfficial--;
 }
 
-buildUnnamed799() {
+buildUnnamed827() {
   var o = new core.List<api.Source>();
   o.add(buildSource());
   o.add(buildSource());
   return o;
 }
 
-checkUnnamed799(core.List<api.Source> o) {
+checkUnnamed827(core.List<api.Source> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSource(o[0]);
   checkSource(o[1]);
@@ -672,7 +672,7 @@
     o.name = "foo";
     o.notes = "foo";
     o.pollingHours = "foo";
-    o.sources = buildUnnamed799();
+    o.sources = buildUnnamed827();
     o.startDate = "foo";
     o.voterServices = "foo";
   }
@@ -689,7 +689,7 @@
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.notes, unittest.equals('foo'));
     unittest.expect(o.pollingHours, unittest.equals('foo'));
-    checkUnnamed799(o.sources);
+    checkUnnamed827(o.sources);
     unittest.expect(o.startDate, unittest.equals('foo'));
     unittest.expect(o.voterServices, unittest.equals('foo'));
   }
@@ -715,40 +715,40 @@
   buildCounterRepresentativeInfoRequest--;
 }
 
-buildUnnamed800() {
+buildUnnamed828() {
   var o = new core.Map<core.String, api.GeographicDivision>();
   o["x"] = buildGeographicDivision();
   o["y"] = buildGeographicDivision();
   return o;
 }
 
-checkUnnamed800(core.Map<core.String, api.GeographicDivision> o) {
+checkUnnamed828(core.Map<core.String, api.GeographicDivision> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGeographicDivision(o["x"]);
   checkGeographicDivision(o["y"]);
 }
 
-buildUnnamed801() {
+buildUnnamed829() {
   var o = new core.Map<core.String, api.Office>();
   o["x"] = buildOffice();
   o["y"] = buildOffice();
   return o;
 }
 
-checkUnnamed801(core.Map<core.String, api.Office> o) {
+checkUnnamed829(core.Map<core.String, api.Office> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOffice(o["x"]);
   checkOffice(o["y"]);
 }
 
-buildUnnamed802() {
+buildUnnamed830() {
   var o = new core.Map<core.String, api.Official>();
   o["x"] = buildOfficial();
   o["y"] = buildOfficial();
   return o;
 }
 
-checkUnnamed802(core.Map<core.String, api.Official> o) {
+checkUnnamed830(core.Map<core.String, api.Official> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOfficial(o["x"]);
   checkOfficial(o["y"]);
@@ -759,11 +759,11 @@
   var o = new api.RepresentativeInfoResponse();
   buildCounterRepresentativeInfoResponse++;
   if (buildCounterRepresentativeInfoResponse < 3) {
-    o.divisions = buildUnnamed800();
+    o.divisions = buildUnnamed828();
     o.kind = "foo";
     o.normalizedInput = buildSimpleAddressType();
-    o.offices = buildUnnamed801();
-    o.officials = buildUnnamed802();
+    o.offices = buildUnnamed829();
+    o.officials = buildUnnamed830();
     o.status = "foo";
   }
   buildCounterRepresentativeInfoResponse--;
@@ -773,11 +773,11 @@
 checkRepresentativeInfoResponse(api.RepresentativeInfoResponse o) {
   buildCounterRepresentativeInfoResponse++;
   if (buildCounterRepresentativeInfoResponse < 3) {
-    checkUnnamed800(o.divisions);
+    checkUnnamed828(o.divisions);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkSimpleAddressType(o.normalizedInput);
-    checkUnnamed801(o.offices);
-    checkUnnamed802(o.officials);
+    checkUnnamed829(o.offices);
+    checkUnnamed830(o.officials);
     unittest.expect(o.status, unittest.equals('foo'));
   }
   buildCounterRepresentativeInfoResponse--;
@@ -854,53 +854,53 @@
   buildCounterVoterInfoRequest--;
 }
 
-buildUnnamed803() {
+buildUnnamed831() {
   var o = new core.List<api.Contest>();
   o.add(buildContest());
   o.add(buildContest());
   return o;
 }
 
-checkUnnamed803(core.List<api.Contest> o) {
+checkUnnamed831(core.List<api.Contest> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkContest(o[0]);
   checkContest(o[1]);
 }
 
-buildUnnamed804() {
+buildUnnamed832() {
   var o = new core.List<api.PollingLocation>();
   o.add(buildPollingLocation());
   o.add(buildPollingLocation());
   return o;
 }
 
-checkUnnamed804(core.List<api.PollingLocation> o) {
+checkUnnamed832(core.List<api.PollingLocation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPollingLocation(o[0]);
   checkPollingLocation(o[1]);
 }
 
-buildUnnamed805() {
+buildUnnamed833() {
   var o = new core.List<api.PollingLocation>();
   o.add(buildPollingLocation());
   o.add(buildPollingLocation());
   return o;
 }
 
-checkUnnamed805(core.List<api.PollingLocation> o) {
+checkUnnamed833(core.List<api.PollingLocation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPollingLocation(o[0]);
   checkPollingLocation(o[1]);
 }
 
-buildUnnamed806() {
+buildUnnamed834() {
   var o = new core.List<api.AdministrationRegion>();
   o.add(buildAdministrationRegion());
   o.add(buildAdministrationRegion());
   return o;
 }
 
-checkUnnamed806(core.List<api.AdministrationRegion> o) {
+checkUnnamed834(core.List<api.AdministrationRegion> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAdministrationRegion(o[0]);
   checkAdministrationRegion(o[1]);
@@ -911,13 +911,13 @@
   var o = new api.VoterInfoResponse();
   buildCounterVoterInfoResponse++;
   if (buildCounterVoterInfoResponse < 3) {
-    o.contests = buildUnnamed803();
-    o.earlyVoteSites = buildUnnamed804();
+    o.contests = buildUnnamed831();
+    o.earlyVoteSites = buildUnnamed832();
     o.election = buildElection();
     o.kind = "foo";
     o.normalizedInput = buildSimpleAddressType();
-    o.pollingLocations = buildUnnamed805();
-    o.state = buildUnnamed806();
+    o.pollingLocations = buildUnnamed833();
+    o.state = buildUnnamed834();
     o.status = "foo";
   }
   buildCounterVoterInfoResponse--;
@@ -927,13 +927,13 @@
 checkVoterInfoResponse(api.VoterInfoResponse o) {
   buildCounterVoterInfoResponse++;
   if (buildCounterVoterInfoResponse < 3) {
-    checkUnnamed803(o.contests);
-    checkUnnamed804(o.earlyVoteSites);
+    checkUnnamed831(o.contests);
+    checkUnnamed832(o.earlyVoteSites);
     checkElection(o.election);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkSimpleAddressType(o.normalizedInput);
-    checkUnnamed805(o.pollingLocations);
-    checkUnnamed806(o.state);
+    checkUnnamed833(o.pollingLocations);
+    checkUnnamed834(o.state);
     unittest.expect(o.status, unittest.equals('foo'));
   }
   buildCounterVoterInfoResponse--;
@@ -1141,8 +1141,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/civicinfo/us_v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("civicinfo/us_v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 31), unittest.equals("representatives/division_search"));
         pathOffset += 31;
 
@@ -1189,8 +1191,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/civicinfo/us_v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("civicinfo/us_v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("elections"));
         pathOffset += 9;
 
@@ -1238,8 +1242,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/civicinfo/us_v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("civicinfo/us_v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("voterinfo/"));
         pathOffset += 10;
         index = path.indexOf("/lookup", pathOffset);
@@ -1300,8 +1306,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/civicinfo/us_v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("civicinfo/us_v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("representatives/lookup"));
         pathOffset += 22;
 
diff --git a/generated/googleapis/test/civicinfo/v1_test.dart b/generated/googleapis/test/civicinfo/v1_test.dart
index 433190b..58d9291 100644
--- a/generated/googleapis/test/civicinfo/v1_test.dart
+++ b/generated/googleapis/test/civicinfo/v1_test.dart
@@ -1141,8 +1141,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/civicinfo/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("civicinfo/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 31), unittest.equals("representatives/division_search"));
         pathOffset += 31;
 
@@ -1189,8 +1191,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/civicinfo/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("civicinfo/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("elections"));
         pathOffset += 9;
 
@@ -1238,8 +1242,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/civicinfo/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("civicinfo/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("voterinfo/"));
         pathOffset += 10;
         index = path.indexOf("/lookup", pathOffset);
@@ -1300,8 +1306,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/civicinfo/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("civicinfo/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("representatives/lookup"));
         pathOffset += 22;
 
diff --git a/generated/googleapis/test/common/common_internal_test.dart b/generated/googleapis/test/common/common_internal_test.dart
index afae3ba..54fd309 100644
--- a/generated/googleapis/test/common/common_internal_test.dart
+++ b/generated/googleapis/test/common/common_internal_test.dart
@@ -7,6 +7,7 @@
 import 'package:googleapis/src/common_internal.dart';
 import 'package:http/http.dart' as http;
 import 'package:unittest/unittest.dart';
+
 class HttpServerMock extends http.BaseClient {
   Function _callback;
   bool _expectJson;
@@ -307,7 +308,7 @@
       setUp(() {
         httpMock = new HttpServerMock();
         rootUrl = 'http://example.com/';
-        basePath = '/base/';
+        basePath = 'base/';
         requester = new ApiRequester(httpMock, rootUrl, basePath);
       });
 
@@ -731,6 +732,17 @@
                      1024*1024], false);
           });
 
+          test('length-big-block-parts-non-divisible', () {
+            runTest(1, 1024 * 1024 + 1,
+                    [1,
+                     256*1024-1,
+                     256*1024,
+                     256*1024+1,
+                     1024*1024-1,
+                     1024*1024,
+                     1024*1024+1], false);
+          });
+
           test('stream-small-block', () {
             runTest(1, 10, [10], true);
           });
diff --git a/generated/googleapis/test/compute/v1_test.dart b/generated/googleapis/test/compute/v1_test.dart
index 24ba5a1..6cfbefb 100644
--- a/generated/googleapis/test/compute/v1_test.dart
+++ b/generated/googleapis/test/compute/v1_test.dart
@@ -41,14 +41,14 @@
   buildCounterAccessConfig--;
 }
 
-buildUnnamed839() {
+buildUnnamed867() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed839(core.List<core.String> o) {
+checkUnnamed867(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -68,7 +68,7 @@
     o.region = "foo";
     o.selfLink = "foo";
     o.status = "foo";
-    o.users = buildUnnamed839();
+    o.users = buildUnnamed867();
   }
   buildCounterAddress--;
   return o;
@@ -86,19 +86,19 @@
     unittest.expect(o.region, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
-    checkUnnamed839(o.users);
+    checkUnnamed867(o.users);
   }
   buildCounterAddress--;
 }
 
-buildUnnamed840() {
+buildUnnamed868() {
   var o = new core.Map<core.String, api.AddressesScopedList>();
   o["x"] = buildAddressesScopedList();
   o["y"] = buildAddressesScopedList();
   return o;
 }
 
-checkUnnamed840(core.Map<core.String, api.AddressesScopedList> o) {
+checkUnnamed868(core.Map<core.String, api.AddressesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAddressesScopedList(o["x"]);
   checkAddressesScopedList(o["y"]);
@@ -110,7 +110,7 @@
   buildCounterAddressAggregatedList++;
   if (buildCounterAddressAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed840();
+    o.items = buildUnnamed868();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -123,7 +123,7 @@
   buildCounterAddressAggregatedList++;
   if (buildCounterAddressAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed840(o.items);
+    checkUnnamed868(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -131,14 +131,14 @@
   buildCounterAddressAggregatedList--;
 }
 
-buildUnnamed841() {
+buildUnnamed869() {
   var o = new core.List<api.Address>();
   o.add(buildAddress());
   o.add(buildAddress());
   return o;
 }
 
-checkUnnamed841(core.List<api.Address> o) {
+checkUnnamed869(core.List<api.Address> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAddress(o[0]);
   checkAddress(o[1]);
@@ -150,7 +150,7 @@
   buildCounterAddressList++;
   if (buildCounterAddressList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed841();
+    o.items = buildUnnamed869();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -163,7 +163,7 @@
   buildCounterAddressList++;
   if (buildCounterAddressList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed841(o.items);
+    checkUnnamed869(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -171,14 +171,14 @@
   buildCounterAddressList--;
 }
 
-buildUnnamed842() {
+buildUnnamed870() {
   var o = new core.List<api.Address>();
   o.add(buildAddress());
   o.add(buildAddress());
   return o;
 }
 
-checkUnnamed842(core.List<api.Address> o) {
+checkUnnamed870(core.List<api.Address> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAddress(o[0]);
   checkAddress(o[1]);
@@ -205,14 +205,14 @@
   buildCounterAddressesScopedListWarningData--;
 }
 
-buildUnnamed843() {
+buildUnnamed871() {
   var o = new core.List<api.AddressesScopedListWarningData>();
   o.add(buildAddressesScopedListWarningData());
   o.add(buildAddressesScopedListWarningData());
   return o;
 }
 
-checkUnnamed843(core.List<api.AddressesScopedListWarningData> o) {
+checkUnnamed871(core.List<api.AddressesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAddressesScopedListWarningData(o[0]);
   checkAddressesScopedListWarningData(o[1]);
@@ -224,7 +224,7 @@
   buildCounterAddressesScopedListWarning++;
   if (buildCounterAddressesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed843();
+    o.data = buildUnnamed871();
     o.message = "foo";
   }
   buildCounterAddressesScopedListWarning--;
@@ -235,7 +235,7 @@
   buildCounterAddressesScopedListWarning++;
   if (buildCounterAddressesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed843(o.data);
+    checkUnnamed871(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterAddressesScopedListWarning--;
@@ -246,7 +246,7 @@
   var o = new api.AddressesScopedList();
   buildCounterAddressesScopedList++;
   if (buildCounterAddressesScopedList < 3) {
-    o.addresses = buildUnnamed842();
+    o.addresses = buildUnnamed870();
     o.warning = buildAddressesScopedListWarning();
   }
   buildCounterAddressesScopedList--;
@@ -256,20 +256,20 @@
 checkAddressesScopedList(api.AddressesScopedList o) {
   buildCounterAddressesScopedList++;
   if (buildCounterAddressesScopedList < 3) {
-    checkUnnamed842(o.addresses);
+    checkUnnamed870(o.addresses);
     checkAddressesScopedListWarning(o.warning);
   }
   buildCounterAddressesScopedList--;
 }
 
-buildUnnamed844() {
+buildUnnamed872() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed844(core.List<core.String> o) {
+checkUnnamed872(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -286,7 +286,7 @@
     o.index = 42;
     o.initializeParams = buildAttachedDiskInitializeParams();
     o.kind = "foo";
-    o.licenses = buildUnnamed844();
+    o.licenses = buildUnnamed872();
     o.mode = "foo";
     o.source = "foo";
     o.type = "foo";
@@ -304,7 +304,7 @@
     unittest.expect(o.index, unittest.equals(42));
     checkAttachedDiskInitializeParams(o.initializeParams);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed844(o.licenses);
+    checkUnnamed872(o.licenses);
     unittest.expect(o.mode, unittest.equals('foo'));
     unittest.expect(o.source, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
@@ -368,27 +368,27 @@
   buildCounterBackend--;
 }
 
-buildUnnamed845() {
+buildUnnamed873() {
   var o = new core.List<api.Backend>();
   o.add(buildBackend());
   o.add(buildBackend());
   return o;
 }
 
-checkUnnamed845(core.List<api.Backend> o) {
+checkUnnamed873(core.List<api.Backend> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBackend(o[0]);
   checkBackend(o[1]);
 }
 
-buildUnnamed846() {
+buildUnnamed874() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed846(core.List<core.String> o) {
+checkUnnamed874(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -399,11 +399,11 @@
   var o = new api.BackendService();
   buildCounterBackendService++;
   if (buildCounterBackendService < 3) {
-    o.backends = buildUnnamed845();
+    o.backends = buildUnnamed873();
     o.creationTimestamp = "foo";
     o.description = "foo";
     o.fingerprint = "foo";
-    o.healthChecks = buildUnnamed846();
+    o.healthChecks = buildUnnamed874();
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
@@ -420,11 +420,11 @@
 checkBackendService(api.BackendService o) {
   buildCounterBackendService++;
   if (buildCounterBackendService < 3) {
-    checkUnnamed845(o.backends);
+    checkUnnamed873(o.backends);
     unittest.expect(o.creationTimestamp, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.fingerprint, unittest.equals('foo'));
-    checkUnnamed846(o.healthChecks);
+    checkUnnamed874(o.healthChecks);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
@@ -437,14 +437,14 @@
   buildCounterBackendService--;
 }
 
-buildUnnamed847() {
+buildUnnamed875() {
   var o = new core.List<api.HealthStatus>();
   o.add(buildHealthStatus());
   o.add(buildHealthStatus());
   return o;
 }
 
-checkUnnamed847(core.List<api.HealthStatus> o) {
+checkUnnamed875(core.List<api.HealthStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthStatus(o[0]);
   checkHealthStatus(o[1]);
@@ -455,7 +455,7 @@
   var o = new api.BackendServiceGroupHealth();
   buildCounterBackendServiceGroupHealth++;
   if (buildCounterBackendServiceGroupHealth < 3) {
-    o.healthStatus = buildUnnamed847();
+    o.healthStatus = buildUnnamed875();
     o.kind = "foo";
   }
   buildCounterBackendServiceGroupHealth--;
@@ -465,20 +465,20 @@
 checkBackendServiceGroupHealth(api.BackendServiceGroupHealth o) {
   buildCounterBackendServiceGroupHealth++;
   if (buildCounterBackendServiceGroupHealth < 3) {
-    checkUnnamed847(o.healthStatus);
+    checkUnnamed875(o.healthStatus);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBackendServiceGroupHealth--;
 }
 
-buildUnnamed848() {
+buildUnnamed876() {
   var o = new core.List<api.BackendService>();
   o.add(buildBackendService());
   o.add(buildBackendService());
   return o;
 }
 
-checkUnnamed848(core.List<api.BackendService> o) {
+checkUnnamed876(core.List<api.BackendService> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBackendService(o[0]);
   checkBackendService(o[1]);
@@ -490,7 +490,7 @@
   buildCounterBackendServiceList++;
   if (buildCounterBackendServiceList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed848();
+    o.items = buildUnnamed876();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -503,7 +503,7 @@
   buildCounterBackendServiceList++;
   if (buildCounterBackendServiceList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed848(o.items);
+    checkUnnamed876(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -538,14 +538,14 @@
   buildCounterDeprecationStatus--;
 }
 
-buildUnnamed849() {
+buildUnnamed877() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed849(core.List<core.String> o) {
+checkUnnamed877(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -560,7 +560,7 @@
     o.description = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.licenses = buildUnnamed849();
+    o.licenses = buildUnnamed877();
     o.name = "foo";
     o.options = "foo";
     o.selfLink = "foo";
@@ -584,7 +584,7 @@
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed849(o.licenses);
+    checkUnnamed877(o.licenses);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.options, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -600,14 +600,14 @@
   buildCounterDisk--;
 }
 
-buildUnnamed850() {
+buildUnnamed878() {
   var o = new core.Map<core.String, api.DisksScopedList>();
   o["x"] = buildDisksScopedList();
   o["y"] = buildDisksScopedList();
   return o;
 }
 
-checkUnnamed850(core.Map<core.String, api.DisksScopedList> o) {
+checkUnnamed878(core.Map<core.String, api.DisksScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDisksScopedList(o["x"]);
   checkDisksScopedList(o["y"]);
@@ -619,7 +619,7 @@
   buildCounterDiskAggregatedList++;
   if (buildCounterDiskAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed850();
+    o.items = buildUnnamed878();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -632,7 +632,7 @@
   buildCounterDiskAggregatedList++;
   if (buildCounterDiskAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed850(o.items);
+    checkUnnamed878(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -640,14 +640,14 @@
   buildCounterDiskAggregatedList--;
 }
 
-buildUnnamed851() {
+buildUnnamed879() {
   var o = new core.List<api.Disk>();
   o.add(buildDisk());
   o.add(buildDisk());
   return o;
 }
 
-checkUnnamed851(core.List<api.Disk> o) {
+checkUnnamed879(core.List<api.Disk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDisk(o[0]);
   checkDisk(o[1]);
@@ -659,7 +659,7 @@
   buildCounterDiskList++;
   if (buildCounterDiskList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed851();
+    o.items = buildUnnamed879();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -672,7 +672,7 @@
   buildCounterDiskList++;
   if (buildCounterDiskList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed851(o.items);
+    checkUnnamed879(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -717,14 +717,14 @@
   buildCounterDiskType--;
 }
 
-buildUnnamed852() {
+buildUnnamed880() {
   var o = new core.Map<core.String, api.DiskTypesScopedList>();
   o["x"] = buildDiskTypesScopedList();
   o["y"] = buildDiskTypesScopedList();
   return o;
 }
 
-checkUnnamed852(core.Map<core.String, api.DiskTypesScopedList> o) {
+checkUnnamed880(core.Map<core.String, api.DiskTypesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDiskTypesScopedList(o["x"]);
   checkDiskTypesScopedList(o["y"]);
@@ -736,7 +736,7 @@
   buildCounterDiskTypeAggregatedList++;
   if (buildCounterDiskTypeAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed852();
+    o.items = buildUnnamed880();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -749,7 +749,7 @@
   buildCounterDiskTypeAggregatedList++;
   if (buildCounterDiskTypeAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed852(o.items);
+    checkUnnamed880(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -757,14 +757,14 @@
   buildCounterDiskTypeAggregatedList--;
 }
 
-buildUnnamed853() {
+buildUnnamed881() {
   var o = new core.List<api.DiskType>();
   o.add(buildDiskType());
   o.add(buildDiskType());
   return o;
 }
 
-checkUnnamed853(core.List<api.DiskType> o) {
+checkUnnamed881(core.List<api.DiskType> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDiskType(o[0]);
   checkDiskType(o[1]);
@@ -776,7 +776,7 @@
   buildCounterDiskTypeList++;
   if (buildCounterDiskTypeList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed853();
+    o.items = buildUnnamed881();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -789,7 +789,7 @@
   buildCounterDiskTypeList++;
   if (buildCounterDiskTypeList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed853(o.items);
+    checkUnnamed881(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -797,14 +797,14 @@
   buildCounterDiskTypeList--;
 }
 
-buildUnnamed854() {
+buildUnnamed882() {
   var o = new core.List<api.DiskType>();
   o.add(buildDiskType());
   o.add(buildDiskType());
   return o;
 }
 
-checkUnnamed854(core.List<api.DiskType> o) {
+checkUnnamed882(core.List<api.DiskType> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDiskType(o[0]);
   checkDiskType(o[1]);
@@ -831,14 +831,14 @@
   buildCounterDiskTypesScopedListWarningData--;
 }
 
-buildUnnamed855() {
+buildUnnamed883() {
   var o = new core.List<api.DiskTypesScopedListWarningData>();
   o.add(buildDiskTypesScopedListWarningData());
   o.add(buildDiskTypesScopedListWarningData());
   return o;
 }
 
-checkUnnamed855(core.List<api.DiskTypesScopedListWarningData> o) {
+checkUnnamed883(core.List<api.DiskTypesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDiskTypesScopedListWarningData(o[0]);
   checkDiskTypesScopedListWarningData(o[1]);
@@ -850,7 +850,7 @@
   buildCounterDiskTypesScopedListWarning++;
   if (buildCounterDiskTypesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed855();
+    o.data = buildUnnamed883();
     o.message = "foo";
   }
   buildCounterDiskTypesScopedListWarning--;
@@ -861,7 +861,7 @@
   buildCounterDiskTypesScopedListWarning++;
   if (buildCounterDiskTypesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed855(o.data);
+    checkUnnamed883(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterDiskTypesScopedListWarning--;
@@ -872,7 +872,7 @@
   var o = new api.DiskTypesScopedList();
   buildCounterDiskTypesScopedList++;
   if (buildCounterDiskTypesScopedList < 3) {
-    o.diskTypes = buildUnnamed854();
+    o.diskTypes = buildUnnamed882();
     o.warning = buildDiskTypesScopedListWarning();
   }
   buildCounterDiskTypesScopedList--;
@@ -882,20 +882,20 @@
 checkDiskTypesScopedList(api.DiskTypesScopedList o) {
   buildCounterDiskTypesScopedList++;
   if (buildCounterDiskTypesScopedList < 3) {
-    checkUnnamed854(o.diskTypes);
+    checkUnnamed882(o.diskTypes);
     checkDiskTypesScopedListWarning(o.warning);
   }
   buildCounterDiskTypesScopedList--;
 }
 
-buildUnnamed856() {
+buildUnnamed884() {
   var o = new core.List<api.Disk>();
   o.add(buildDisk());
   o.add(buildDisk());
   return o;
 }
 
-checkUnnamed856(core.List<api.Disk> o) {
+checkUnnamed884(core.List<api.Disk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDisk(o[0]);
   checkDisk(o[1]);
@@ -922,14 +922,14 @@
   buildCounterDisksScopedListWarningData--;
 }
 
-buildUnnamed857() {
+buildUnnamed885() {
   var o = new core.List<api.DisksScopedListWarningData>();
   o.add(buildDisksScopedListWarningData());
   o.add(buildDisksScopedListWarningData());
   return o;
 }
 
-checkUnnamed857(core.List<api.DisksScopedListWarningData> o) {
+checkUnnamed885(core.List<api.DisksScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDisksScopedListWarningData(o[0]);
   checkDisksScopedListWarningData(o[1]);
@@ -941,7 +941,7 @@
   buildCounterDisksScopedListWarning++;
   if (buildCounterDisksScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed857();
+    o.data = buildUnnamed885();
     o.message = "foo";
   }
   buildCounterDisksScopedListWarning--;
@@ -952,7 +952,7 @@
   buildCounterDisksScopedListWarning++;
   if (buildCounterDisksScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed857(o.data);
+    checkUnnamed885(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterDisksScopedListWarning--;
@@ -963,7 +963,7 @@
   var o = new api.DisksScopedList();
   buildCounterDisksScopedList++;
   if (buildCounterDisksScopedList < 3) {
-    o.disks = buildUnnamed856();
+    o.disks = buildUnnamed884();
     o.warning = buildDisksScopedListWarning();
   }
   buildCounterDisksScopedList--;
@@ -973,20 +973,20 @@
 checkDisksScopedList(api.DisksScopedList o) {
   buildCounterDisksScopedList++;
   if (buildCounterDisksScopedList < 3) {
-    checkUnnamed856(o.disks);
+    checkUnnamed884(o.disks);
     checkDisksScopedListWarning(o.warning);
   }
   buildCounterDisksScopedList--;
 }
 
-buildUnnamed858() {
+buildUnnamed886() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed858(core.List<core.String> o) {
+checkUnnamed886(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -998,7 +998,7 @@
   buildCounterFirewallAllowed++;
   if (buildCounterFirewallAllowed < 3) {
     o.IPProtocol = "foo";
-    o.ports = buildUnnamed858();
+    o.ports = buildUnnamed886();
   }
   buildCounterFirewallAllowed--;
   return o;
@@ -1008,58 +1008,58 @@
   buildCounterFirewallAllowed++;
   if (buildCounterFirewallAllowed < 3) {
     unittest.expect(o.IPProtocol, unittest.equals('foo'));
-    checkUnnamed858(o.ports);
+    checkUnnamed886(o.ports);
   }
   buildCounterFirewallAllowed--;
 }
 
-buildUnnamed859() {
+buildUnnamed887() {
   var o = new core.List<api.FirewallAllowed>();
   o.add(buildFirewallAllowed());
   o.add(buildFirewallAllowed());
   return o;
 }
 
-checkUnnamed859(core.List<api.FirewallAllowed> o) {
+checkUnnamed887(core.List<api.FirewallAllowed> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFirewallAllowed(o[0]);
   checkFirewallAllowed(o[1]);
 }
 
-buildUnnamed860() {
+buildUnnamed888() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed860(core.List<core.String> o) {
+checkUnnamed888(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed861() {
+buildUnnamed889() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed861(core.List<core.String> o) {
+checkUnnamed889(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed862() {
+buildUnnamed890() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed862(core.List<core.String> o) {
+checkUnnamed890(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1070,7 +1070,7 @@
   var o = new api.Firewall();
   buildCounterFirewall++;
   if (buildCounterFirewall < 3) {
-    o.allowed = buildUnnamed859();
+    o.allowed = buildUnnamed887();
     o.creationTimestamp = "foo";
     o.description = "foo";
     o.id = "foo";
@@ -1078,9 +1078,9 @@
     o.name = "foo";
     o.network = "foo";
     o.selfLink = "foo";
-    o.sourceRanges = buildUnnamed860();
-    o.sourceTags = buildUnnamed861();
-    o.targetTags = buildUnnamed862();
+    o.sourceRanges = buildUnnamed888();
+    o.sourceTags = buildUnnamed889();
+    o.targetTags = buildUnnamed890();
   }
   buildCounterFirewall--;
   return o;
@@ -1089,7 +1089,7 @@
 checkFirewall(api.Firewall o) {
   buildCounterFirewall++;
   if (buildCounterFirewall < 3) {
-    checkUnnamed859(o.allowed);
+    checkUnnamed887(o.allowed);
     unittest.expect(o.creationTimestamp, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
@@ -1097,21 +1097,21 @@
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.network, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
-    checkUnnamed860(o.sourceRanges);
-    checkUnnamed861(o.sourceTags);
-    checkUnnamed862(o.targetTags);
+    checkUnnamed888(o.sourceRanges);
+    checkUnnamed889(o.sourceTags);
+    checkUnnamed890(o.targetTags);
   }
   buildCounterFirewall--;
 }
 
-buildUnnamed863() {
+buildUnnamed891() {
   var o = new core.List<api.Firewall>();
   o.add(buildFirewall());
   o.add(buildFirewall());
   return o;
 }
 
-checkUnnamed863(core.List<api.Firewall> o) {
+checkUnnamed891(core.List<api.Firewall> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFirewall(o[0]);
   checkFirewall(o[1]);
@@ -1123,7 +1123,7 @@
   buildCounterFirewallList++;
   if (buildCounterFirewallList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed863();
+    o.items = buildUnnamed891();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1136,7 +1136,7 @@
   buildCounterFirewallList++;
   if (buildCounterFirewallList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed863(o.items);
+    checkUnnamed891(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1183,14 +1183,14 @@
   buildCounterForwardingRule--;
 }
 
-buildUnnamed864() {
+buildUnnamed892() {
   var o = new core.Map<core.String, api.ForwardingRulesScopedList>();
   o["x"] = buildForwardingRulesScopedList();
   o["y"] = buildForwardingRulesScopedList();
   return o;
 }
 
-checkUnnamed864(core.Map<core.String, api.ForwardingRulesScopedList> o) {
+checkUnnamed892(core.Map<core.String, api.ForwardingRulesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkForwardingRulesScopedList(o["x"]);
   checkForwardingRulesScopedList(o["y"]);
@@ -1202,7 +1202,7 @@
   buildCounterForwardingRuleAggregatedList++;
   if (buildCounterForwardingRuleAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed864();
+    o.items = buildUnnamed892();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1215,7 +1215,7 @@
   buildCounterForwardingRuleAggregatedList++;
   if (buildCounterForwardingRuleAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed864(o.items);
+    checkUnnamed892(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1223,14 +1223,14 @@
   buildCounterForwardingRuleAggregatedList--;
 }
 
-buildUnnamed865() {
+buildUnnamed893() {
   var o = new core.List<api.ForwardingRule>();
   o.add(buildForwardingRule());
   o.add(buildForwardingRule());
   return o;
 }
 
-checkUnnamed865(core.List<api.ForwardingRule> o) {
+checkUnnamed893(core.List<api.ForwardingRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkForwardingRule(o[0]);
   checkForwardingRule(o[1]);
@@ -1242,7 +1242,7 @@
   buildCounterForwardingRuleList++;
   if (buildCounterForwardingRuleList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed865();
+    o.items = buildUnnamed893();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1255,7 +1255,7 @@
   buildCounterForwardingRuleList++;
   if (buildCounterForwardingRuleList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed865(o.items);
+    checkUnnamed893(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1263,14 +1263,14 @@
   buildCounterForwardingRuleList--;
 }
 
-buildUnnamed866() {
+buildUnnamed894() {
   var o = new core.List<api.ForwardingRule>();
   o.add(buildForwardingRule());
   o.add(buildForwardingRule());
   return o;
 }
 
-checkUnnamed866(core.List<api.ForwardingRule> o) {
+checkUnnamed894(core.List<api.ForwardingRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkForwardingRule(o[0]);
   checkForwardingRule(o[1]);
@@ -1297,14 +1297,14 @@
   buildCounterForwardingRulesScopedListWarningData--;
 }
 
-buildUnnamed867() {
+buildUnnamed895() {
   var o = new core.List<api.ForwardingRulesScopedListWarningData>();
   o.add(buildForwardingRulesScopedListWarningData());
   o.add(buildForwardingRulesScopedListWarningData());
   return o;
 }
 
-checkUnnamed867(core.List<api.ForwardingRulesScopedListWarningData> o) {
+checkUnnamed895(core.List<api.ForwardingRulesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkForwardingRulesScopedListWarningData(o[0]);
   checkForwardingRulesScopedListWarningData(o[1]);
@@ -1316,7 +1316,7 @@
   buildCounterForwardingRulesScopedListWarning++;
   if (buildCounterForwardingRulesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed867();
+    o.data = buildUnnamed895();
     o.message = "foo";
   }
   buildCounterForwardingRulesScopedListWarning--;
@@ -1327,7 +1327,7 @@
   buildCounterForwardingRulesScopedListWarning++;
   if (buildCounterForwardingRulesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed867(o.data);
+    checkUnnamed895(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterForwardingRulesScopedListWarning--;
@@ -1338,7 +1338,7 @@
   var o = new api.ForwardingRulesScopedList();
   buildCounterForwardingRulesScopedList++;
   if (buildCounterForwardingRulesScopedList < 3) {
-    o.forwardingRules = buildUnnamed866();
+    o.forwardingRules = buildUnnamed894();
     o.warning = buildForwardingRulesScopedListWarning();
   }
   buildCounterForwardingRulesScopedList--;
@@ -1348,7 +1348,7 @@
 checkForwardingRulesScopedList(api.ForwardingRulesScopedList o) {
   buildCounterForwardingRulesScopedList++;
   if (buildCounterForwardingRulesScopedList < 3) {
-    checkUnnamed866(o.forwardingRules);
+    checkUnnamed894(o.forwardingRules);
     checkForwardingRulesScopedListWarning(o.warning);
   }
   buildCounterForwardingRulesScopedList--;
@@ -1398,14 +1398,14 @@
   buildCounterHealthStatus--;
 }
 
-buildUnnamed868() {
+buildUnnamed896() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed868(core.List<core.String> o) {
+checkUnnamed896(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1417,7 +1417,7 @@
   buildCounterHostRule++;
   if (buildCounterHostRule < 3) {
     o.description = "foo";
-    o.hosts = buildUnnamed868();
+    o.hosts = buildUnnamed896();
     o.pathMatcher = "foo";
   }
   buildCounterHostRule--;
@@ -1428,7 +1428,7 @@
   buildCounterHostRule++;
   if (buildCounterHostRule < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed868(o.hosts);
+    checkUnnamed896(o.hosts);
     unittest.expect(o.pathMatcher, unittest.equals('foo'));
   }
   buildCounterHostRule--;
@@ -1477,14 +1477,14 @@
   buildCounterHttpHealthCheck--;
 }
 
-buildUnnamed869() {
+buildUnnamed897() {
   var o = new core.List<api.HttpHealthCheck>();
   o.add(buildHttpHealthCheck());
   o.add(buildHttpHealthCheck());
   return o;
 }
 
-checkUnnamed869(core.List<api.HttpHealthCheck> o) {
+checkUnnamed897(core.List<api.HttpHealthCheck> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHttpHealthCheck(o[0]);
   checkHttpHealthCheck(o[1]);
@@ -1496,7 +1496,7 @@
   buildCounterHttpHealthCheckList++;
   if (buildCounterHttpHealthCheckList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed869();
+    o.items = buildUnnamed897();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1509,7 +1509,7 @@
   buildCounterHttpHealthCheckList++;
   if (buildCounterHttpHealthCheckList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed869(o.items);
+    checkUnnamed897(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1517,14 +1517,14 @@
   buildCounterHttpHealthCheckList--;
 }
 
-buildUnnamed870() {
+buildUnnamed898() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed870(core.List<core.String> o) {
+checkUnnamed898(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1565,7 +1565,7 @@
     o.diskSizeGb = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.licenses = buildUnnamed870();
+    o.licenses = buildUnnamed898();
     o.name = "foo";
     o.rawDisk = buildImageRawDisk();
     o.selfLink = "foo";
@@ -1588,7 +1588,7 @@
     unittest.expect(o.diskSizeGb, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed870(o.licenses);
+    checkUnnamed898(o.licenses);
     unittest.expect(o.name, unittest.equals('foo'));
     checkImageRawDisk(o.rawDisk);
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1600,14 +1600,14 @@
   buildCounterImage--;
 }
 
-buildUnnamed871() {
+buildUnnamed899() {
   var o = new core.List<api.Image>();
   o.add(buildImage());
   o.add(buildImage());
   return o;
 }
 
-checkUnnamed871(core.List<api.Image> o) {
+checkUnnamed899(core.List<api.Image> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkImage(o[0]);
   checkImage(o[1]);
@@ -1619,7 +1619,7 @@
   buildCounterImageList++;
   if (buildCounterImageList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed871();
+    o.items = buildUnnamed899();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1632,7 +1632,7 @@
   buildCounterImageList++;
   if (buildCounterImageList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed871(o.items);
+    checkUnnamed899(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1640,40 +1640,40 @@
   buildCounterImageList--;
 }
 
-buildUnnamed872() {
+buildUnnamed900() {
   var o = new core.List<api.AttachedDisk>();
   o.add(buildAttachedDisk());
   o.add(buildAttachedDisk());
   return o;
 }
 
-checkUnnamed872(core.List<api.AttachedDisk> o) {
+checkUnnamed900(core.List<api.AttachedDisk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAttachedDisk(o[0]);
   checkAttachedDisk(o[1]);
 }
 
-buildUnnamed873() {
+buildUnnamed901() {
   var o = new core.List<api.NetworkInterface>();
   o.add(buildNetworkInterface());
   o.add(buildNetworkInterface());
   return o;
 }
 
-checkUnnamed873(core.List<api.NetworkInterface> o) {
+checkUnnamed901(core.List<api.NetworkInterface> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNetworkInterface(o[0]);
   checkNetworkInterface(o[1]);
 }
 
-buildUnnamed874() {
+buildUnnamed902() {
   var o = new core.List<api.ServiceAccount>();
   o.add(buildServiceAccount());
   o.add(buildServiceAccount());
   return o;
 }
 
-checkUnnamed874(core.List<api.ServiceAccount> o) {
+checkUnnamed902(core.List<api.ServiceAccount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkServiceAccount(o[0]);
   checkServiceAccount(o[1]);
@@ -1687,16 +1687,16 @@
     o.canIpForward = true;
     o.creationTimestamp = "foo";
     o.description = "foo";
-    o.disks = buildUnnamed872();
+    o.disks = buildUnnamed900();
     o.id = "foo";
     o.kind = "foo";
     o.machineType = "foo";
     o.metadata = buildMetadata();
     o.name = "foo";
-    o.networkInterfaces = buildUnnamed873();
+    o.networkInterfaces = buildUnnamed901();
     o.scheduling = buildScheduling();
     o.selfLink = "foo";
-    o.serviceAccounts = buildUnnamed874();
+    o.serviceAccounts = buildUnnamed902();
     o.status = "foo";
     o.statusMessage = "foo";
     o.tags = buildTags();
@@ -1712,16 +1712,16 @@
     unittest.expect(o.canIpForward, unittest.isTrue);
     unittest.expect(o.creationTimestamp, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed872(o.disks);
+    checkUnnamed900(o.disks);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.machineType, unittest.equals('foo'));
     checkMetadata(o.metadata);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed873(o.networkInterfaces);
+    checkUnnamed901(o.networkInterfaces);
     checkScheduling(o.scheduling);
     unittest.expect(o.selfLink, unittest.equals('foo'));
-    checkUnnamed874(o.serviceAccounts);
+    checkUnnamed902(o.serviceAccounts);
     unittest.expect(o.status, unittest.equals('foo'));
     unittest.expect(o.statusMessage, unittest.equals('foo'));
     checkTags(o.tags);
@@ -1730,14 +1730,14 @@
   buildCounterInstance--;
 }
 
-buildUnnamed875() {
+buildUnnamed903() {
   var o = new core.Map<core.String, api.InstancesScopedList>();
   o["x"] = buildInstancesScopedList();
   o["y"] = buildInstancesScopedList();
   return o;
 }
 
-checkUnnamed875(core.Map<core.String, api.InstancesScopedList> o) {
+checkUnnamed903(core.Map<core.String, api.InstancesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstancesScopedList(o["x"]);
   checkInstancesScopedList(o["y"]);
@@ -1749,7 +1749,7 @@
   buildCounterInstanceAggregatedList++;
   if (buildCounterInstanceAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed875();
+    o.items = buildUnnamed903();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1762,7 +1762,7 @@
   buildCounterInstanceAggregatedList++;
   if (buildCounterInstanceAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed875(o.items);
+    checkUnnamed903(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1770,14 +1770,14 @@
   buildCounterInstanceAggregatedList--;
 }
 
-buildUnnamed876() {
+buildUnnamed904() {
   var o = new core.List<api.Instance>();
   o.add(buildInstance());
   o.add(buildInstance());
   return o;
 }
 
-checkUnnamed876(core.List<api.Instance> o) {
+checkUnnamed904(core.List<api.Instance> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstance(o[0]);
   checkInstance(o[1]);
@@ -1789,7 +1789,7 @@
   buildCounterInstanceList++;
   if (buildCounterInstanceList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed876();
+    o.items = buildUnnamed904();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1802,7 +1802,7 @@
   buildCounterInstanceList++;
   if (buildCounterInstanceList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed876(o.items);
+    checkUnnamed904(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1829,14 +1829,14 @@
   buildCounterInstanceReference--;
 }
 
-buildUnnamed877() {
+buildUnnamed905() {
   var o = new core.List<api.Instance>();
   o.add(buildInstance());
   o.add(buildInstance());
   return o;
 }
 
-checkUnnamed877(core.List<api.Instance> o) {
+checkUnnamed905(core.List<api.Instance> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstance(o[0]);
   checkInstance(o[1]);
@@ -1863,14 +1863,14 @@
   buildCounterInstancesScopedListWarningData--;
 }
 
-buildUnnamed878() {
+buildUnnamed906() {
   var o = new core.List<api.InstancesScopedListWarningData>();
   o.add(buildInstancesScopedListWarningData());
   o.add(buildInstancesScopedListWarningData());
   return o;
 }
 
-checkUnnamed878(core.List<api.InstancesScopedListWarningData> o) {
+checkUnnamed906(core.List<api.InstancesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstancesScopedListWarningData(o[0]);
   checkInstancesScopedListWarningData(o[1]);
@@ -1882,7 +1882,7 @@
   buildCounterInstancesScopedListWarning++;
   if (buildCounterInstancesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed878();
+    o.data = buildUnnamed906();
     o.message = "foo";
   }
   buildCounterInstancesScopedListWarning--;
@@ -1893,7 +1893,7 @@
   buildCounterInstancesScopedListWarning++;
   if (buildCounterInstancesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed878(o.data);
+    checkUnnamed906(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterInstancesScopedListWarning--;
@@ -1904,7 +1904,7 @@
   var o = new api.InstancesScopedList();
   buildCounterInstancesScopedList++;
   if (buildCounterInstancesScopedList < 3) {
-    o.instances = buildUnnamed877();
+    o.instances = buildUnnamed905();
     o.warning = buildInstancesScopedListWarning();
   }
   buildCounterInstancesScopedList--;
@@ -1914,7 +1914,7 @@
 checkInstancesScopedList(api.InstancesScopedList o) {
   buildCounterInstancesScopedList++;
   if (buildCounterInstancesScopedList < 3) {
-    checkUnnamed877(o.instances);
+    checkUnnamed905(o.instances);
     checkInstancesScopedListWarning(o.warning);
   }
   buildCounterInstancesScopedList--;
@@ -1964,14 +1964,14 @@
   buildCounterMachineTypeScratchDisks--;
 }
 
-buildUnnamed879() {
+buildUnnamed907() {
   var o = new core.List<api.MachineTypeScratchDisks>();
   o.add(buildMachineTypeScratchDisks());
   o.add(buildMachineTypeScratchDisks());
   return o;
 }
 
-checkUnnamed879(core.List<api.MachineTypeScratchDisks> o) {
+checkUnnamed907(core.List<api.MachineTypeScratchDisks> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMachineTypeScratchDisks(o[0]);
   checkMachineTypeScratchDisks(o[1]);
@@ -1993,7 +1993,7 @@
     o.maximumPersistentDisksSizeGb = "foo";
     o.memoryMb = 42;
     o.name = "foo";
-    o.scratchDisks = buildUnnamed879();
+    o.scratchDisks = buildUnnamed907();
     o.selfLink = "foo";
     o.zone = "foo";
   }
@@ -2015,21 +2015,21 @@
     unittest.expect(o.maximumPersistentDisksSizeGb, unittest.equals('foo'));
     unittest.expect(o.memoryMb, unittest.equals(42));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed879(o.scratchDisks);
+    checkUnnamed907(o.scratchDisks);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.zone, unittest.equals('foo'));
   }
   buildCounterMachineType--;
 }
 
-buildUnnamed880() {
+buildUnnamed908() {
   var o = new core.Map<core.String, api.MachineTypesScopedList>();
   o["x"] = buildMachineTypesScopedList();
   o["y"] = buildMachineTypesScopedList();
   return o;
 }
 
-checkUnnamed880(core.Map<core.String, api.MachineTypesScopedList> o) {
+checkUnnamed908(core.Map<core.String, api.MachineTypesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMachineTypesScopedList(o["x"]);
   checkMachineTypesScopedList(o["y"]);
@@ -2041,7 +2041,7 @@
   buildCounterMachineTypeAggregatedList++;
   if (buildCounterMachineTypeAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed880();
+    o.items = buildUnnamed908();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2054,7 +2054,7 @@
   buildCounterMachineTypeAggregatedList++;
   if (buildCounterMachineTypeAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed880(o.items);
+    checkUnnamed908(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2062,14 +2062,14 @@
   buildCounterMachineTypeAggregatedList--;
 }
 
-buildUnnamed881() {
+buildUnnamed909() {
   var o = new core.List<api.MachineType>();
   o.add(buildMachineType());
   o.add(buildMachineType());
   return o;
 }
 
-checkUnnamed881(core.List<api.MachineType> o) {
+checkUnnamed909(core.List<api.MachineType> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMachineType(o[0]);
   checkMachineType(o[1]);
@@ -2081,7 +2081,7 @@
   buildCounterMachineTypeList++;
   if (buildCounterMachineTypeList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed881();
+    o.items = buildUnnamed909();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2094,7 +2094,7 @@
   buildCounterMachineTypeList++;
   if (buildCounterMachineTypeList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed881(o.items);
+    checkUnnamed909(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2102,14 +2102,14 @@
   buildCounterMachineTypeList--;
 }
 
-buildUnnamed882() {
+buildUnnamed910() {
   var o = new core.List<api.MachineType>();
   o.add(buildMachineType());
   o.add(buildMachineType());
   return o;
 }
 
-checkUnnamed882(core.List<api.MachineType> o) {
+checkUnnamed910(core.List<api.MachineType> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMachineType(o[0]);
   checkMachineType(o[1]);
@@ -2136,14 +2136,14 @@
   buildCounterMachineTypesScopedListWarningData--;
 }
 
-buildUnnamed883() {
+buildUnnamed911() {
   var o = new core.List<api.MachineTypesScopedListWarningData>();
   o.add(buildMachineTypesScopedListWarningData());
   o.add(buildMachineTypesScopedListWarningData());
   return o;
 }
 
-checkUnnamed883(core.List<api.MachineTypesScopedListWarningData> o) {
+checkUnnamed911(core.List<api.MachineTypesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMachineTypesScopedListWarningData(o[0]);
   checkMachineTypesScopedListWarningData(o[1]);
@@ -2155,7 +2155,7 @@
   buildCounterMachineTypesScopedListWarning++;
   if (buildCounterMachineTypesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed883();
+    o.data = buildUnnamed911();
     o.message = "foo";
   }
   buildCounterMachineTypesScopedListWarning--;
@@ -2166,7 +2166,7 @@
   buildCounterMachineTypesScopedListWarning++;
   if (buildCounterMachineTypesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed883(o.data);
+    checkUnnamed911(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterMachineTypesScopedListWarning--;
@@ -2177,7 +2177,7 @@
   var o = new api.MachineTypesScopedList();
   buildCounterMachineTypesScopedList++;
   if (buildCounterMachineTypesScopedList < 3) {
-    o.machineTypes = buildUnnamed882();
+    o.machineTypes = buildUnnamed910();
     o.warning = buildMachineTypesScopedListWarning();
   }
   buildCounterMachineTypesScopedList--;
@@ -2187,7 +2187,7 @@
 checkMachineTypesScopedList(api.MachineTypesScopedList o) {
   buildCounterMachineTypesScopedList++;
   if (buildCounterMachineTypesScopedList < 3) {
-    checkUnnamed882(o.machineTypes);
+    checkUnnamed910(o.machineTypes);
     checkMachineTypesScopedListWarning(o.warning);
   }
   buildCounterMachineTypesScopedList--;
@@ -2214,14 +2214,14 @@
   buildCounterMetadataItems--;
 }
 
-buildUnnamed884() {
+buildUnnamed912() {
   var o = new core.List<api.MetadataItems>();
   o.add(buildMetadataItems());
   o.add(buildMetadataItems());
   return o;
 }
 
-checkUnnamed884(core.List<api.MetadataItems> o) {
+checkUnnamed912(core.List<api.MetadataItems> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetadataItems(o[0]);
   checkMetadataItems(o[1]);
@@ -2233,7 +2233,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     o.fingerprint = "foo";
-    o.items = buildUnnamed884();
+    o.items = buildUnnamed912();
     o.kind = "foo";
   }
   buildCounterMetadata--;
@@ -2244,7 +2244,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     unittest.expect(o.fingerprint, unittest.equals('foo'));
-    checkUnnamed884(o.items);
+    checkUnnamed912(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterMetadata--;
@@ -2283,14 +2283,14 @@
   buildCounterNetwork--;
 }
 
-buildUnnamed885() {
+buildUnnamed913() {
   var o = new core.List<api.AccessConfig>();
   o.add(buildAccessConfig());
   o.add(buildAccessConfig());
   return o;
 }
 
-checkUnnamed885(core.List<api.AccessConfig> o) {
+checkUnnamed913(core.List<api.AccessConfig> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccessConfig(o[0]);
   checkAccessConfig(o[1]);
@@ -2301,7 +2301,7 @@
   var o = new api.NetworkInterface();
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    o.accessConfigs = buildUnnamed885();
+    o.accessConfigs = buildUnnamed913();
     o.name = "foo";
     o.network = "foo";
     o.networkIP = "foo";
@@ -2313,7 +2313,7 @@
 checkNetworkInterface(api.NetworkInterface o) {
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    checkUnnamed885(o.accessConfigs);
+    checkUnnamed913(o.accessConfigs);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.network, unittest.equals('foo'));
     unittest.expect(o.networkIP, unittest.equals('foo'));
@@ -2321,14 +2321,14 @@
   buildCounterNetworkInterface--;
 }
 
-buildUnnamed886() {
+buildUnnamed914() {
   var o = new core.List<api.Network>();
   o.add(buildNetwork());
   o.add(buildNetwork());
   return o;
 }
 
-checkUnnamed886(core.List<api.Network> o) {
+checkUnnamed914(core.List<api.Network> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNetwork(o[0]);
   checkNetwork(o[1]);
@@ -2340,7 +2340,7 @@
   buildCounterNetworkList++;
   if (buildCounterNetworkList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed886();
+    o.items = buildUnnamed914();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2353,7 +2353,7 @@
   buildCounterNetworkList++;
   if (buildCounterNetworkList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed886(o.items);
+    checkUnnamed914(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2384,14 +2384,14 @@
   buildCounterOperationErrorErrors--;
 }
 
-buildUnnamed887() {
+buildUnnamed915() {
   var o = new core.List<api.OperationErrorErrors>();
   o.add(buildOperationErrorErrors());
   o.add(buildOperationErrorErrors());
   return o;
 }
 
-checkUnnamed887(core.List<api.OperationErrorErrors> o) {
+checkUnnamed915(core.List<api.OperationErrorErrors> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationErrorErrors(o[0]);
   checkOperationErrorErrors(o[1]);
@@ -2402,7 +2402,7 @@
   var o = new api.OperationError();
   buildCounterOperationError++;
   if (buildCounterOperationError < 3) {
-    o.errors = buildUnnamed887();
+    o.errors = buildUnnamed915();
   }
   buildCounterOperationError--;
   return o;
@@ -2411,7 +2411,7 @@
 checkOperationError(api.OperationError o) {
   buildCounterOperationError++;
   if (buildCounterOperationError < 3) {
-    checkUnnamed887(o.errors);
+    checkUnnamed915(o.errors);
   }
   buildCounterOperationError--;
 }
@@ -2437,14 +2437,14 @@
   buildCounterOperationWarningsData--;
 }
 
-buildUnnamed888() {
+buildUnnamed916() {
   var o = new core.List<api.OperationWarningsData>();
   o.add(buildOperationWarningsData());
   o.add(buildOperationWarningsData());
   return o;
 }
 
-checkUnnamed888(core.List<api.OperationWarningsData> o) {
+checkUnnamed916(core.List<api.OperationWarningsData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationWarningsData(o[0]);
   checkOperationWarningsData(o[1]);
@@ -2456,7 +2456,7 @@
   buildCounterOperationWarnings++;
   if (buildCounterOperationWarnings < 3) {
     o.code = "foo";
-    o.data = buildUnnamed888();
+    o.data = buildUnnamed916();
     o.message = "foo";
   }
   buildCounterOperationWarnings--;
@@ -2467,20 +2467,20 @@
   buildCounterOperationWarnings++;
   if (buildCounterOperationWarnings < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed888(o.data);
+    checkUnnamed916(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterOperationWarnings--;
 }
 
-buildUnnamed889() {
+buildUnnamed917() {
   var o = new core.List<api.OperationWarnings>();
   o.add(buildOperationWarnings());
   o.add(buildOperationWarnings());
   return o;
 }
 
-checkUnnamed889(core.List<api.OperationWarnings> o) {
+checkUnnamed917(core.List<api.OperationWarnings> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationWarnings(o[0]);
   checkOperationWarnings(o[1]);
@@ -2511,7 +2511,7 @@
     o.targetId = "foo";
     o.targetLink = "foo";
     o.user = "foo";
-    o.warnings = buildUnnamed889();
+    o.warnings = buildUnnamed917();
     o.zone = "foo";
   }
   buildCounterOperation--;
@@ -2541,20 +2541,20 @@
     unittest.expect(o.targetId, unittest.equals('foo'));
     unittest.expect(o.targetLink, unittest.equals('foo'));
     unittest.expect(o.user, unittest.equals('foo'));
-    checkUnnamed889(o.warnings);
+    checkUnnamed917(o.warnings);
     unittest.expect(o.zone, unittest.equals('foo'));
   }
   buildCounterOperation--;
 }
 
-buildUnnamed890() {
+buildUnnamed918() {
   var o = new core.Map<core.String, api.OperationsScopedList>();
   o["x"] = buildOperationsScopedList();
   o["y"] = buildOperationsScopedList();
   return o;
 }
 
-checkUnnamed890(core.Map<core.String, api.OperationsScopedList> o) {
+checkUnnamed918(core.Map<core.String, api.OperationsScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationsScopedList(o["x"]);
   checkOperationsScopedList(o["y"]);
@@ -2566,7 +2566,7 @@
   buildCounterOperationAggregatedList++;
   if (buildCounterOperationAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed890();
+    o.items = buildUnnamed918();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2579,7 +2579,7 @@
   buildCounterOperationAggregatedList++;
   if (buildCounterOperationAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed890(o.items);
+    checkUnnamed918(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2587,14 +2587,14 @@
   buildCounterOperationAggregatedList--;
 }
 
-buildUnnamed891() {
+buildUnnamed919() {
   var o = new core.List<api.Operation>();
   o.add(buildOperation());
   o.add(buildOperation());
   return o;
 }
 
-checkUnnamed891(core.List<api.Operation> o) {
+checkUnnamed919(core.List<api.Operation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperation(o[0]);
   checkOperation(o[1]);
@@ -2606,7 +2606,7 @@
   buildCounterOperationList++;
   if (buildCounterOperationList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed891();
+    o.items = buildUnnamed919();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2619,7 +2619,7 @@
   buildCounterOperationList++;
   if (buildCounterOperationList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed891(o.items);
+    checkUnnamed919(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2627,14 +2627,14 @@
   buildCounterOperationList--;
 }
 
-buildUnnamed892() {
+buildUnnamed920() {
   var o = new core.List<api.Operation>();
   o.add(buildOperation());
   o.add(buildOperation());
   return o;
 }
 
-checkUnnamed892(core.List<api.Operation> o) {
+checkUnnamed920(core.List<api.Operation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperation(o[0]);
   checkOperation(o[1]);
@@ -2661,14 +2661,14 @@
   buildCounterOperationsScopedListWarningData--;
 }
 
-buildUnnamed893() {
+buildUnnamed921() {
   var o = new core.List<api.OperationsScopedListWarningData>();
   o.add(buildOperationsScopedListWarningData());
   o.add(buildOperationsScopedListWarningData());
   return o;
 }
 
-checkUnnamed893(core.List<api.OperationsScopedListWarningData> o) {
+checkUnnamed921(core.List<api.OperationsScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationsScopedListWarningData(o[0]);
   checkOperationsScopedListWarningData(o[1]);
@@ -2680,7 +2680,7 @@
   buildCounterOperationsScopedListWarning++;
   if (buildCounterOperationsScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed893();
+    o.data = buildUnnamed921();
     o.message = "foo";
   }
   buildCounterOperationsScopedListWarning--;
@@ -2691,7 +2691,7 @@
   buildCounterOperationsScopedListWarning++;
   if (buildCounterOperationsScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed893(o.data);
+    checkUnnamed921(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterOperationsScopedListWarning--;
@@ -2702,7 +2702,7 @@
   var o = new api.OperationsScopedList();
   buildCounterOperationsScopedList++;
   if (buildCounterOperationsScopedList < 3) {
-    o.operations = buildUnnamed892();
+    o.operations = buildUnnamed920();
     o.warning = buildOperationsScopedListWarning();
   }
   buildCounterOperationsScopedList--;
@@ -2712,20 +2712,20 @@
 checkOperationsScopedList(api.OperationsScopedList o) {
   buildCounterOperationsScopedList++;
   if (buildCounterOperationsScopedList < 3) {
-    checkUnnamed892(o.operations);
+    checkUnnamed920(o.operations);
     checkOperationsScopedListWarning(o.warning);
   }
   buildCounterOperationsScopedList--;
 }
 
-buildUnnamed894() {
+buildUnnamed922() {
   var o = new core.List<api.PathRule>();
   o.add(buildPathRule());
   o.add(buildPathRule());
   return o;
 }
 
-checkUnnamed894(core.List<api.PathRule> o) {
+checkUnnamed922(core.List<api.PathRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPathRule(o[0]);
   checkPathRule(o[1]);
@@ -2739,7 +2739,7 @@
     o.defaultService = "foo";
     o.description = "foo";
     o.name = "foo";
-    o.pathRules = buildUnnamed894();
+    o.pathRules = buildUnnamed922();
   }
   buildCounterPathMatcher--;
   return o;
@@ -2751,19 +2751,19 @@
     unittest.expect(o.defaultService, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed894(o.pathRules);
+    checkUnnamed922(o.pathRules);
   }
   buildCounterPathMatcher--;
 }
 
-buildUnnamed895() {
+buildUnnamed923() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed895(core.List<core.String> o) {
+checkUnnamed923(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2774,7 +2774,7 @@
   var o = new api.PathRule();
   buildCounterPathRule++;
   if (buildCounterPathRule < 3) {
-    o.paths = buildUnnamed895();
+    o.paths = buildUnnamed923();
     o.service = "foo";
   }
   buildCounterPathRule--;
@@ -2784,20 +2784,20 @@
 checkPathRule(api.PathRule o) {
   buildCounterPathRule++;
   if (buildCounterPathRule < 3) {
-    checkUnnamed895(o.paths);
+    checkUnnamed923(o.paths);
     unittest.expect(o.service, unittest.equals('foo'));
   }
   buildCounterPathRule--;
 }
 
-buildUnnamed896() {
+buildUnnamed924() {
   var o = new core.List<api.Quota>();
   o.add(buildQuota());
   o.add(buildQuota());
   return o;
 }
 
-checkUnnamed896(core.List<api.Quota> o) {
+checkUnnamed924(core.List<api.Quota> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkQuota(o[0]);
   checkQuota(o[1]);
@@ -2814,7 +2814,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.quotas = buildUnnamed896();
+    o.quotas = buildUnnamed924();
     o.selfLink = "foo";
     o.usageExportLocation = buildUsageExportLocation();
   }
@@ -2831,7 +2831,7 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed896(o.quotas);
+    checkUnnamed924(o.quotas);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     checkUsageExportLocation(o.usageExportLocation);
   }
@@ -2861,27 +2861,27 @@
   buildCounterQuota--;
 }
 
-buildUnnamed897() {
+buildUnnamed925() {
   var o = new core.List<api.Quota>();
   o.add(buildQuota());
   o.add(buildQuota());
   return o;
 }
 
-checkUnnamed897(core.List<api.Quota> o) {
+checkUnnamed925(core.List<api.Quota> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkQuota(o[0]);
   checkQuota(o[1]);
 }
 
-buildUnnamed898() {
+buildUnnamed926() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed898(core.List<core.String> o) {
+checkUnnamed926(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2898,10 +2898,10 @@
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.quotas = buildUnnamed897();
+    o.quotas = buildUnnamed925();
     o.selfLink = "foo";
     o.status = "foo";
-    o.zones = buildUnnamed898();
+    o.zones = buildUnnamed926();
   }
   buildCounterRegion--;
   return o;
@@ -2916,22 +2916,22 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed897(o.quotas);
+    checkUnnamed925(o.quotas);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
-    checkUnnamed898(o.zones);
+    checkUnnamed926(o.zones);
   }
   buildCounterRegion--;
 }
 
-buildUnnamed899() {
+buildUnnamed927() {
   var o = new core.List<api.Region>();
   o.add(buildRegion());
   o.add(buildRegion());
   return o;
 }
 
-checkUnnamed899(core.List<api.Region> o) {
+checkUnnamed927(core.List<api.Region> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRegion(o[0]);
   checkRegion(o[1]);
@@ -2943,7 +2943,7 @@
   buildCounterRegionList++;
   if (buildCounterRegionList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed899();
+    o.items = buildUnnamed927();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -2956,7 +2956,7 @@
   buildCounterRegionList++;
   if (buildCounterRegionList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed899(o.items);
+    checkUnnamed927(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -2983,14 +2983,14 @@
   buildCounterResourceGroupReference--;
 }
 
-buildUnnamed900() {
+buildUnnamed928() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed900(core.List<core.String> o) {
+checkUnnamed928(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3017,14 +3017,14 @@
   buildCounterRouteWarningsData--;
 }
 
-buildUnnamed901() {
+buildUnnamed929() {
   var o = new core.List<api.RouteWarningsData>();
   o.add(buildRouteWarningsData());
   o.add(buildRouteWarningsData());
   return o;
 }
 
-checkUnnamed901(core.List<api.RouteWarningsData> o) {
+checkUnnamed929(core.List<api.RouteWarningsData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRouteWarningsData(o[0]);
   checkRouteWarningsData(o[1]);
@@ -3036,7 +3036,7 @@
   buildCounterRouteWarnings++;
   if (buildCounterRouteWarnings < 3) {
     o.code = "foo";
-    o.data = buildUnnamed901();
+    o.data = buildUnnamed929();
     o.message = "foo";
   }
   buildCounterRouteWarnings--;
@@ -3047,20 +3047,20 @@
   buildCounterRouteWarnings++;
   if (buildCounterRouteWarnings < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed901(o.data);
+    checkUnnamed929(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterRouteWarnings--;
 }
 
-buildUnnamed902() {
+buildUnnamed930() {
   var o = new core.List<api.RouteWarnings>();
   o.add(buildRouteWarnings());
   o.add(buildRouteWarnings());
   return o;
 }
 
-checkUnnamed902(core.List<api.RouteWarnings> o) {
+checkUnnamed930(core.List<api.RouteWarnings> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRouteWarnings(o[0]);
   checkRouteWarnings(o[1]);
@@ -3084,8 +3084,8 @@
     o.nextHopNetwork = "foo";
     o.priority = 42;
     o.selfLink = "foo";
-    o.tags = buildUnnamed900();
-    o.warnings = buildUnnamed902();
+    o.tags = buildUnnamed928();
+    o.warnings = buildUnnamed930();
   }
   buildCounterRoute--;
   return o;
@@ -3107,20 +3107,20 @@
     unittest.expect(o.nextHopNetwork, unittest.equals('foo'));
     unittest.expect(o.priority, unittest.equals(42));
     unittest.expect(o.selfLink, unittest.equals('foo'));
-    checkUnnamed900(o.tags);
-    checkUnnamed902(o.warnings);
+    checkUnnamed928(o.tags);
+    checkUnnamed930(o.warnings);
   }
   buildCounterRoute--;
 }
 
-buildUnnamed903() {
+buildUnnamed931() {
   var o = new core.List<api.Route>();
   o.add(buildRoute());
   o.add(buildRoute());
   return o;
 }
 
-checkUnnamed903(core.List<api.Route> o) {
+checkUnnamed931(core.List<api.Route> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRoute(o[0]);
   checkRoute(o[1]);
@@ -3132,7 +3132,7 @@
   buildCounterRouteList++;
   if (buildCounterRouteList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed903();
+    o.items = buildUnnamed931();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3145,7 +3145,7 @@
   buildCounterRouteList++;
   if (buildCounterRouteList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed903(o.items);
+    checkUnnamed931(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3197,14 +3197,14 @@
   buildCounterSerialPortOutput--;
 }
 
-buildUnnamed904() {
+buildUnnamed932() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed904(core.List<core.String> o) {
+checkUnnamed932(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3216,7 +3216,7 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     o.email = "foo";
-    o.scopes = buildUnnamed904();
+    o.scopes = buildUnnamed932();
   }
   buildCounterServiceAccount--;
   return o;
@@ -3226,19 +3226,19 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     unittest.expect(o.email, unittest.equals('foo'));
-    checkUnnamed904(o.scopes);
+    checkUnnamed932(o.scopes);
   }
   buildCounterServiceAccount--;
 }
 
-buildUnnamed905() {
+buildUnnamed933() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed905(core.List<core.String> o) {
+checkUnnamed933(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3254,7 +3254,7 @@
     o.diskSizeGb = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.licenses = buildUnnamed905();
+    o.licenses = buildUnnamed933();
     o.name = "foo";
     o.selfLink = "foo";
     o.sourceDisk = "foo";
@@ -3275,7 +3275,7 @@
     unittest.expect(o.diskSizeGb, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed905(o.licenses);
+    checkUnnamed933(o.licenses);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.sourceDisk, unittest.equals('foo'));
@@ -3287,14 +3287,14 @@
   buildCounterSnapshot--;
 }
 
-buildUnnamed906() {
+buildUnnamed934() {
   var o = new core.List<api.Snapshot>();
   o.add(buildSnapshot());
   o.add(buildSnapshot());
   return o;
 }
 
-checkUnnamed906(core.List<api.Snapshot> o) {
+checkUnnamed934(core.List<api.Snapshot> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSnapshot(o[0]);
   checkSnapshot(o[1]);
@@ -3306,7 +3306,7 @@
   buildCounterSnapshotList++;
   if (buildCounterSnapshotList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed906();
+    o.items = buildUnnamed934();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3319,7 +3319,7 @@
   buildCounterSnapshotList++;
   if (buildCounterSnapshotList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed906(o.items);
+    checkUnnamed934(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3327,14 +3327,14 @@
   buildCounterSnapshotList--;
 }
 
-buildUnnamed907() {
+buildUnnamed935() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed907(core.List<core.String> o) {
+checkUnnamed935(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3346,7 +3346,7 @@
   buildCounterTags++;
   if (buildCounterTags < 3) {
     o.fingerprint = "foo";
-    o.items = buildUnnamed907();
+    o.items = buildUnnamed935();
   }
   buildCounterTags--;
   return o;
@@ -3356,7 +3356,7 @@
   buildCounterTags++;
   if (buildCounterTags < 3) {
     unittest.expect(o.fingerprint, unittest.equals('foo'));
-    checkUnnamed907(o.items);
+    checkUnnamed935(o.items);
   }
   buildCounterTags--;
 }
@@ -3392,14 +3392,14 @@
   buildCounterTargetHttpProxy--;
 }
 
-buildUnnamed908() {
+buildUnnamed936() {
   var o = new core.List<api.TargetHttpProxy>();
   o.add(buildTargetHttpProxy());
   o.add(buildTargetHttpProxy());
   return o;
 }
 
-checkUnnamed908(core.List<api.TargetHttpProxy> o) {
+checkUnnamed936(core.List<api.TargetHttpProxy> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetHttpProxy(o[0]);
   checkTargetHttpProxy(o[1]);
@@ -3411,7 +3411,7 @@
   buildCounterTargetHttpProxyList++;
   if (buildCounterTargetHttpProxyList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed908();
+    o.items = buildUnnamed936();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3424,7 +3424,7 @@
   buildCounterTargetHttpProxyList++;
   if (buildCounterTargetHttpProxyList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed908(o.items);
+    checkUnnamed936(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3467,14 +3467,14 @@
   buildCounterTargetInstance--;
 }
 
-buildUnnamed909() {
+buildUnnamed937() {
   var o = new core.Map<core.String, api.TargetInstancesScopedList>();
   o["x"] = buildTargetInstancesScopedList();
   o["y"] = buildTargetInstancesScopedList();
   return o;
 }
 
-checkUnnamed909(core.Map<core.String, api.TargetInstancesScopedList> o) {
+checkUnnamed937(core.Map<core.String, api.TargetInstancesScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetInstancesScopedList(o["x"]);
   checkTargetInstancesScopedList(o["y"]);
@@ -3486,7 +3486,7 @@
   buildCounterTargetInstanceAggregatedList++;
   if (buildCounterTargetInstanceAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed909();
+    o.items = buildUnnamed937();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3499,7 +3499,7 @@
   buildCounterTargetInstanceAggregatedList++;
   if (buildCounterTargetInstanceAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed909(o.items);
+    checkUnnamed937(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3507,14 +3507,14 @@
   buildCounterTargetInstanceAggregatedList--;
 }
 
-buildUnnamed910() {
+buildUnnamed938() {
   var o = new core.List<api.TargetInstance>();
   o.add(buildTargetInstance());
   o.add(buildTargetInstance());
   return o;
 }
 
-checkUnnamed910(core.List<api.TargetInstance> o) {
+checkUnnamed938(core.List<api.TargetInstance> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetInstance(o[0]);
   checkTargetInstance(o[1]);
@@ -3526,7 +3526,7 @@
   buildCounterTargetInstanceList++;
   if (buildCounterTargetInstanceList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed910();
+    o.items = buildUnnamed938();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3539,7 +3539,7 @@
   buildCounterTargetInstanceList++;
   if (buildCounterTargetInstanceList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed910(o.items);
+    checkUnnamed938(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3547,14 +3547,14 @@
   buildCounterTargetInstanceList--;
 }
 
-buildUnnamed911() {
+buildUnnamed939() {
   var o = new core.List<api.TargetInstance>();
   o.add(buildTargetInstance());
   o.add(buildTargetInstance());
   return o;
 }
 
-checkUnnamed911(core.List<api.TargetInstance> o) {
+checkUnnamed939(core.List<api.TargetInstance> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetInstance(o[0]);
   checkTargetInstance(o[1]);
@@ -3581,14 +3581,14 @@
   buildCounterTargetInstancesScopedListWarningData--;
 }
 
-buildUnnamed912() {
+buildUnnamed940() {
   var o = new core.List<api.TargetInstancesScopedListWarningData>();
   o.add(buildTargetInstancesScopedListWarningData());
   o.add(buildTargetInstancesScopedListWarningData());
   return o;
 }
 
-checkUnnamed912(core.List<api.TargetInstancesScopedListWarningData> o) {
+checkUnnamed940(core.List<api.TargetInstancesScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetInstancesScopedListWarningData(o[0]);
   checkTargetInstancesScopedListWarningData(o[1]);
@@ -3600,7 +3600,7 @@
   buildCounterTargetInstancesScopedListWarning++;
   if (buildCounterTargetInstancesScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed912();
+    o.data = buildUnnamed940();
     o.message = "foo";
   }
   buildCounterTargetInstancesScopedListWarning--;
@@ -3611,7 +3611,7 @@
   buildCounterTargetInstancesScopedListWarning++;
   if (buildCounterTargetInstancesScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed912(o.data);
+    checkUnnamed940(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterTargetInstancesScopedListWarning--;
@@ -3622,7 +3622,7 @@
   var o = new api.TargetInstancesScopedList();
   buildCounterTargetInstancesScopedList++;
   if (buildCounterTargetInstancesScopedList < 3) {
-    o.targetInstances = buildUnnamed911();
+    o.targetInstances = buildUnnamed939();
     o.warning = buildTargetInstancesScopedListWarning();
   }
   buildCounterTargetInstancesScopedList--;
@@ -3632,33 +3632,33 @@
 checkTargetInstancesScopedList(api.TargetInstancesScopedList o) {
   buildCounterTargetInstancesScopedList++;
   if (buildCounterTargetInstancesScopedList < 3) {
-    checkUnnamed911(o.targetInstances);
+    checkUnnamed939(o.targetInstances);
     checkTargetInstancesScopedListWarning(o.warning);
   }
   buildCounterTargetInstancesScopedList--;
 }
 
-buildUnnamed913() {
+buildUnnamed941() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed913(core.List<core.String> o) {
+checkUnnamed941(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed914() {
+buildUnnamed942() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed914(core.List<core.String> o) {
+checkUnnamed942(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3673,9 +3673,9 @@
     o.creationTimestamp = "foo";
     o.description = "foo";
     o.failoverRatio = 42.0;
-    o.healthChecks = buildUnnamed913();
+    o.healthChecks = buildUnnamed941();
     o.id = "foo";
-    o.instances = buildUnnamed914();
+    o.instances = buildUnnamed942();
     o.kind = "foo";
     o.name = "foo";
     o.region = "foo";
@@ -3693,9 +3693,9 @@
     unittest.expect(o.creationTimestamp, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.failoverRatio, unittest.equals(42.0));
-    checkUnnamed913(o.healthChecks);
+    checkUnnamed941(o.healthChecks);
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed914(o.instances);
+    checkUnnamed942(o.instances);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.region, unittest.equals('foo'));
@@ -3705,14 +3705,14 @@
   buildCounterTargetPool--;
 }
 
-buildUnnamed915() {
+buildUnnamed943() {
   var o = new core.Map<core.String, api.TargetPoolsScopedList>();
   o["x"] = buildTargetPoolsScopedList();
   o["y"] = buildTargetPoolsScopedList();
   return o;
 }
 
-checkUnnamed915(core.Map<core.String, api.TargetPoolsScopedList> o) {
+checkUnnamed943(core.Map<core.String, api.TargetPoolsScopedList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetPoolsScopedList(o["x"]);
   checkTargetPoolsScopedList(o["y"]);
@@ -3724,7 +3724,7 @@
   buildCounterTargetPoolAggregatedList++;
   if (buildCounterTargetPoolAggregatedList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed915();
+    o.items = buildUnnamed943();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3737,7 +3737,7 @@
   buildCounterTargetPoolAggregatedList++;
   if (buildCounterTargetPoolAggregatedList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed915(o.items);
+    checkUnnamed943(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3745,14 +3745,14 @@
   buildCounterTargetPoolAggregatedList--;
 }
 
-buildUnnamed916() {
+buildUnnamed944() {
   var o = new core.List<api.HealthStatus>();
   o.add(buildHealthStatus());
   o.add(buildHealthStatus());
   return o;
 }
 
-checkUnnamed916(core.List<api.HealthStatus> o) {
+checkUnnamed944(core.List<api.HealthStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthStatus(o[0]);
   checkHealthStatus(o[1]);
@@ -3763,7 +3763,7 @@
   var o = new api.TargetPoolInstanceHealth();
   buildCounterTargetPoolInstanceHealth++;
   if (buildCounterTargetPoolInstanceHealth < 3) {
-    o.healthStatus = buildUnnamed916();
+    o.healthStatus = buildUnnamed944();
     o.kind = "foo";
   }
   buildCounterTargetPoolInstanceHealth--;
@@ -3773,20 +3773,20 @@
 checkTargetPoolInstanceHealth(api.TargetPoolInstanceHealth o) {
   buildCounterTargetPoolInstanceHealth++;
   if (buildCounterTargetPoolInstanceHealth < 3) {
-    checkUnnamed916(o.healthStatus);
+    checkUnnamed944(o.healthStatus);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTargetPoolInstanceHealth--;
 }
 
-buildUnnamed917() {
+buildUnnamed945() {
   var o = new core.List<api.TargetPool>();
   o.add(buildTargetPool());
   o.add(buildTargetPool());
   return o;
 }
 
-checkUnnamed917(core.List<api.TargetPool> o) {
+checkUnnamed945(core.List<api.TargetPool> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetPool(o[0]);
   checkTargetPool(o[1]);
@@ -3798,7 +3798,7 @@
   buildCounterTargetPoolList++;
   if (buildCounterTargetPoolList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed917();
+    o.items = buildUnnamed945();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -3811,7 +3811,7 @@
   buildCounterTargetPoolList++;
   if (buildCounterTargetPoolList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed917(o.items);
+    checkUnnamed945(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -3819,14 +3819,14 @@
   buildCounterTargetPoolList--;
 }
 
-buildUnnamed918() {
+buildUnnamed946() {
   var o = new core.List<api.HealthCheckReference>();
   o.add(buildHealthCheckReference());
   o.add(buildHealthCheckReference());
   return o;
 }
 
-checkUnnamed918(core.List<api.HealthCheckReference> o) {
+checkUnnamed946(core.List<api.HealthCheckReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthCheckReference(o[0]);
   checkHealthCheckReference(o[1]);
@@ -3837,7 +3837,7 @@
   var o = new api.TargetPoolsAddHealthCheckRequest();
   buildCounterTargetPoolsAddHealthCheckRequest++;
   if (buildCounterTargetPoolsAddHealthCheckRequest < 3) {
-    o.healthChecks = buildUnnamed918();
+    o.healthChecks = buildUnnamed946();
   }
   buildCounterTargetPoolsAddHealthCheckRequest--;
   return o;
@@ -3846,19 +3846,19 @@
 checkTargetPoolsAddHealthCheckRequest(api.TargetPoolsAddHealthCheckRequest o) {
   buildCounterTargetPoolsAddHealthCheckRequest++;
   if (buildCounterTargetPoolsAddHealthCheckRequest < 3) {
-    checkUnnamed918(o.healthChecks);
+    checkUnnamed946(o.healthChecks);
   }
   buildCounterTargetPoolsAddHealthCheckRequest--;
 }
 
-buildUnnamed919() {
+buildUnnamed947() {
   var o = new core.List<api.InstanceReference>();
   o.add(buildInstanceReference());
   o.add(buildInstanceReference());
   return o;
 }
 
-checkUnnamed919(core.List<api.InstanceReference> o) {
+checkUnnamed947(core.List<api.InstanceReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstanceReference(o[0]);
   checkInstanceReference(o[1]);
@@ -3869,7 +3869,7 @@
   var o = new api.TargetPoolsAddInstanceRequest();
   buildCounterTargetPoolsAddInstanceRequest++;
   if (buildCounterTargetPoolsAddInstanceRequest < 3) {
-    o.instances = buildUnnamed919();
+    o.instances = buildUnnamed947();
   }
   buildCounterTargetPoolsAddInstanceRequest--;
   return o;
@@ -3878,19 +3878,19 @@
 checkTargetPoolsAddInstanceRequest(api.TargetPoolsAddInstanceRequest o) {
   buildCounterTargetPoolsAddInstanceRequest++;
   if (buildCounterTargetPoolsAddInstanceRequest < 3) {
-    checkUnnamed919(o.instances);
+    checkUnnamed947(o.instances);
   }
   buildCounterTargetPoolsAddInstanceRequest--;
 }
 
-buildUnnamed920() {
+buildUnnamed948() {
   var o = new core.List<api.HealthCheckReference>();
   o.add(buildHealthCheckReference());
   o.add(buildHealthCheckReference());
   return o;
 }
 
-checkUnnamed920(core.List<api.HealthCheckReference> o) {
+checkUnnamed948(core.List<api.HealthCheckReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthCheckReference(o[0]);
   checkHealthCheckReference(o[1]);
@@ -3901,7 +3901,7 @@
   var o = new api.TargetPoolsRemoveHealthCheckRequest();
   buildCounterTargetPoolsRemoveHealthCheckRequest++;
   if (buildCounterTargetPoolsRemoveHealthCheckRequest < 3) {
-    o.healthChecks = buildUnnamed920();
+    o.healthChecks = buildUnnamed948();
   }
   buildCounterTargetPoolsRemoveHealthCheckRequest--;
   return o;
@@ -3910,19 +3910,19 @@
 checkTargetPoolsRemoveHealthCheckRequest(api.TargetPoolsRemoveHealthCheckRequest o) {
   buildCounterTargetPoolsRemoveHealthCheckRequest++;
   if (buildCounterTargetPoolsRemoveHealthCheckRequest < 3) {
-    checkUnnamed920(o.healthChecks);
+    checkUnnamed948(o.healthChecks);
   }
   buildCounterTargetPoolsRemoveHealthCheckRequest--;
 }
 
-buildUnnamed921() {
+buildUnnamed949() {
   var o = new core.List<api.InstanceReference>();
   o.add(buildInstanceReference());
   o.add(buildInstanceReference());
   return o;
 }
 
-checkUnnamed921(core.List<api.InstanceReference> o) {
+checkUnnamed949(core.List<api.InstanceReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstanceReference(o[0]);
   checkInstanceReference(o[1]);
@@ -3933,7 +3933,7 @@
   var o = new api.TargetPoolsRemoveInstanceRequest();
   buildCounterTargetPoolsRemoveInstanceRequest++;
   if (buildCounterTargetPoolsRemoveInstanceRequest < 3) {
-    o.instances = buildUnnamed921();
+    o.instances = buildUnnamed949();
   }
   buildCounterTargetPoolsRemoveInstanceRequest--;
   return o;
@@ -3942,19 +3942,19 @@
 checkTargetPoolsRemoveInstanceRequest(api.TargetPoolsRemoveInstanceRequest o) {
   buildCounterTargetPoolsRemoveInstanceRequest++;
   if (buildCounterTargetPoolsRemoveInstanceRequest < 3) {
-    checkUnnamed921(o.instances);
+    checkUnnamed949(o.instances);
   }
   buildCounterTargetPoolsRemoveInstanceRequest--;
 }
 
-buildUnnamed922() {
+buildUnnamed950() {
   var o = new core.List<api.TargetPool>();
   o.add(buildTargetPool());
   o.add(buildTargetPool());
   return o;
 }
 
-checkUnnamed922(core.List<api.TargetPool> o) {
+checkUnnamed950(core.List<api.TargetPool> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetPool(o[0]);
   checkTargetPool(o[1]);
@@ -3981,14 +3981,14 @@
   buildCounterTargetPoolsScopedListWarningData--;
 }
 
-buildUnnamed923() {
+buildUnnamed951() {
   var o = new core.List<api.TargetPoolsScopedListWarningData>();
   o.add(buildTargetPoolsScopedListWarningData());
   o.add(buildTargetPoolsScopedListWarningData());
   return o;
 }
 
-checkUnnamed923(core.List<api.TargetPoolsScopedListWarningData> o) {
+checkUnnamed951(core.List<api.TargetPoolsScopedListWarningData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTargetPoolsScopedListWarningData(o[0]);
   checkTargetPoolsScopedListWarningData(o[1]);
@@ -4000,7 +4000,7 @@
   buildCounterTargetPoolsScopedListWarning++;
   if (buildCounterTargetPoolsScopedListWarning < 3) {
     o.code = "foo";
-    o.data = buildUnnamed923();
+    o.data = buildUnnamed951();
     o.message = "foo";
   }
   buildCounterTargetPoolsScopedListWarning--;
@@ -4011,7 +4011,7 @@
   buildCounterTargetPoolsScopedListWarning++;
   if (buildCounterTargetPoolsScopedListWarning < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed923(o.data);
+    checkUnnamed951(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterTargetPoolsScopedListWarning--;
@@ -4022,7 +4022,7 @@
   var o = new api.TargetPoolsScopedList();
   buildCounterTargetPoolsScopedList++;
   if (buildCounterTargetPoolsScopedList < 3) {
-    o.targetPools = buildUnnamed922();
+    o.targetPools = buildUnnamed950();
     o.warning = buildTargetPoolsScopedListWarning();
   }
   buildCounterTargetPoolsScopedList--;
@@ -4032,7 +4032,7 @@
 checkTargetPoolsScopedList(api.TargetPoolsScopedList o) {
   buildCounterTargetPoolsScopedList++;
   if (buildCounterTargetPoolsScopedList < 3) {
-    checkUnnamed922(o.targetPools);
+    checkUnnamed950(o.targetPools);
     checkTargetPoolsScopedListWarning(o.warning);
   }
   buildCounterTargetPoolsScopedList--;
@@ -4082,40 +4082,40 @@
   buildCounterTestFailure--;
 }
 
-buildUnnamed924() {
+buildUnnamed952() {
   var o = new core.List<api.HostRule>();
   o.add(buildHostRule());
   o.add(buildHostRule());
   return o;
 }
 
-checkUnnamed924(core.List<api.HostRule> o) {
+checkUnnamed952(core.List<api.HostRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHostRule(o[0]);
   checkHostRule(o[1]);
 }
 
-buildUnnamed925() {
+buildUnnamed953() {
   var o = new core.List<api.PathMatcher>();
   o.add(buildPathMatcher());
   o.add(buildPathMatcher());
   return o;
 }
 
-checkUnnamed925(core.List<api.PathMatcher> o) {
+checkUnnamed953(core.List<api.PathMatcher> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPathMatcher(o[0]);
   checkPathMatcher(o[1]);
 }
 
-buildUnnamed926() {
+buildUnnamed954() {
   var o = new core.List<api.UrlMapTest>();
   o.add(buildUrlMapTest());
   o.add(buildUrlMapTest());
   return o;
 }
 
-checkUnnamed926(core.List<api.UrlMapTest> o) {
+checkUnnamed954(core.List<api.UrlMapTest> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrlMapTest(o[0]);
   checkUrlMapTest(o[1]);
@@ -4130,13 +4130,13 @@
     o.defaultService = "foo";
     o.description = "foo";
     o.fingerprint = "foo";
-    o.hostRules = buildUnnamed924();
+    o.hostRules = buildUnnamed952();
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.pathMatchers = buildUnnamed925();
+    o.pathMatchers = buildUnnamed953();
     o.selfLink = "foo";
-    o.tests = buildUnnamed926();
+    o.tests = buildUnnamed954();
   }
   buildCounterUrlMap--;
   return o;
@@ -4149,25 +4149,25 @@
     unittest.expect(o.defaultService, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.fingerprint, unittest.equals('foo'));
-    checkUnnamed924(o.hostRules);
+    checkUnnamed952(o.hostRules);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed925(o.pathMatchers);
+    checkUnnamed953(o.pathMatchers);
     unittest.expect(o.selfLink, unittest.equals('foo'));
-    checkUnnamed926(o.tests);
+    checkUnnamed954(o.tests);
   }
   buildCounterUrlMap--;
 }
 
-buildUnnamed927() {
+buildUnnamed955() {
   var o = new core.List<api.UrlMap>();
   o.add(buildUrlMap());
   o.add(buildUrlMap());
   return o;
 }
 
-checkUnnamed927(core.List<api.UrlMap> o) {
+checkUnnamed955(core.List<api.UrlMap> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrlMap(o[0]);
   checkUrlMap(o[1]);
@@ -4179,7 +4179,7 @@
   buildCounterUrlMapList++;
   if (buildCounterUrlMapList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed927();
+    o.items = buildUnnamed955();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -4192,7 +4192,7 @@
   buildCounterUrlMapList++;
   if (buildCounterUrlMapList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed927(o.items);
+    checkUnnamed955(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -4244,27 +4244,27 @@
   buildCounterUrlMapTest--;
 }
 
-buildUnnamed928() {
+buildUnnamed956() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed928(core.List<core.String> o) {
+checkUnnamed956(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed929() {
+buildUnnamed957() {
   var o = new core.List<api.TestFailure>();
   o.add(buildTestFailure());
   o.add(buildTestFailure());
   return o;
 }
 
-checkUnnamed929(core.List<api.TestFailure> o) {
+checkUnnamed957(core.List<api.TestFailure> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTestFailure(o[0]);
   checkTestFailure(o[1]);
@@ -4275,9 +4275,9 @@
   var o = new api.UrlMapValidationResult();
   buildCounterUrlMapValidationResult++;
   if (buildCounterUrlMapValidationResult < 3) {
-    o.loadErrors = buildUnnamed928();
+    o.loadErrors = buildUnnamed956();
     o.loadSucceeded = true;
-    o.testFailures = buildUnnamed929();
+    o.testFailures = buildUnnamed957();
     o.testPassed = true;
   }
   buildCounterUrlMapValidationResult--;
@@ -4287,9 +4287,9 @@
 checkUrlMapValidationResult(api.UrlMapValidationResult o) {
   buildCounterUrlMapValidationResult++;
   if (buildCounterUrlMapValidationResult < 3) {
-    checkUnnamed928(o.loadErrors);
+    checkUnnamed956(o.loadErrors);
     unittest.expect(o.loadSucceeded, unittest.isTrue);
-    checkUnnamed929(o.testFailures);
+    checkUnnamed957(o.testFailures);
     unittest.expect(o.testPassed, unittest.isTrue);
   }
   buildCounterUrlMapValidationResult--;
@@ -4379,14 +4379,14 @@
   buildCounterZoneMaintenanceWindows--;
 }
 
-buildUnnamed930() {
+buildUnnamed958() {
   var o = new core.List<api.ZoneMaintenanceWindows>();
   o.add(buildZoneMaintenanceWindows());
   o.add(buildZoneMaintenanceWindows());
   return o;
 }
 
-checkUnnamed930(core.List<api.ZoneMaintenanceWindows> o) {
+checkUnnamed958(core.List<api.ZoneMaintenanceWindows> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkZoneMaintenanceWindows(o[0]);
   checkZoneMaintenanceWindows(o[1]);
@@ -4402,7 +4402,7 @@
     o.description = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.maintenanceWindows = buildUnnamed930();
+    o.maintenanceWindows = buildUnnamed958();
     o.name = "foo";
     o.region = "foo";
     o.selfLink = "foo";
@@ -4420,7 +4420,7 @@
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed930(o.maintenanceWindows);
+    checkUnnamed958(o.maintenanceWindows);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.region, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -4429,14 +4429,14 @@
   buildCounterZone--;
 }
 
-buildUnnamed931() {
+buildUnnamed959() {
   var o = new core.List<api.Zone>();
   o.add(buildZone());
   o.add(buildZone());
   return o;
 }
 
-checkUnnamed931(core.List<api.Zone> o) {
+checkUnnamed959(core.List<api.Zone> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkZone(o[0]);
   checkZone(o[1]);
@@ -4448,7 +4448,7 @@
   buildCounterZoneList++;
   if (buildCounterZoneList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed931();
+    o.items = buildUnnamed959();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -4461,7 +4461,7 @@
   buildCounterZoneList++;
   if (buildCounterZoneList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed931(o.items);
+    checkUnnamed959(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -5583,15 +5583,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/addresses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/aggregated/addresses"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5637,25 +5630,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/addresses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/addresses/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_address"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5698,25 +5674,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/addresses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/addresses/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_address"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5762,22 +5721,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/addresses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/addresses"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5822,22 +5767,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/addresses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/addresses"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5886,18 +5817,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/backendServices/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_backendService"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5939,18 +5860,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/backendServices/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_backendService"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -5996,22 +5907,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/backendServices/"));
-        pathOffset += 24;
-        index = path.indexOf("/getHealth", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_backendService"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/getHealth"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6056,15 +5953,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/global/backendServices"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6108,15 +5998,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/global/backendServices"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6165,18 +6048,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/backendServices/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_backendService"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6222,18 +6095,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/backendServices/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/backendServices/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_backendService"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6281,15 +6144,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/diskTypes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/aggregated/diskTypes"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6335,25 +6191,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/diskTypes/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/diskTypes/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_diskType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6398,22 +6237,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/diskTypes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/diskTypes"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6464,15 +6289,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/disks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/aggregated/disks"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6522,29 +6340,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/disks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/disks/"));
-        pathOffset += 7;
-        index = path.indexOf("/createSnapshot", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_disk"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/createSnapshot"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6587,25 +6384,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/disks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/disks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_disk"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6648,25 +6428,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/disks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/disks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_disk"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6713,22 +6476,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/disks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/disks"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6774,22 +6523,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/disks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/disks"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6838,18 +6573,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/firewalls/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_firewall"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6891,18 +6616,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/firewalls/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_firewall"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6947,15 +6662,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/firewalls"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -6999,15 +6707,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/firewalls"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7056,18 +6757,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/firewalls/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_firewall"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7113,18 +6804,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/firewalls/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/firewalls/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_firewall"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7172,15 +6853,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/forwardingRules", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/aggregated/forwardingRules"));
-        pathOffset += 27;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7226,25 +6900,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/forwardingRules/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7287,25 +6944,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/forwardingRules/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7351,22 +6991,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/forwardingRules", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/forwardingRules"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7411,22 +7037,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/forwardingRules", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/forwardingRules"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7476,29 +7088,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/forwardingRules/"));
-        pathOffset += 17;
-        index = path.indexOf("/setTarget", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/setTarget"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7544,18 +7135,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/addresses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/addresses/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_address"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7597,18 +7178,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/addresses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/addresses/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_address"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7653,15 +7224,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/addresses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/addresses"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7705,15 +7269,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/addresses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/addresses"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7762,18 +7319,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/forwardingRules/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7815,18 +7362,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/forwardingRules/"));
-        pathOffset += 24;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7871,15 +7408,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/forwardingRules", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/global/forwardingRules"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7923,15 +7453,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/forwardingRules", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/global/forwardingRules"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -7980,22 +7503,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/forwardingRules/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/forwardingRules/"));
-        pathOffset += 24;
-        index = path.indexOf("/setTarget", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_forwardingRule"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/setTarget"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8043,15 +7552,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/operations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/aggregated/operations"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8096,18 +7598,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/global/operations/"));
-        pathOffset += 19;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8147,18 +7639,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/global/operations/"));
-        pathOffset += 19;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8202,15 +7684,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/operations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/operations"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8259,18 +7734,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/httpHealthChecks/"));
-        pathOffset += 25;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_httpHealthCheck"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8312,18 +7777,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/httpHealthChecks/"));
-        pathOffset += 25;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_httpHealthCheck"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8368,15 +7823,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/httpHealthChecks"));
-        pathOffset += 24;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8420,15 +7868,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/global/httpHealthChecks"));
-        pathOffset += 24;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8477,18 +7918,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/httpHealthChecks/"));
-        pathOffset += 25;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_httpHealthCheck"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8534,18 +7965,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/httpHealthChecks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/httpHealthChecks/"));
-        pathOffset += 25;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_httpHealthCheck"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8591,18 +8012,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/images/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/images/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_image"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8648,22 +8059,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/images/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/images/"));
-        pathOffset += 15;
-        index = path.indexOf("/deprecate", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_image"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/deprecate"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8705,18 +8102,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/images/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/images/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_image"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8761,15 +8148,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/images", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/global/images"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8813,15 +8193,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/images", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/global/images"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8876,29 +8249,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/addAccessConfig", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/addAccessConfig"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -8943,15 +8295,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/instances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/aggregated/instances"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9001,29 +8346,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/attachDisk", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/attachDisk"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9066,25 +8390,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9129,29 +8436,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/deleteAccessConfig", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/deleteAccessConfig"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9197,29 +8483,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/detachDisk", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/detachDisk"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9263,25 +8528,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9324,29 +8572,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/serialPort", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/serialPort"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9392,22 +8619,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/instances"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9452,22 +8665,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/instances"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9513,29 +8712,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/reset", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/reset"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9580,29 +8758,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/setDiskAutoDelete", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/setDiskAutoDelete"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9651,29 +8808,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/setMetadata", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/setMetadata"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9720,29 +8856,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/setScheduling", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/setScheduling"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9789,29 +8904,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/instances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/instances/"));
-        pathOffset += 11;
-        index = path.indexOf("/setTags", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_instance"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/setTags"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9857,18 +8951,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/licenses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/licenses/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_license"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9916,15 +9000,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/machineTypes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/aggregated/machineTypes"));
-        pathOffset += 24;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -9970,25 +9047,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/machineTypes/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/machineTypes/"));
-        pathOffset += 14;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_machineType"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10033,22 +9093,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/machineTypes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/machineTypes"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10097,18 +9143,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/networks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/networks/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_network"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10150,18 +9186,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/networks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/networks/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_network"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10206,15 +9232,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/networks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/networks"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10258,15 +9277,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/networks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/networks"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10314,11 +9326,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10363,15 +9372,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/setCommonInstanceMetadata", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/setCommonInstanceMetadata"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10416,15 +9418,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/setUsageExportBucket", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/setUsageExportBucket"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10471,25 +9466,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10530,25 +9508,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10593,22 +9554,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/operations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/operations"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10657,18 +9604,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10712,15 +9649,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/regions"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10769,18 +9699,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/routes/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/routes/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_route"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10822,18 +9742,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/routes/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/routes/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_route"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10878,15 +9788,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/routes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/global/routes"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10930,15 +9833,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/routes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/global/routes"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -10987,18 +9883,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/snapshots/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/snapshots/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_snapshot"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11040,18 +9926,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/snapshots/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/global/snapshots/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_snapshot"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11095,15 +9971,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/snapshots", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/global/snapshots"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11152,18 +10021,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/targetHttpProxies/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/global/targetHttpProxies/"));
-        pathOffset += 26;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetHttpProxy"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11205,18 +10064,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/targetHttpProxies/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/global/targetHttpProxies/"));
-        pathOffset += 26;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetHttpProxy"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11261,15 +10110,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/targetHttpProxies", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/targetHttpProxies"));
-        pathOffset += 25;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11313,15 +10155,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/targetHttpProxies", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("/global/targetHttpProxies"));
-        pathOffset += 25;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11370,22 +10205,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/targetHttpProxies/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/targetHttpProxies/"));
-        pathOffset += 19;
-        index = path.indexOf("/setUrlMap", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetHttpProxy"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/setUrlMap"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11433,15 +10254,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/targetInstances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/aggregated/targetInstances"));
-        pathOffset += 27;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11487,25 +10301,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/targetInstances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/targetInstances/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetInstance"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11548,25 +10345,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/targetInstances/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/targetInstances/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetInstance"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11612,22 +10392,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/targetInstances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/targetInstances"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11672,22 +10438,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/targetInstances", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/targetInstances"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11741,29 +10493,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/addHealthCheck", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/addHealthCheck"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11810,29 +10541,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/addInstance", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/addInstance"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11876,15 +10586,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/aggregated/targetPools", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/aggregated/targetPools"));
-        pathOffset += 23;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11930,25 +10633,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -11991,25 +10677,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12056,29 +10725,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/getHealth", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/getHealth"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12124,22 +10772,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/targetPools"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12184,22 +10818,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/targetPools"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12249,29 +10869,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/removeHealthCheck", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/removeHealthCheck"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12318,29 +10917,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/removeInstance", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/removeInstance"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12388,29 +10966,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/targetPools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/targetPools/"));
-        pathOffset += 13;
-        index = path.indexOf("/setBackup", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_targetPool"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/setBackup"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12457,18 +11014,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/urlMaps/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_urlMap"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12510,18 +11057,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/urlMaps/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_urlMap"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12566,15 +11103,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/urlMaps"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12618,15 +11148,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/global/urlMaps"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12675,18 +11198,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/urlMaps/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_urlMap"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12732,18 +11245,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/urlMaps/"));
-        pathOffset += 16;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_urlMap"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12789,22 +11292,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/global/urlMaps/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/global/urlMaps/"));
-        pathOffset += 16;
-        index = path.indexOf("/validate", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_urlMap"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/validate"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12851,25 +11340,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12910,25 +11382,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -12973,22 +11428,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/operations"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -13037,18 +11478,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -13092,15 +11523,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/compute/v1/projects/"));
-        pathOffset += 21;
-        index = path.indexOf("/zones", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/zones"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/content/v2_test.dart b/generated/googleapis/test/content/v2_test.dart
index 1a2447a..0f0ba44 100644
--- a/generated/googleapis/test/content/v2_test.dart
+++ b/generated/googleapis/test/content/v2_test.dart
@@ -16,27 +16,27 @@
 
 
 
-buildUnnamed299() {
+buildUnnamed322() {
   var o = new core.List<api.AccountAdwordsLink>();
   o.add(buildAccountAdwordsLink());
   o.add(buildAccountAdwordsLink());
   return o;
 }
 
-checkUnnamed299(core.List<api.AccountAdwordsLink> o) {
+checkUnnamed322(core.List<api.AccountAdwordsLink> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountAdwordsLink(o[0]);
   checkAccountAdwordsLink(o[1]);
 }
 
-buildUnnamed300() {
+buildUnnamed323() {
   var o = new core.List<api.AccountUser>();
   o.add(buildAccountUser());
   o.add(buildAccountUser());
   return o;
 }
 
-checkUnnamed300(core.List<api.AccountUser> o) {
+checkUnnamed323(core.List<api.AccountUser> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountUser(o[0]);
   checkAccountUser(o[1]);
@@ -48,13 +48,13 @@
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
     o.adultContent = true;
-    o.adwordsLinks = buildUnnamed299();
+    o.adwordsLinks = buildUnnamed322();
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
     o.reviewsUrl = "foo";
     o.sellerId = "foo";
-    o.users = buildUnnamed300();
+    o.users = buildUnnamed323();
     o.websiteUrl = "foo";
   }
   buildCounterAccount--;
@@ -65,13 +65,13 @@
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
     unittest.expect(o.adultContent, unittest.isTrue);
-    checkUnnamed299(o.adwordsLinks);
+    checkUnnamed322(o.adwordsLinks);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.reviewsUrl, unittest.equals('foo'));
     unittest.expect(o.sellerId, unittest.equals('foo'));
-    checkUnnamed300(o.users);
+    checkUnnamed323(o.users);
     unittest.expect(o.websiteUrl, unittest.equals('foo'));
   }
   buildCounterAccount--;
@@ -98,14 +98,14 @@
   buildCounterAccountAdwordsLink--;
 }
 
-buildUnnamed301() {
+buildUnnamed324() {
   var o = new core.List<api.AccountStatusDataQualityIssue>();
   o.add(buildAccountStatusDataQualityIssue());
   o.add(buildAccountStatusDataQualityIssue());
   return o;
 }
 
-checkUnnamed301(core.List<api.AccountStatusDataQualityIssue> o) {
+checkUnnamed324(core.List<api.AccountStatusDataQualityIssue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountStatusDataQualityIssue(o[0]);
   checkAccountStatusDataQualityIssue(o[1]);
@@ -117,7 +117,7 @@
   buildCounterAccountStatus++;
   if (buildCounterAccountStatus < 3) {
     o.accountId = "foo";
-    o.dataQualityIssues = buildUnnamed301();
+    o.dataQualityIssues = buildUnnamed324();
     o.kind = "foo";
   }
   buildCounterAccountStatus--;
@@ -128,20 +128,20 @@
   buildCounterAccountStatus++;
   if (buildCounterAccountStatus < 3) {
     unittest.expect(o.accountId, unittest.equals('foo'));
-    checkUnnamed301(o.dataQualityIssues);
+    checkUnnamed324(o.dataQualityIssues);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAccountStatus--;
 }
 
-buildUnnamed302() {
+buildUnnamed325() {
   var o = new core.List<api.AccountStatusExampleItem>();
   o.add(buildAccountStatusExampleItem());
   o.add(buildAccountStatusExampleItem());
   return o;
 }
 
-checkUnnamed302(core.List<api.AccountStatusExampleItem> o) {
+checkUnnamed325(core.List<api.AccountStatusExampleItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountStatusExampleItem(o[0]);
   checkAccountStatusExampleItem(o[1]);
@@ -154,7 +154,7 @@
   if (buildCounterAccountStatusDataQualityIssue < 3) {
     o.country = "foo";
     o.displayedValue = "foo";
-    o.exampleItems = buildUnnamed302();
+    o.exampleItems = buildUnnamed325();
     o.id = "foo";
     o.lastChecked = "foo";
     o.numItems = 42;
@@ -170,7 +170,7 @@
   if (buildCounterAccountStatusDataQualityIssue < 3) {
     unittest.expect(o.country, unittest.equals('foo'));
     unittest.expect(o.displayedValue, unittest.equals('foo'));
-    checkUnnamed302(o.exampleItems);
+    checkUnnamed325(o.exampleItems);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastChecked, unittest.equals('foo'));
     unittest.expect(o.numItems, unittest.equals(42));
@@ -228,14 +228,14 @@
   buildCounterAccountUser--;
 }
 
-buildUnnamed303() {
+buildUnnamed326() {
   var o = new core.List<api.AccountsCustomBatchRequestEntry>();
   o.add(buildAccountsCustomBatchRequestEntry());
   o.add(buildAccountsCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed303(core.List<api.AccountsCustomBatchRequestEntry> o) {
+checkUnnamed326(core.List<api.AccountsCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountsCustomBatchRequestEntry(o[0]);
   checkAccountsCustomBatchRequestEntry(o[1]);
@@ -246,7 +246,7 @@
   var o = new api.AccountsCustomBatchRequest();
   buildCounterAccountsCustomBatchRequest++;
   if (buildCounterAccountsCustomBatchRequest < 3) {
-    o.entries = buildUnnamed303();
+    o.entries = buildUnnamed326();
   }
   buildCounterAccountsCustomBatchRequest--;
   return o;
@@ -255,7 +255,7 @@
 checkAccountsCustomBatchRequest(api.AccountsCustomBatchRequest o) {
   buildCounterAccountsCustomBatchRequest++;
   if (buildCounterAccountsCustomBatchRequest < 3) {
-    checkUnnamed303(o.entries);
+    checkUnnamed326(o.entries);
   }
   buildCounterAccountsCustomBatchRequest--;
 }
@@ -287,14 +287,14 @@
   buildCounterAccountsCustomBatchRequestEntry--;
 }
 
-buildUnnamed304() {
+buildUnnamed327() {
   var o = new core.List<api.AccountsCustomBatchResponseEntry>();
   o.add(buildAccountsCustomBatchResponseEntry());
   o.add(buildAccountsCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed304(core.List<api.AccountsCustomBatchResponseEntry> o) {
+checkUnnamed327(core.List<api.AccountsCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountsCustomBatchResponseEntry(o[0]);
   checkAccountsCustomBatchResponseEntry(o[1]);
@@ -305,7 +305,7 @@
   var o = new api.AccountsCustomBatchResponse();
   buildCounterAccountsCustomBatchResponse++;
   if (buildCounterAccountsCustomBatchResponse < 3) {
-    o.entries = buildUnnamed304();
+    o.entries = buildUnnamed327();
     o.kind = "foo";
   }
   buildCounterAccountsCustomBatchResponse--;
@@ -315,7 +315,7 @@
 checkAccountsCustomBatchResponse(api.AccountsCustomBatchResponse o) {
   buildCounterAccountsCustomBatchResponse++;
   if (buildCounterAccountsCustomBatchResponse < 3) {
-    checkUnnamed304(o.entries);
+    checkUnnamed327(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAccountsCustomBatchResponse--;
@@ -346,14 +346,14 @@
   buildCounterAccountsCustomBatchResponseEntry--;
 }
 
-buildUnnamed305() {
+buildUnnamed328() {
   var o = new core.List<api.Account>();
   o.add(buildAccount());
   o.add(buildAccount());
   return o;
 }
 
-checkUnnamed305(core.List<api.Account> o) {
+checkUnnamed328(core.List<api.Account> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccount(o[0]);
   checkAccount(o[1]);
@@ -366,7 +366,7 @@
   if (buildCounterAccountsListResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed305();
+    o.resources = buildUnnamed328();
   }
   buildCounterAccountsListResponse--;
   return o;
@@ -377,19 +377,19 @@
   if (buildCounterAccountsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed305(o.resources);
+    checkUnnamed328(o.resources);
   }
   buildCounterAccountsListResponse--;
 }
 
-buildUnnamed306() {
+buildUnnamed329() {
   var o = new core.List<api.AccountstatusesCustomBatchRequestEntry>();
   o.add(buildAccountstatusesCustomBatchRequestEntry());
   o.add(buildAccountstatusesCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed306(core.List<api.AccountstatusesCustomBatchRequestEntry> o) {
+checkUnnamed329(core.List<api.AccountstatusesCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountstatusesCustomBatchRequestEntry(o[0]);
   checkAccountstatusesCustomBatchRequestEntry(o[1]);
@@ -400,7 +400,7 @@
   var o = new api.AccountstatusesCustomBatchRequest();
   buildCounterAccountstatusesCustomBatchRequest++;
   if (buildCounterAccountstatusesCustomBatchRequest < 3) {
-    o.entries = buildUnnamed306();
+    o.entries = buildUnnamed329();
   }
   buildCounterAccountstatusesCustomBatchRequest--;
   return o;
@@ -409,7 +409,7 @@
 checkAccountstatusesCustomBatchRequest(api.AccountstatusesCustomBatchRequest o) {
   buildCounterAccountstatusesCustomBatchRequest++;
   if (buildCounterAccountstatusesCustomBatchRequest < 3) {
-    checkUnnamed306(o.entries);
+    checkUnnamed329(o.entries);
   }
   buildCounterAccountstatusesCustomBatchRequest--;
 }
@@ -439,14 +439,14 @@
   buildCounterAccountstatusesCustomBatchRequestEntry--;
 }
 
-buildUnnamed307() {
+buildUnnamed330() {
   var o = new core.List<api.AccountstatusesCustomBatchResponseEntry>();
   o.add(buildAccountstatusesCustomBatchResponseEntry());
   o.add(buildAccountstatusesCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed307(core.List<api.AccountstatusesCustomBatchResponseEntry> o) {
+checkUnnamed330(core.List<api.AccountstatusesCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountstatusesCustomBatchResponseEntry(o[0]);
   checkAccountstatusesCustomBatchResponseEntry(o[1]);
@@ -457,7 +457,7 @@
   var o = new api.AccountstatusesCustomBatchResponse();
   buildCounterAccountstatusesCustomBatchResponse++;
   if (buildCounterAccountstatusesCustomBatchResponse < 3) {
-    o.entries = buildUnnamed307();
+    o.entries = buildUnnamed330();
     o.kind = "foo";
   }
   buildCounterAccountstatusesCustomBatchResponse--;
@@ -467,7 +467,7 @@
 checkAccountstatusesCustomBatchResponse(api.AccountstatusesCustomBatchResponse o) {
   buildCounterAccountstatusesCustomBatchResponse++;
   if (buildCounterAccountstatusesCustomBatchResponse < 3) {
-    checkUnnamed307(o.entries);
+    checkUnnamed330(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAccountstatusesCustomBatchResponse--;
@@ -496,14 +496,14 @@
   buildCounterAccountstatusesCustomBatchResponseEntry--;
 }
 
-buildUnnamed308() {
+buildUnnamed331() {
   var o = new core.List<api.AccountStatus>();
   o.add(buildAccountStatus());
   o.add(buildAccountStatus());
   return o;
 }
 
-checkUnnamed308(core.List<api.AccountStatus> o) {
+checkUnnamed331(core.List<api.AccountStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccountStatus(o[0]);
   checkAccountStatus(o[1]);
@@ -516,7 +516,7 @@
   if (buildCounterAccountstatusesListResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed308();
+    o.resources = buildUnnamed331();
   }
   buildCounterAccountstatusesListResponse--;
   return o;
@@ -527,19 +527,19 @@
   if (buildCounterAccountstatusesListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed308(o.resources);
+    checkUnnamed331(o.resources);
   }
   buildCounterAccountstatusesListResponse--;
 }
 
-buildUnnamed309() {
+buildUnnamed332() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed309(core.List<core.String> o) {
+checkUnnamed332(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -557,7 +557,7 @@
     o.fileName = "foo";
     o.format = buildDatafeedFormat();
     o.id = "foo";
-    o.intendedDestinations = buildUnnamed309();
+    o.intendedDestinations = buildUnnamed332();
     o.kind = "foo";
     o.name = "foo";
     o.targetCountry = "foo";
@@ -576,7 +576,7 @@
     unittest.expect(o.fileName, unittest.equals('foo'));
     checkDatafeedFormat(o.format);
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed309(o.intendedDestinations);
+    checkUnnamed332(o.intendedDestinations);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.targetCountry, unittest.equals('foo'));
@@ -638,27 +638,27 @@
   buildCounterDatafeedFormat--;
 }
 
-buildUnnamed310() {
+buildUnnamed333() {
   var o = new core.List<api.DatafeedStatusError>();
   o.add(buildDatafeedStatusError());
   o.add(buildDatafeedStatusError());
   return o;
 }
 
-checkUnnamed310(core.List<api.DatafeedStatusError> o) {
+checkUnnamed333(core.List<api.DatafeedStatusError> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedStatusError(o[0]);
   checkDatafeedStatusError(o[1]);
 }
 
-buildUnnamed311() {
+buildUnnamed334() {
   var o = new core.List<api.DatafeedStatusError>();
   o.add(buildDatafeedStatusError());
   o.add(buildDatafeedStatusError());
   return o;
 }
 
-checkUnnamed311(core.List<api.DatafeedStatusError> o) {
+checkUnnamed334(core.List<api.DatafeedStatusError> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedStatusError(o[0]);
   checkDatafeedStatusError(o[1]);
@@ -670,12 +670,12 @@
   buildCounterDatafeedStatus++;
   if (buildCounterDatafeedStatus < 3) {
     o.datafeedId = "foo";
-    o.errors = buildUnnamed310();
+    o.errors = buildUnnamed333();
     o.itemsTotal = "foo";
     o.itemsValid = "foo";
     o.kind = "foo";
     o.processingStatus = "foo";
-    o.warnings = buildUnnamed311();
+    o.warnings = buildUnnamed334();
   }
   buildCounterDatafeedStatus--;
   return o;
@@ -685,24 +685,24 @@
   buildCounterDatafeedStatus++;
   if (buildCounterDatafeedStatus < 3) {
     unittest.expect(o.datafeedId, unittest.equals('foo'));
-    checkUnnamed310(o.errors);
+    checkUnnamed333(o.errors);
     unittest.expect(o.itemsTotal, unittest.equals('foo'));
     unittest.expect(o.itemsValid, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
-    checkUnnamed311(o.warnings);
+    checkUnnamed334(o.warnings);
   }
   buildCounterDatafeedStatus--;
 }
 
-buildUnnamed312() {
+buildUnnamed335() {
   var o = new core.List<api.DatafeedStatusExample>();
   o.add(buildDatafeedStatusExample());
   o.add(buildDatafeedStatusExample());
   return o;
 }
 
-checkUnnamed312(core.List<api.DatafeedStatusExample> o) {
+checkUnnamed335(core.List<api.DatafeedStatusExample> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedStatusExample(o[0]);
   checkDatafeedStatusExample(o[1]);
@@ -715,7 +715,7 @@
   if (buildCounterDatafeedStatusError < 3) {
     o.code = "foo";
     o.count = "foo";
-    o.examples = buildUnnamed312();
+    o.examples = buildUnnamed335();
     o.message = "foo";
   }
   buildCounterDatafeedStatusError--;
@@ -727,7 +727,7 @@
   if (buildCounterDatafeedStatusError < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
     unittest.expect(o.count, unittest.equals('foo'));
-    checkUnnamed312(o.examples);
+    checkUnnamed335(o.examples);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterDatafeedStatusError--;
@@ -756,14 +756,14 @@
   buildCounterDatafeedStatusExample--;
 }
 
-buildUnnamed313() {
+buildUnnamed336() {
   var o = new core.List<api.DatafeedsCustomBatchRequestEntry>();
   o.add(buildDatafeedsCustomBatchRequestEntry());
   o.add(buildDatafeedsCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed313(core.List<api.DatafeedsCustomBatchRequestEntry> o) {
+checkUnnamed336(core.List<api.DatafeedsCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedsCustomBatchRequestEntry(o[0]);
   checkDatafeedsCustomBatchRequestEntry(o[1]);
@@ -774,7 +774,7 @@
   var o = new api.DatafeedsCustomBatchRequest();
   buildCounterDatafeedsCustomBatchRequest++;
   if (buildCounterDatafeedsCustomBatchRequest < 3) {
-    o.entries = buildUnnamed313();
+    o.entries = buildUnnamed336();
   }
   buildCounterDatafeedsCustomBatchRequest--;
   return o;
@@ -783,7 +783,7 @@
 checkDatafeedsCustomBatchRequest(api.DatafeedsCustomBatchRequest o) {
   buildCounterDatafeedsCustomBatchRequest++;
   if (buildCounterDatafeedsCustomBatchRequest < 3) {
-    checkUnnamed313(o.entries);
+    checkUnnamed336(o.entries);
   }
   buildCounterDatafeedsCustomBatchRequest--;
 }
@@ -815,14 +815,14 @@
   buildCounterDatafeedsCustomBatchRequestEntry--;
 }
 
-buildUnnamed314() {
+buildUnnamed337() {
   var o = new core.List<api.DatafeedsCustomBatchResponseEntry>();
   o.add(buildDatafeedsCustomBatchResponseEntry());
   o.add(buildDatafeedsCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed314(core.List<api.DatafeedsCustomBatchResponseEntry> o) {
+checkUnnamed337(core.List<api.DatafeedsCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedsCustomBatchResponseEntry(o[0]);
   checkDatafeedsCustomBatchResponseEntry(o[1]);
@@ -833,7 +833,7 @@
   var o = new api.DatafeedsCustomBatchResponse();
   buildCounterDatafeedsCustomBatchResponse++;
   if (buildCounterDatafeedsCustomBatchResponse < 3) {
-    o.entries = buildUnnamed314();
+    o.entries = buildUnnamed337();
     o.kind = "foo";
   }
   buildCounterDatafeedsCustomBatchResponse--;
@@ -843,7 +843,7 @@
 checkDatafeedsCustomBatchResponse(api.DatafeedsCustomBatchResponse o) {
   buildCounterDatafeedsCustomBatchResponse++;
   if (buildCounterDatafeedsCustomBatchResponse < 3) {
-    checkUnnamed314(o.entries);
+    checkUnnamed337(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterDatafeedsCustomBatchResponse--;
@@ -872,14 +872,14 @@
   buildCounterDatafeedsCustomBatchResponseEntry--;
 }
 
-buildUnnamed315() {
+buildUnnamed338() {
   var o = new core.List<api.Datafeed>();
   o.add(buildDatafeed());
   o.add(buildDatafeed());
   return o;
 }
 
-checkUnnamed315(core.List<api.Datafeed> o) {
+checkUnnamed338(core.List<api.Datafeed> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeed(o[0]);
   checkDatafeed(o[1]);
@@ -891,7 +891,7 @@
   buildCounterDatafeedsListResponse++;
   if (buildCounterDatafeedsListResponse < 3) {
     o.kind = "foo";
-    o.resources = buildUnnamed315();
+    o.resources = buildUnnamed338();
   }
   buildCounterDatafeedsListResponse--;
   return o;
@@ -901,19 +901,19 @@
   buildCounterDatafeedsListResponse++;
   if (buildCounterDatafeedsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed315(o.resources);
+    checkUnnamed338(o.resources);
   }
   buildCounterDatafeedsListResponse--;
 }
 
-buildUnnamed316() {
+buildUnnamed339() {
   var o = new core.List<api.DatafeedstatusesCustomBatchRequestEntry>();
   o.add(buildDatafeedstatusesCustomBatchRequestEntry());
   o.add(buildDatafeedstatusesCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed316(core.List<api.DatafeedstatusesCustomBatchRequestEntry> o) {
+checkUnnamed339(core.List<api.DatafeedstatusesCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedstatusesCustomBatchRequestEntry(o[0]);
   checkDatafeedstatusesCustomBatchRequestEntry(o[1]);
@@ -924,7 +924,7 @@
   var o = new api.DatafeedstatusesCustomBatchRequest();
   buildCounterDatafeedstatusesCustomBatchRequest++;
   if (buildCounterDatafeedstatusesCustomBatchRequest < 3) {
-    o.entries = buildUnnamed316();
+    o.entries = buildUnnamed339();
   }
   buildCounterDatafeedstatusesCustomBatchRequest--;
   return o;
@@ -933,7 +933,7 @@
 checkDatafeedstatusesCustomBatchRequest(api.DatafeedstatusesCustomBatchRequest o) {
   buildCounterDatafeedstatusesCustomBatchRequest++;
   if (buildCounterDatafeedstatusesCustomBatchRequest < 3) {
-    checkUnnamed316(o.entries);
+    checkUnnamed339(o.entries);
   }
   buildCounterDatafeedstatusesCustomBatchRequest--;
 }
@@ -963,14 +963,14 @@
   buildCounterDatafeedstatusesCustomBatchRequestEntry--;
 }
 
-buildUnnamed317() {
+buildUnnamed340() {
   var o = new core.List<api.DatafeedstatusesCustomBatchResponseEntry>();
   o.add(buildDatafeedstatusesCustomBatchResponseEntry());
   o.add(buildDatafeedstatusesCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed317(core.List<api.DatafeedstatusesCustomBatchResponseEntry> o) {
+checkUnnamed340(core.List<api.DatafeedstatusesCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedstatusesCustomBatchResponseEntry(o[0]);
   checkDatafeedstatusesCustomBatchResponseEntry(o[1]);
@@ -981,7 +981,7 @@
   var o = new api.DatafeedstatusesCustomBatchResponse();
   buildCounterDatafeedstatusesCustomBatchResponse++;
   if (buildCounterDatafeedstatusesCustomBatchResponse < 3) {
-    o.entries = buildUnnamed317();
+    o.entries = buildUnnamed340();
     o.kind = "foo";
   }
   buildCounterDatafeedstatusesCustomBatchResponse--;
@@ -991,7 +991,7 @@
 checkDatafeedstatusesCustomBatchResponse(api.DatafeedstatusesCustomBatchResponse o) {
   buildCounterDatafeedstatusesCustomBatchResponse++;
   if (buildCounterDatafeedstatusesCustomBatchResponse < 3) {
-    checkUnnamed317(o.entries);
+    checkUnnamed340(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterDatafeedstatusesCustomBatchResponse--;
@@ -1020,14 +1020,14 @@
   buildCounterDatafeedstatusesCustomBatchResponseEntry--;
 }
 
-buildUnnamed318() {
+buildUnnamed341() {
   var o = new core.List<api.DatafeedStatus>();
   o.add(buildDatafeedStatus());
   o.add(buildDatafeedStatus());
   return o;
 }
 
-checkUnnamed318(core.List<api.DatafeedStatus> o) {
+checkUnnamed341(core.List<api.DatafeedStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatafeedStatus(o[0]);
   checkDatafeedStatus(o[1]);
@@ -1039,7 +1039,7 @@
   buildCounterDatafeedstatusesListResponse++;
   if (buildCounterDatafeedstatusesListResponse < 3) {
     o.kind = "foo";
-    o.resources = buildUnnamed318();
+    o.resources = buildUnnamed341();
   }
   buildCounterDatafeedstatusesListResponse--;
   return o;
@@ -1049,7 +1049,7 @@
   buildCounterDatafeedstatusesListResponse++;
   if (buildCounterDatafeedstatusesListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed318(o.resources);
+    checkUnnamed341(o.resources);
   }
   buildCounterDatafeedstatusesListResponse--;
 }
@@ -1077,14 +1077,14 @@
   buildCounterError--;
 }
 
-buildUnnamed319() {
+buildUnnamed342() {
   var o = new core.List<api.Error>();
   o.add(buildError());
   o.add(buildError());
   return o;
 }
 
-checkUnnamed319(core.List<api.Error> o) {
+checkUnnamed342(core.List<api.Error> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkError(o[0]);
   checkError(o[1]);
@@ -1096,7 +1096,7 @@
   buildCounterErrors++;
   if (buildCounterErrors < 3) {
     o.code = 42;
-    o.errors = buildUnnamed319();
+    o.errors = buildUnnamed342();
     o.message = "foo";
   }
   buildCounterErrors--;
@@ -1107,7 +1107,7 @@
   buildCounterErrors++;
   if (buildCounterErrors < 3) {
     unittest.expect(o.code, unittest.equals(42));
-    checkUnnamed319(o.errors);
+    checkUnnamed342(o.errors);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterErrors--;
@@ -1142,14 +1142,14 @@
   buildCounterInventory--;
 }
 
-buildUnnamed320() {
+buildUnnamed343() {
   var o = new core.List<api.InventoryCustomBatchRequestEntry>();
   o.add(buildInventoryCustomBatchRequestEntry());
   o.add(buildInventoryCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed320(core.List<api.InventoryCustomBatchRequestEntry> o) {
+checkUnnamed343(core.List<api.InventoryCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInventoryCustomBatchRequestEntry(o[0]);
   checkInventoryCustomBatchRequestEntry(o[1]);
@@ -1160,7 +1160,7 @@
   var o = new api.InventoryCustomBatchRequest();
   buildCounterInventoryCustomBatchRequest++;
   if (buildCounterInventoryCustomBatchRequest < 3) {
-    o.entries = buildUnnamed320();
+    o.entries = buildUnnamed343();
   }
   buildCounterInventoryCustomBatchRequest--;
   return o;
@@ -1169,7 +1169,7 @@
 checkInventoryCustomBatchRequest(api.InventoryCustomBatchRequest o) {
   buildCounterInventoryCustomBatchRequest++;
   if (buildCounterInventoryCustomBatchRequest < 3) {
-    checkUnnamed320(o.entries);
+    checkUnnamed343(o.entries);
   }
   buildCounterInventoryCustomBatchRequest--;
 }
@@ -1201,14 +1201,14 @@
   buildCounterInventoryCustomBatchRequestEntry--;
 }
 
-buildUnnamed321() {
+buildUnnamed344() {
   var o = new core.List<api.InventoryCustomBatchResponseEntry>();
   o.add(buildInventoryCustomBatchResponseEntry());
   o.add(buildInventoryCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed321(core.List<api.InventoryCustomBatchResponseEntry> o) {
+checkUnnamed344(core.List<api.InventoryCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInventoryCustomBatchResponseEntry(o[0]);
   checkInventoryCustomBatchResponseEntry(o[1]);
@@ -1219,7 +1219,7 @@
   var o = new api.InventoryCustomBatchResponse();
   buildCounterInventoryCustomBatchResponse++;
   if (buildCounterInventoryCustomBatchResponse < 3) {
-    o.entries = buildUnnamed321();
+    o.entries = buildUnnamed344();
     o.kind = "foo";
   }
   buildCounterInventoryCustomBatchResponse--;
@@ -1229,7 +1229,7 @@
 checkInventoryCustomBatchResponse(api.InventoryCustomBatchResponse o) {
   buildCounterInventoryCustomBatchResponse++;
   if (buildCounterInventoryCustomBatchResponse < 3) {
-    checkUnnamed321(o.entries);
+    checkUnnamed344(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterInventoryCustomBatchResponse--;
@@ -1348,131 +1348,131 @@
   buildCounterPrice--;
 }
 
-buildUnnamed322() {
+buildUnnamed345() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed322(core.List<core.String> o) {
+checkUnnamed345(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed323() {
+buildUnnamed346() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed323(core.List<core.String> o) {
+checkUnnamed346(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed324() {
+buildUnnamed347() {
   var o = new core.List<api.ProductCustomAttribute>();
   o.add(buildProductCustomAttribute());
   o.add(buildProductCustomAttribute());
   return o;
 }
 
-checkUnnamed324(core.List<api.ProductCustomAttribute> o) {
+checkUnnamed347(core.List<api.ProductCustomAttribute> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductCustomAttribute(o[0]);
   checkProductCustomAttribute(o[1]);
 }
 
-buildUnnamed325() {
+buildUnnamed348() {
   var o = new core.List<api.ProductCustomGroup>();
   o.add(buildProductCustomGroup());
   o.add(buildProductCustomGroup());
   return o;
 }
 
-checkUnnamed325(core.List<api.ProductCustomGroup> o) {
+checkUnnamed348(core.List<api.ProductCustomGroup> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductCustomGroup(o[0]);
   checkProductCustomGroup(o[1]);
 }
 
-buildUnnamed326() {
+buildUnnamed349() {
   var o = new core.List<api.ProductDestination>();
   o.add(buildProductDestination());
   o.add(buildProductDestination());
   return o;
 }
 
-checkUnnamed326(core.List<api.ProductDestination> o) {
+checkUnnamed349(core.List<api.ProductDestination> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductDestination(o[0]);
   checkProductDestination(o[1]);
 }
 
-buildUnnamed327() {
+buildUnnamed350() {
   var o = new core.List<api.ProductShipping>();
   o.add(buildProductShipping());
   o.add(buildProductShipping());
   return o;
 }
 
-checkUnnamed327(core.List<api.ProductShipping> o) {
+checkUnnamed350(core.List<api.ProductShipping> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductShipping(o[0]);
   checkProductShipping(o[1]);
 }
 
-buildUnnamed328() {
+buildUnnamed351() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed328(core.List<core.String> o) {
+checkUnnamed351(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed329() {
+buildUnnamed352() {
   var o = new core.List<api.ProductTax>();
   o.add(buildProductTax());
   o.add(buildProductTax());
   return o;
 }
 
-checkUnnamed329(core.List<api.ProductTax> o) {
+checkUnnamed352(core.List<api.ProductTax> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductTax(o[0]);
   checkProductTax(o[1]);
 }
 
-buildUnnamed330() {
+buildUnnamed353() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed330(core.List<core.String> o) {
+checkUnnamed353(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed331() {
+buildUnnamed354() {
   var o = new core.List<api.Error>();
   o.add(buildError());
   o.add(buildError());
   return o;
 }
 
-checkUnnamed331(core.List<api.Error> o) {
+checkUnnamed354(core.List<api.Error> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkError(o[0]);
   checkError(o[1]);
@@ -1483,10 +1483,10 @@
   var o = new api.Product();
   buildCounterProduct++;
   if (buildCounterProduct < 3) {
-    o.additionalImageLinks = buildUnnamed322();
+    o.additionalImageLinks = buildUnnamed345();
     o.adult = true;
     o.adwordsGrouping = "foo";
-    o.adwordsLabels = buildUnnamed323();
+    o.adwordsLabels = buildUnnamed346();
     o.adwordsRedirect = "foo";
     o.ageGroup = "foo";
     o.availability = "foo";
@@ -1496,15 +1496,15 @@
     o.color = "foo";
     o.condition = "foo";
     o.contentLanguage = "foo";
-    o.customAttributes = buildUnnamed324();
-    o.customGroups = buildUnnamed325();
+    o.customAttributes = buildUnnamed347();
+    o.customGroups = buildUnnamed348();
     o.customLabel0 = "foo";
     o.customLabel1 = "foo";
     o.customLabel2 = "foo";
     o.customLabel3 = "foo";
     o.customLabel4 = "foo";
     o.description = "foo";
-    o.destinations = buildUnnamed326();
+    o.destinations = buildUnnamed349();
     o.energyEfficiencyClass = "foo";
     o.expirationDate = "foo";
     o.gender = "foo";
@@ -1530,19 +1530,19 @@
     o.productType = "foo";
     o.salePrice = buildPrice();
     o.salePriceEffectiveDate = "foo";
-    o.shipping = buildUnnamed327();
+    o.shipping = buildUnnamed350();
     o.shippingLabel = "foo";
     o.shippingWeight = buildProductShippingWeight();
     o.sizeSystem = "foo";
     o.sizeType = "foo";
-    o.sizes = buildUnnamed328();
+    o.sizes = buildUnnamed351();
     o.targetCountry = "foo";
-    o.taxes = buildUnnamed329();
+    o.taxes = buildUnnamed352();
     o.title = "foo";
     o.unitPricingBaseMeasure = buildProductUnitPricingBaseMeasure();
     o.unitPricingMeasure = buildProductUnitPricingMeasure();
-    o.validatedDestinations = buildUnnamed330();
-    o.warnings = buildUnnamed331();
+    o.validatedDestinations = buildUnnamed353();
+    o.warnings = buildUnnamed354();
   }
   buildCounterProduct--;
   return o;
@@ -1551,10 +1551,10 @@
 checkProduct(api.Product o) {
   buildCounterProduct++;
   if (buildCounterProduct < 3) {
-    checkUnnamed322(o.additionalImageLinks);
+    checkUnnamed345(o.additionalImageLinks);
     unittest.expect(o.adult, unittest.isTrue);
     unittest.expect(o.adwordsGrouping, unittest.equals('foo'));
-    checkUnnamed323(o.adwordsLabels);
+    checkUnnamed346(o.adwordsLabels);
     unittest.expect(o.adwordsRedirect, unittest.equals('foo'));
     unittest.expect(o.ageGroup, unittest.equals('foo'));
     unittest.expect(o.availability, unittest.equals('foo'));
@@ -1564,15 +1564,15 @@
     unittest.expect(o.color, unittest.equals('foo'));
     unittest.expect(o.condition, unittest.equals('foo'));
     unittest.expect(o.contentLanguage, unittest.equals('foo'));
-    checkUnnamed324(o.customAttributes);
-    checkUnnamed325(o.customGroups);
+    checkUnnamed347(o.customAttributes);
+    checkUnnamed348(o.customGroups);
     unittest.expect(o.customLabel0, unittest.equals('foo'));
     unittest.expect(o.customLabel1, unittest.equals('foo'));
     unittest.expect(o.customLabel2, unittest.equals('foo'));
     unittest.expect(o.customLabel3, unittest.equals('foo'));
     unittest.expect(o.customLabel4, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed326(o.destinations);
+    checkUnnamed349(o.destinations);
     unittest.expect(o.energyEfficiencyClass, unittest.equals('foo'));
     unittest.expect(o.expirationDate, unittest.equals('foo'));
     unittest.expect(o.gender, unittest.equals('foo'));
@@ -1598,19 +1598,19 @@
     unittest.expect(o.productType, unittest.equals('foo'));
     checkPrice(o.salePrice);
     unittest.expect(o.salePriceEffectiveDate, unittest.equals('foo'));
-    checkUnnamed327(o.shipping);
+    checkUnnamed350(o.shipping);
     unittest.expect(o.shippingLabel, unittest.equals('foo'));
     checkProductShippingWeight(o.shippingWeight);
     unittest.expect(o.sizeSystem, unittest.equals('foo'));
     unittest.expect(o.sizeType, unittest.equals('foo'));
-    checkUnnamed328(o.sizes);
+    checkUnnamed351(o.sizes);
     unittest.expect(o.targetCountry, unittest.equals('foo'));
-    checkUnnamed329(o.taxes);
+    checkUnnamed352(o.taxes);
     unittest.expect(o.title, unittest.equals('foo'));
     checkProductUnitPricingBaseMeasure(o.unitPricingBaseMeasure);
     checkProductUnitPricingMeasure(o.unitPricingMeasure);
-    checkUnnamed330(o.validatedDestinations);
-    checkUnnamed331(o.warnings);
+    checkUnnamed353(o.validatedDestinations);
+    checkUnnamed354(o.warnings);
   }
   buildCounterProduct--;
 }
@@ -1640,14 +1640,14 @@
   buildCounterProductCustomAttribute--;
 }
 
-buildUnnamed332() {
+buildUnnamed355() {
   var o = new core.List<api.ProductCustomAttribute>();
   o.add(buildProductCustomAttribute());
   o.add(buildProductCustomAttribute());
   return o;
 }
 
-checkUnnamed332(core.List<api.ProductCustomAttribute> o) {
+checkUnnamed355(core.List<api.ProductCustomAttribute> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductCustomAttribute(o[0]);
   checkProductCustomAttribute(o[1]);
@@ -1658,7 +1658,7 @@
   var o = new api.ProductCustomGroup();
   buildCounterProductCustomGroup++;
   if (buildCounterProductCustomGroup < 3) {
-    o.attributes = buildUnnamed332();
+    o.attributes = buildUnnamed355();
     o.name = "foo";
   }
   buildCounterProductCustomGroup--;
@@ -1668,7 +1668,7 @@
 checkProductCustomGroup(api.ProductCustomGroup o) {
   buildCounterProductCustomGroup++;
   if (buildCounterProductCustomGroup < 3) {
-    checkUnnamed332(o.attributes);
+    checkUnnamed355(o.attributes);
     unittest.expect(o.name, unittest.equals('foo'));
   }
   buildCounterProductCustomGroup--;
@@ -1768,27 +1768,27 @@
   buildCounterProductShippingWeight--;
 }
 
-buildUnnamed333() {
+buildUnnamed356() {
   var o = new core.List<api.ProductStatusDataQualityIssue>();
   o.add(buildProductStatusDataQualityIssue());
   o.add(buildProductStatusDataQualityIssue());
   return o;
 }
 
-checkUnnamed333(core.List<api.ProductStatusDataQualityIssue> o) {
+checkUnnamed356(core.List<api.ProductStatusDataQualityIssue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductStatusDataQualityIssue(o[0]);
   checkProductStatusDataQualityIssue(o[1]);
 }
 
-buildUnnamed334() {
+buildUnnamed357() {
   var o = new core.List<api.ProductStatusDestinationStatus>();
   o.add(buildProductStatusDestinationStatus());
   o.add(buildProductStatusDestinationStatus());
   return o;
 }
 
-checkUnnamed334(core.List<api.ProductStatusDestinationStatus> o) {
+checkUnnamed357(core.List<api.ProductStatusDestinationStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductStatusDestinationStatus(o[0]);
   checkProductStatusDestinationStatus(o[1]);
@@ -1799,8 +1799,8 @@
   var o = new api.ProductStatus();
   buildCounterProductStatus++;
   if (buildCounterProductStatus < 3) {
-    o.dataQualityIssues = buildUnnamed333();
-    o.destinationStatuses = buildUnnamed334();
+    o.dataQualityIssues = buildUnnamed356();
+    o.destinationStatuses = buildUnnamed357();
     o.kind = "foo";
     o.link = "foo";
     o.productId = "foo";
@@ -1813,8 +1813,8 @@
 checkProductStatus(api.ProductStatus o) {
   buildCounterProductStatus++;
   if (buildCounterProductStatus < 3) {
-    checkUnnamed333(o.dataQualityIssues);
-    checkUnnamed334(o.destinationStatuses);
+    checkUnnamed356(o.dataQualityIssues);
+    checkUnnamed357(o.destinationStatuses);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.link, unittest.equals('foo'));
     unittest.expect(o.productId, unittest.equals('foo'));
@@ -1948,14 +1948,14 @@
   buildCounterProductUnitPricingMeasure--;
 }
 
-buildUnnamed335() {
+buildUnnamed358() {
   var o = new core.List<api.ProductsCustomBatchRequestEntry>();
   o.add(buildProductsCustomBatchRequestEntry());
   o.add(buildProductsCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed335(core.List<api.ProductsCustomBatchRequestEntry> o) {
+checkUnnamed358(core.List<api.ProductsCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductsCustomBatchRequestEntry(o[0]);
   checkProductsCustomBatchRequestEntry(o[1]);
@@ -1966,7 +1966,7 @@
   var o = new api.ProductsCustomBatchRequest();
   buildCounterProductsCustomBatchRequest++;
   if (buildCounterProductsCustomBatchRequest < 3) {
-    o.entries = buildUnnamed335();
+    o.entries = buildUnnamed358();
   }
   buildCounterProductsCustomBatchRequest--;
   return o;
@@ -1975,7 +1975,7 @@
 checkProductsCustomBatchRequest(api.ProductsCustomBatchRequest o) {
   buildCounterProductsCustomBatchRequest++;
   if (buildCounterProductsCustomBatchRequest < 3) {
-    checkUnnamed335(o.entries);
+    checkUnnamed358(o.entries);
   }
   buildCounterProductsCustomBatchRequest--;
 }
@@ -2007,14 +2007,14 @@
   buildCounterProductsCustomBatchRequestEntry--;
 }
 
-buildUnnamed336() {
+buildUnnamed359() {
   var o = new core.List<api.ProductsCustomBatchResponseEntry>();
   o.add(buildProductsCustomBatchResponseEntry());
   o.add(buildProductsCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed336(core.List<api.ProductsCustomBatchResponseEntry> o) {
+checkUnnamed359(core.List<api.ProductsCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductsCustomBatchResponseEntry(o[0]);
   checkProductsCustomBatchResponseEntry(o[1]);
@@ -2025,7 +2025,7 @@
   var o = new api.ProductsCustomBatchResponse();
   buildCounterProductsCustomBatchResponse++;
   if (buildCounterProductsCustomBatchResponse < 3) {
-    o.entries = buildUnnamed336();
+    o.entries = buildUnnamed359();
     o.kind = "foo";
   }
   buildCounterProductsCustomBatchResponse--;
@@ -2035,7 +2035,7 @@
 checkProductsCustomBatchResponse(api.ProductsCustomBatchResponse o) {
   buildCounterProductsCustomBatchResponse++;
   if (buildCounterProductsCustomBatchResponse < 3) {
-    checkUnnamed336(o.entries);
+    checkUnnamed359(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterProductsCustomBatchResponse--;
@@ -2066,14 +2066,14 @@
   buildCounterProductsCustomBatchResponseEntry--;
 }
 
-buildUnnamed337() {
+buildUnnamed360() {
   var o = new core.List<api.Product>();
   o.add(buildProduct());
   o.add(buildProduct());
   return o;
 }
 
-checkUnnamed337(core.List<api.Product> o) {
+checkUnnamed360(core.List<api.Product> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProduct(o[0]);
   checkProduct(o[1]);
@@ -2086,7 +2086,7 @@
   if (buildCounterProductsListResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed337();
+    o.resources = buildUnnamed360();
   }
   buildCounterProductsListResponse--;
   return o;
@@ -2097,19 +2097,19 @@
   if (buildCounterProductsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed337(o.resources);
+    checkUnnamed360(o.resources);
   }
   buildCounterProductsListResponse--;
 }
 
-buildUnnamed338() {
+buildUnnamed361() {
   var o = new core.List<api.ProductstatusesCustomBatchRequestEntry>();
   o.add(buildProductstatusesCustomBatchRequestEntry());
   o.add(buildProductstatusesCustomBatchRequestEntry());
   return o;
 }
 
-checkUnnamed338(core.List<api.ProductstatusesCustomBatchRequestEntry> o) {
+checkUnnamed361(core.List<api.ProductstatusesCustomBatchRequestEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductstatusesCustomBatchRequestEntry(o[0]);
   checkProductstatusesCustomBatchRequestEntry(o[1]);
@@ -2120,7 +2120,7 @@
   var o = new api.ProductstatusesCustomBatchRequest();
   buildCounterProductstatusesCustomBatchRequest++;
   if (buildCounterProductstatusesCustomBatchRequest < 3) {
-    o.entries = buildUnnamed338();
+    o.entries = buildUnnamed361();
   }
   buildCounterProductstatusesCustomBatchRequest--;
   return o;
@@ -2129,7 +2129,7 @@
 checkProductstatusesCustomBatchRequest(api.ProductstatusesCustomBatchRequest o) {
   buildCounterProductstatusesCustomBatchRequest++;
   if (buildCounterProductstatusesCustomBatchRequest < 3) {
-    checkUnnamed338(o.entries);
+    checkUnnamed361(o.entries);
   }
   buildCounterProductstatusesCustomBatchRequest--;
 }
@@ -2159,14 +2159,14 @@
   buildCounterProductstatusesCustomBatchRequestEntry--;
 }
 
-buildUnnamed339() {
+buildUnnamed362() {
   var o = new core.List<api.ProductstatusesCustomBatchResponseEntry>();
   o.add(buildProductstatusesCustomBatchResponseEntry());
   o.add(buildProductstatusesCustomBatchResponseEntry());
   return o;
 }
 
-checkUnnamed339(core.List<api.ProductstatusesCustomBatchResponseEntry> o) {
+checkUnnamed362(core.List<api.ProductstatusesCustomBatchResponseEntry> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductstatusesCustomBatchResponseEntry(o[0]);
   checkProductstatusesCustomBatchResponseEntry(o[1]);
@@ -2177,7 +2177,7 @@
   var o = new api.ProductstatusesCustomBatchResponse();
   buildCounterProductstatusesCustomBatchResponse++;
   if (buildCounterProductstatusesCustomBatchResponse < 3) {
-    o.entries = buildUnnamed339();
+    o.entries = buildUnnamed362();
     o.kind = "foo";
   }
   buildCounterProductstatusesCustomBatchResponse--;
@@ -2187,7 +2187,7 @@
 checkProductstatusesCustomBatchResponse(api.ProductstatusesCustomBatchResponse o) {
   buildCounterProductstatusesCustomBatchResponse++;
   if (buildCounterProductstatusesCustomBatchResponse < 3) {
-    checkUnnamed339(o.entries);
+    checkUnnamed362(o.entries);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterProductstatusesCustomBatchResponse--;
@@ -2218,14 +2218,14 @@
   buildCounterProductstatusesCustomBatchResponseEntry--;
 }
 
-buildUnnamed340() {
+buildUnnamed363() {
   var o = new core.List<api.ProductStatus>();
   o.add(buildProductStatus());
   o.add(buildProductStatus());
   return o;
 }
 
-checkUnnamed340(core.List<api.ProductStatus> o) {
+checkUnnamed363(core.List<api.ProductStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProductStatus(o[0]);
   checkProductStatus(o[1]);
@@ -2238,7 +2238,7 @@
   if (buildCounterProductstatusesListResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed340();
+    o.resources = buildUnnamed363();
   }
   buildCounterProductstatusesListResponse--;
   return o;
@@ -2249,7 +2249,7 @@
   if (buildCounterProductstatusesListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed340(o.resources);
+    checkUnnamed363(o.resources);
   }
   buildCounterProductstatusesListResponse--;
 }
@@ -2864,8 +2864,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("accounts/batch"));
         pathOffset += 14;
 
@@ -2909,18 +2911,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/accounts/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_accountId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2960,18 +2952,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/accounts/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_accountId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3016,15 +2998,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/accounts"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3067,15 +3042,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/accounts"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3123,18 +3091,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/accounts/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_accountId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3180,18 +3138,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accounts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/accounts/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_accountId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3239,8 +3187,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("accountstatuses/batch"));
         pathOffset += 21;
 
@@ -3284,18 +3234,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accountstatuses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/accountstatuses/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_accountId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3338,15 +3278,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/accountstatuses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/accountstatuses"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3396,8 +3329,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("datafeeds/batch"));
         pathOffset += 15;
 
@@ -3441,18 +3376,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/datafeeds/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_datafeedId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3492,18 +3417,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/datafeeds/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_datafeedId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3548,15 +3463,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/datafeeds"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3597,15 +3505,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/datafeeds"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3651,18 +3552,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/datafeeds/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_datafeedId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3708,18 +3599,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeeds/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/datafeeds/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_datafeedId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3767,8 +3648,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("datafeedstatuses/batch"));
         pathOffset += 22;
 
@@ -3812,18 +3695,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeedstatuses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/datafeedstatuses/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_datafeedId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3864,15 +3737,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/datafeedstatuses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/datafeedstatuses"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -3920,8 +3786,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("inventory/batch"));
         pathOffset += 15;
 
@@ -3970,25 +3838,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/inventory/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/inventory/"));
-        pathOffset += 11;
-        index = path.indexOf("/products/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_storeCode"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/products/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4037,8 +3888,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("products/batch"));
         pathOffset += 14;
 
@@ -4084,18 +3937,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/products/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/products/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4136,18 +3979,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/products/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/products/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4193,15 +4026,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/products", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/products"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4245,15 +4071,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/products", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/products"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4303,8 +4122,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("content/v2/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("productstatuses/batch"));
         pathOffset += 21;
 
@@ -4348,18 +4169,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/productstatuses/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/productstatuses/"));
-        pathOffset += 17;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -4402,15 +4213,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/content/v2/"));
-        pathOffset += 12;
-        index = path.indexOf("/productstatuses", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_merchantId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/productstatuses"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/coordinate/v1_test.dart b/generated/googleapis/test/coordinate/v1_test.dart
index 9403ea8..387d2c6 100644
--- a/generated/googleapis/test/coordinate/v1_test.dart
+++ b/generated/googleapis/test/coordinate/v1_test.dart
@@ -68,14 +68,14 @@
   buildCounterCustomFieldDef--;
 }
 
-buildUnnamed445() {
+buildUnnamed470() {
   var o = new core.List<api.CustomFieldDef>();
   o.add(buildCustomFieldDef());
   o.add(buildCustomFieldDef());
   return o;
 }
 
-checkUnnamed445(core.List<api.CustomFieldDef> o) {
+checkUnnamed470(core.List<api.CustomFieldDef> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomFieldDef(o[0]);
   checkCustomFieldDef(o[1]);
@@ -86,7 +86,7 @@
   var o = new api.CustomFieldDefListResponse();
   buildCounterCustomFieldDefListResponse++;
   if (buildCounterCustomFieldDefListResponse < 3) {
-    o.items = buildUnnamed445();
+    o.items = buildUnnamed470();
     o.kind = "foo";
   }
   buildCounterCustomFieldDefListResponse--;
@@ -96,20 +96,20 @@
 checkCustomFieldDefListResponse(api.CustomFieldDefListResponse o) {
   buildCounterCustomFieldDefListResponse++;
   if (buildCounterCustomFieldDefListResponse < 3) {
-    checkUnnamed445(o.items);
+    checkUnnamed470(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterCustomFieldDefListResponse--;
 }
 
-buildUnnamed446() {
+buildUnnamed471() {
   var o = new core.List<api.CustomField>();
   o.add(buildCustomField());
   o.add(buildCustomField());
   return o;
 }
 
-checkUnnamed446(core.List<api.CustomField> o) {
+checkUnnamed471(core.List<api.CustomField> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomField(o[0]);
   checkCustomField(o[1]);
@@ -120,7 +120,7 @@
   var o = new api.CustomFields();
   buildCounterCustomFields++;
   if (buildCounterCustomFields < 3) {
-    o.customField = buildUnnamed446();
+    o.customField = buildUnnamed471();
     o.kind = "foo";
   }
   buildCounterCustomFields--;
@@ -130,20 +130,20 @@
 checkCustomFields(api.CustomFields o) {
   buildCounterCustomFields++;
   if (buildCounterCustomFields < 3) {
-    checkUnnamed446(o.customField);
+    checkUnnamed471(o.customField);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterCustomFields--;
 }
 
-buildUnnamed447() {
+buildUnnamed472() {
   var o = new core.List<api.JobChange>();
   o.add(buildJobChange());
   o.add(buildJobChange());
   return o;
 }
 
-checkUnnamed447(core.List<api.JobChange> o) {
+checkUnnamed472(core.List<api.JobChange> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJobChange(o[0]);
   checkJobChange(o[1]);
@@ -155,7 +155,7 @@
   buildCounterJob++;
   if (buildCounterJob < 3) {
     o.id = "foo";
-    o.jobChange = buildUnnamed447();
+    o.jobChange = buildUnnamed472();
     o.kind = "foo";
     o.state = buildJobState();
   }
@@ -167,7 +167,7 @@
   buildCounterJob++;
   if (buildCounterJob < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed447(o.jobChange);
+    checkUnnamed472(o.jobChange);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkJobState(o.state);
   }
@@ -197,14 +197,14 @@
   buildCounterJobChange--;
 }
 
-buildUnnamed448() {
+buildUnnamed473() {
   var o = new core.List<api.Job>();
   o.add(buildJob());
   o.add(buildJob());
   return o;
 }
 
-checkUnnamed448(core.List<api.Job> o) {
+checkUnnamed473(core.List<api.Job> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJob(o[0]);
   checkJob(o[1]);
@@ -215,7 +215,7 @@
   var o = new api.JobListResponse();
   buildCounterJobListResponse++;
   if (buildCounterJobListResponse < 3) {
-    o.items = buildUnnamed448();
+    o.items = buildUnnamed473();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -226,21 +226,21 @@
 checkJobListResponse(api.JobListResponse o) {
   buildCounterJobListResponse++;
   if (buildCounterJobListResponse < 3) {
-    checkUnnamed448(o.items);
+    checkUnnamed473(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterJobListResponse--;
 }
 
-buildUnnamed449() {
+buildUnnamed474() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed449(core.List<core.String> o) {
+checkUnnamed474(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -257,7 +257,7 @@
     o.customerPhoneNumber = "foo";
     o.kind = "foo";
     o.location = buildLocation();
-    o.note = buildUnnamed449();
+    o.note = buildUnnamed474();
     o.progress = "foo";
     o.title = "foo";
   }
@@ -274,21 +274,21 @@
     unittest.expect(o.customerPhoneNumber, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     checkLocation(o.location);
-    checkUnnamed449(o.note);
+    checkUnnamed474(o.note);
     unittest.expect(o.progress, unittest.equals('foo'));
     unittest.expect(o.title, unittest.equals('foo'));
   }
   buildCounterJobState--;
 }
 
-buildUnnamed450() {
+buildUnnamed475() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed450(core.List<core.String> o) {
+checkUnnamed475(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -299,7 +299,7 @@
   var o = new api.Location();
   buildCounterLocation++;
   if (buildCounterLocation < 3) {
-    o.addressLine = buildUnnamed450();
+    o.addressLine = buildUnnamed475();
     o.kind = "foo";
     o.lat = 42.0;
     o.lng = 42.0;
@@ -311,7 +311,7 @@
 checkLocation(api.Location o) {
   buildCounterLocation++;
   if (buildCounterLocation < 3) {
-    checkUnnamed450(o.addressLine);
+    checkUnnamed475(o.addressLine);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lat, unittest.equals(42.0));
     unittest.expect(o.lng, unittest.equals(42.0));
@@ -319,14 +319,14 @@
   buildCounterLocation--;
 }
 
-buildUnnamed451() {
+buildUnnamed476() {
   var o = new core.List<api.LocationRecord>();
   o.add(buildLocationRecord());
   o.add(buildLocationRecord());
   return o;
 }
 
-checkUnnamed451(core.List<api.LocationRecord> o) {
+checkUnnamed476(core.List<api.LocationRecord> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLocationRecord(o[0]);
   checkLocationRecord(o[1]);
@@ -337,7 +337,7 @@
   var o = new api.LocationListResponse();
   buildCounterLocationListResponse++;
   if (buildCounterLocationListResponse < 3) {
-    o.items = buildUnnamed451();
+    o.items = buildUnnamed476();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.tokenPagination = buildTokenPagination();
@@ -349,7 +349,7 @@
 checkLocationListResponse(api.LocationListResponse o) {
   buildCounterLocationListResponse++;
   if (buildCounterLocationListResponse < 3) {
-    checkUnnamed451(o.items);
+    checkUnnamed476(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkTokenPagination(o.tokenPagination);
@@ -455,14 +455,14 @@
   buildCounterWorker--;
 }
 
-buildUnnamed452() {
+buildUnnamed477() {
   var o = new core.List<api.Worker>();
   o.add(buildWorker());
   o.add(buildWorker());
   return o;
 }
 
-checkUnnamed452(core.List<api.Worker> o) {
+checkUnnamed477(core.List<api.Worker> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkWorker(o[0]);
   checkWorker(o[1]);
@@ -473,7 +473,7 @@
   var o = new api.WorkerListResponse();
   buildCounterWorkerListResponse++;
   if (buildCounterWorkerListResponse < 3) {
-    o.items = buildUnnamed452();
+    o.items = buildUnnamed477();
     o.kind = "foo";
   }
   buildCounterWorkerListResponse--;
@@ -483,46 +483,46 @@
 checkWorkerListResponse(api.WorkerListResponse o) {
   buildCounterWorkerListResponse++;
   if (buildCounterWorkerListResponse < 3) {
-    checkUnnamed452(o.items);
+    checkUnnamed477(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterWorkerListResponse--;
 }
 
-buildUnnamed453() {
+buildUnnamed478() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed453(core.List<core.String> o) {
+checkUnnamed478(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed454() {
+buildUnnamed479() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed454(core.List<core.String> o) {
+checkUnnamed479(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed455() {
+buildUnnamed480() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed455(core.List<core.String> o) {
+checkUnnamed480(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -676,15 +676,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/custom_fields", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/custom_fields"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -730,18 +723,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -783,7 +766,7 @@
       var arg_lng = 42.0;
       var arg_title = "foo";
       var arg_assignee = "foo";
-      var arg_customField = buildUnnamed453();
+      var arg_customField = buildUnnamed478();
       var arg_customerName = "foo";
       var arg_customerPhoneNumber = "foo";
       var arg_note = "foo";
@@ -795,15 +778,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/jobs"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -856,15 +832,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/jobs"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -907,7 +876,7 @@
       var arg_jobId = "foo";
       var arg_address = "foo";
       var arg_assignee = "foo";
-      var arg_customField = buildUnnamed454();
+      var arg_customField = buildUnnamed479();
       var arg_customerName = "foo";
       var arg_customerPhoneNumber = "foo";
       var arg_lat = 42.0;
@@ -923,18 +892,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -984,7 +943,7 @@
       var arg_jobId = "foo";
       var arg_address = "foo";
       var arg_assignee = "foo";
-      var arg_customField = buildUnnamed455();
+      var arg_customField = buildUnnamed480();
       var arg_customerName = "foo";
       var arg_customerPhoneNumber = "foo";
       var arg_lat = 42.0;
@@ -1000,18 +959,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1070,22 +1019,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/workers/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/workers/"));
-        pathOffset += 9;
-        index = path.indexOf("/locations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_workerEmail"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/locations"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1134,22 +1069,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        index = path.indexOf("/schedule", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schedule"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1199,22 +1120,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        index = path.indexOf("/schedule", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schedule"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1268,22 +1175,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/jobs/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/jobs/"));
-        pathOffset += 6;
-        index = path.indexOf("/schedule", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_jobId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/schedule"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1332,15 +1225,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/coordinate/v1/teams/"));
-        pathOffset += 21;
-        index = path.indexOf("/workers", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_teamId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/workers"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/customsearch/v1_test.dart b/generated/googleapis/test/customsearch/v1_test.dart
index 3048bd9..46ccc62 100644
--- a/generated/googleapis/test/customsearch/v1_test.dart
+++ b/generated/googleapis/test/customsearch/v1_test.dart
@@ -39,30 +39,30 @@
   buildCounterContextFacets--;
 }
 
-buildUnnamed288() {
+buildUnnamed291() {
   var o = new core.List<api.ContextFacets>();
   o.add(buildContextFacets());
   o.add(buildContextFacets());
   return o;
 }
 
-checkUnnamed288(core.List<api.ContextFacets> o) {
+checkUnnamed291(core.List<api.ContextFacets> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkContextFacets(o[0]);
   checkContextFacets(o[1]);
 }
 
-buildUnnamed289() {
+buildUnnamed292() {
   var o = new core.List<core.List<api.ContextFacets>>();
-  o.add(buildUnnamed288());
-  o.add(buildUnnamed288());
+  o.add(buildUnnamed291());
+  o.add(buildUnnamed291());
   return o;
 }
 
-checkUnnamed289(core.List<core.List<api.ContextFacets>> o) {
+checkUnnamed292(core.List<core.List<api.ContextFacets>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed288(o[0]);
-  checkUnnamed288(o[1]);
+  checkUnnamed291(o[0]);
+  checkUnnamed291(o[1]);
 }
 
 core.int buildCounterContext = 0;
@@ -70,7 +70,7 @@
   var o = new api.Context();
   buildCounterContext++;
   if (buildCounterContext < 3) {
-    o.facets = buildUnnamed289();
+    o.facets = buildUnnamed292();
     o.title = "foo";
   }
   buildCounterContext--;
@@ -80,7 +80,7 @@
 checkContext(api.Context o) {
   buildCounterContext++;
   if (buildCounterContext < 3) {
-    checkUnnamed289(o.facets);
+    checkUnnamed292(o.facets);
     unittest.expect(o.title, unittest.equals('foo'));
   }
   buildCounterContext--;
@@ -111,14 +111,14 @@
   buildCounterPromotionBodyLines--;
 }
 
-buildUnnamed290() {
+buildUnnamed293() {
   var o = new core.List<api.PromotionBodyLines>();
   o.add(buildPromotionBodyLines());
   o.add(buildPromotionBodyLines());
   return o;
 }
 
-checkUnnamed290(core.List<api.PromotionBodyLines> o) {
+checkUnnamed293(core.List<api.PromotionBodyLines> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPromotionBodyLines(o[0]);
   checkPromotionBodyLines(o[1]);
@@ -152,7 +152,7 @@
   var o = new api.Promotion();
   buildCounterPromotion++;
   if (buildCounterPromotion < 3) {
-    o.bodyLines = buildUnnamed290();
+    o.bodyLines = buildUnnamed293();
     o.displayLink = "foo";
     o.htmlTitle = "foo";
     o.image = buildPromotionImage();
@@ -166,7 +166,7 @@
 checkPromotion(api.Promotion o) {
   buildCounterPromotion++;
   if (buildCounterPromotion < 3) {
-    checkUnnamed290(o.bodyLines);
+    checkUnnamed293(o.bodyLines);
     unittest.expect(o.displayLink, unittest.equals('foo'));
     unittest.expect(o.htmlTitle, unittest.equals('foo'));
     checkPromotionImage(o.image);
@@ -321,56 +321,56 @@
   buildCounterResultLabels--;
 }
 
-buildUnnamed291() {
+buildUnnamed294() {
   var o = new core.List<api.ResultLabels>();
   o.add(buildResultLabels());
   o.add(buildResultLabels());
   return o;
 }
 
-checkUnnamed291(core.List<api.ResultLabels> o) {
+checkUnnamed294(core.List<api.ResultLabels> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultLabels(o[0]);
   checkResultLabels(o[1]);
 }
 
-buildUnnamed292() {
+buildUnnamed295() {
   var o = new core.Map<core.String, core.Object>();
   o["x"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   o["y"] = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
   return o;
 }
 
-checkUnnamed292(core.Map<core.String, core.Object> o) {
+checkUnnamed295(core.Map<core.String, core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o["x"]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o["y"]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed293() {
+buildUnnamed296() {
   var o = new core.List<core.Map<core.String, core.Object>>();
-  o.add(buildUnnamed292());
-  o.add(buildUnnamed292());
+  o.add(buildUnnamed295());
+  o.add(buildUnnamed295());
   return o;
 }
 
-checkUnnamed293(core.List<core.Map<core.String, core.Object>> o) {
+checkUnnamed296(core.List<core.Map<core.String, core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed292(o[0]);
-  checkUnnamed292(o[1]);
+  checkUnnamed295(o[0]);
+  checkUnnamed295(o[1]);
 }
 
-buildUnnamed294() {
+buildUnnamed297() {
   var o = new core.Map<core.String, core.List<core.Map<core.String, core.Object>>>();
-  o["x"] = buildUnnamed293();
-  o["y"] = buildUnnamed293();
+  o["x"] = buildUnnamed296();
+  o["y"] = buildUnnamed296();
   return o;
 }
 
-checkUnnamed294(core.Map<core.String, core.List<core.Map<core.String, core.Object>>> o) {
+checkUnnamed297(core.Map<core.String, core.List<core.Map<core.String, core.Object>>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed293(o["x"]);
-  checkUnnamed293(o["y"]);
+  checkUnnamed296(o["x"]);
+  checkUnnamed296(o["y"]);
 }
 
 core.int buildCounterResult = 0;
@@ -387,10 +387,10 @@
     o.htmlTitle = "foo";
     o.image = buildResultImage();
     o.kind = "foo";
-    o.labels = buildUnnamed291();
+    o.labels = buildUnnamed294();
     o.link = "foo";
     o.mime = "foo";
-    o.pagemap = buildUnnamed294();
+    o.pagemap = buildUnnamed297();
     o.snippet = "foo";
     o.title = "foo";
   }
@@ -410,66 +410,66 @@
     unittest.expect(o.htmlTitle, unittest.equals('foo'));
     checkResultImage(o.image);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed291(o.labels);
+    checkUnnamed294(o.labels);
     unittest.expect(o.link, unittest.equals('foo'));
     unittest.expect(o.mime, unittest.equals('foo'));
-    checkUnnamed294(o.pagemap);
+    checkUnnamed297(o.pagemap);
     unittest.expect(o.snippet, unittest.equals('foo'));
     unittest.expect(o.title, unittest.equals('foo'));
   }
   buildCounterResult--;
 }
 
-buildUnnamed295() {
+buildUnnamed298() {
   var o = new core.List<api.Result>();
   o.add(buildResult());
   o.add(buildResult());
   return o;
 }
 
-checkUnnamed295(core.List<api.Result> o) {
+checkUnnamed298(core.List<api.Result> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResult(o[0]);
   checkResult(o[1]);
 }
 
-buildUnnamed296() {
+buildUnnamed299() {
   var o = new core.List<api.Promotion>();
   o.add(buildPromotion());
   o.add(buildPromotion());
   return o;
 }
 
-checkUnnamed296(core.List<api.Promotion> o) {
+checkUnnamed299(core.List<api.Promotion> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPromotion(o[0]);
   checkPromotion(o[1]);
 }
 
-buildUnnamed297() {
+buildUnnamed300() {
   var o = new core.List<api.Query>();
   o.add(buildQuery());
   o.add(buildQuery());
   return o;
 }
 
-checkUnnamed297(core.List<api.Query> o) {
+checkUnnamed300(core.List<api.Query> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkQuery(o[0]);
   checkQuery(o[1]);
 }
 
-buildUnnamed298() {
+buildUnnamed301() {
   var o = new core.Map<core.String, core.List<api.Query>>();
-  o["x"] = buildUnnamed297();
-  o["y"] = buildUnnamed297();
+  o["x"] = buildUnnamed300();
+  o["y"] = buildUnnamed300();
   return o;
 }
 
-checkUnnamed298(core.Map<core.String, core.List<api.Query>> o) {
+checkUnnamed301(core.Map<core.String, core.List<api.Query>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed297(o["x"]);
-  checkUnnamed297(o["y"]);
+  checkUnnamed300(o["x"]);
+  checkUnnamed300(o["y"]);
 }
 
 core.int buildCounterSearchSearchInformation = 0;
@@ -545,10 +545,10 @@
   buildCounterSearch++;
   if (buildCounterSearch < 3) {
     o.context = buildContext();
-    o.items = buildUnnamed295();
+    o.items = buildUnnamed298();
     o.kind = "foo";
-    o.promotions = buildUnnamed296();
-    o.queries = buildUnnamed298();
+    o.promotions = buildUnnamed299();
+    o.queries = buildUnnamed301();
     o.searchInformation = buildSearchSearchInformation();
     o.spelling = buildSearchSpelling();
     o.url = buildSearchUrl();
@@ -561,10 +561,10 @@
   buildCounterSearch++;
   if (buildCounterSearch < 3) {
     checkContext(o.context);
-    checkUnnamed295(o.items);
+    checkUnnamed298(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed296(o.promotions);
-    checkUnnamed298(o.queries);
+    checkUnnamed299(o.promotions);
+    checkUnnamed301(o.queries);
     checkSearchSearchInformation(o.searchInformation);
     checkSearchSpelling(o.spelling);
     checkSearchUrl(o.url);
@@ -733,8 +733,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/customsearch/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("customsearch/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("v1"));
         pathOffset += 2;
 
diff --git a/generated/googleapis/test/dfareporting/v1_3_test.dart b/generated/googleapis/test/dfareporting/v1_3_test.dart
index de3acee..f20951c 100644
--- a/generated/googleapis/test/dfareporting/v1_3_test.dart
+++ b/generated/googleapis/test/dfareporting/v1_3_test.dart
@@ -16,27 +16,27 @@
 
 
 
-buildUnnamed211() {
+buildUnnamed214() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed211(core.List<api.DimensionValue> o) {
+checkUnnamed214(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
 }
 
-buildUnnamed212() {
+buildUnnamed215() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed212(core.List<core.String> o) {
+checkUnnamed215(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -47,9 +47,9 @@
   var o = new api.Activities();
   buildCounterActivities++;
   if (buildCounterActivities < 3) {
-    o.filters = buildUnnamed211();
+    o.filters = buildUnnamed214();
     o.kind = "foo";
-    o.metricNames = buildUnnamed212();
+    o.metricNames = buildUnnamed215();
   }
   buildCounterActivities--;
   return o;
@@ -58,9 +58,9 @@
 checkActivities(api.Activities o) {
   buildCounterActivities++;
   if (buildCounterActivities < 3) {
-    checkUnnamed211(o.filters);
+    checkUnnamed214(o.filters);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed212(o.metricNames);
+    checkUnnamed215(o.metricNames);
   }
   buildCounterActivities--;
 }
@@ -94,53 +94,53 @@
   buildCounterCompatibleFields--;
 }
 
-buildUnnamed213() {
+buildUnnamed216() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
   o.add(buildDimension());
   return o;
 }
 
-checkUnnamed213(core.List<api.Dimension> o) {
+checkUnnamed216(core.List<api.Dimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimension(o[0]);
   checkDimension(o[1]);
 }
 
-buildUnnamed214() {
+buildUnnamed217() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
   o.add(buildDimension());
   return o;
 }
 
-checkUnnamed214(core.List<api.Dimension> o) {
+checkUnnamed217(core.List<api.Dimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimension(o[0]);
   checkDimension(o[1]);
 }
 
-buildUnnamed215() {
+buildUnnamed218() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed215(core.List<api.Metric> o) {
+checkUnnamed218(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
 }
 
-buildUnnamed216() {
+buildUnnamed219() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed216(core.List<api.Metric> o) {
+checkUnnamed219(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
@@ -151,11 +151,11 @@
   var o = new api.CrossDimensionReachReportCompatibleFields();
   buildCounterCrossDimensionReachReportCompatibleFields++;
   if (buildCounterCrossDimensionReachReportCompatibleFields < 3) {
-    o.breakdown = buildUnnamed213();
-    o.dimensionFilters = buildUnnamed214();
+    o.breakdown = buildUnnamed216();
+    o.dimensionFilters = buildUnnamed217();
     o.kind = "foo";
-    o.metrics = buildUnnamed215();
-    o.overlapMetrics = buildUnnamed216();
+    o.metrics = buildUnnamed218();
+    o.overlapMetrics = buildUnnamed219();
   }
   buildCounterCrossDimensionReachReportCompatibleFields--;
   return o;
@@ -164,23 +164,23 @@
 checkCrossDimensionReachReportCompatibleFields(api.CrossDimensionReachReportCompatibleFields o) {
   buildCounterCrossDimensionReachReportCompatibleFields++;
   if (buildCounterCrossDimensionReachReportCompatibleFields < 3) {
-    checkUnnamed213(o.breakdown);
-    checkUnnamed214(o.dimensionFilters);
+    checkUnnamed216(o.breakdown);
+    checkUnnamed217(o.dimensionFilters);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed215(o.metrics);
-    checkUnnamed216(o.overlapMetrics);
+    checkUnnamed218(o.metrics);
+    checkUnnamed219(o.overlapMetrics);
   }
   buildCounterCrossDimensionReachReportCompatibleFields--;
 }
 
-buildUnnamed217() {
+buildUnnamed220() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed217(core.List<api.DimensionValue> o) {
+checkUnnamed220(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
@@ -191,7 +191,7 @@
   var o = new api.CustomRichMediaEvents();
   buildCounterCustomRichMediaEvents++;
   if (buildCounterCustomRichMediaEvents < 3) {
-    o.filteredEventIds = buildUnnamed217();
+    o.filteredEventIds = buildUnnamed220();
     o.kind = "foo";
   }
   buildCounterCustomRichMediaEvents--;
@@ -201,7 +201,7 @@
 checkCustomRichMediaEvents(api.CustomRichMediaEvents o) {
   buildCounterCustomRichMediaEvents++;
   if (buildCounterCustomRichMediaEvents < 3) {
-    checkUnnamed217(o.filteredEventIds);
+    checkUnnamed220(o.filteredEventIds);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterCustomRichMediaEvents--;
@@ -305,14 +305,14 @@
   buildCounterDimensionValue--;
 }
 
-buildUnnamed218() {
+buildUnnamed221() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed218(core.List<api.DimensionValue> o) {
+checkUnnamed221(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
@@ -324,7 +324,7 @@
   buildCounterDimensionValueList++;
   if (buildCounterDimensionValueList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed218();
+    o.items = buildUnnamed221();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -336,21 +336,21 @@
   buildCounterDimensionValueList++;
   if (buildCounterDimensionValueList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed218(o.items);
+    checkUnnamed221(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterDimensionValueList--;
 }
 
-buildUnnamed219() {
+buildUnnamed222() {
   var o = new core.List<api.DimensionFilter>();
   o.add(buildDimensionFilter());
   o.add(buildDimensionFilter());
   return o;
 }
 
-checkUnnamed219(core.List<api.DimensionFilter> o) {
+checkUnnamed222(core.List<api.DimensionFilter> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionFilter(o[0]);
   checkDimensionFilter(o[1]);
@@ -363,7 +363,7 @@
   if (buildCounterDimensionValueRequest < 3) {
     o.dimensionName = "foo";
     o.endDate = core.DateTime.parse("2002-02-27T14:01:02Z");
-    o.filters = buildUnnamed219();
+    o.filters = buildUnnamed222();
     o.kind = "foo";
     o.startDate = core.DateTime.parse("2002-02-27T14:01:02Z");
   }
@@ -376,7 +376,7 @@
   if (buildCounterDimensionValueRequest < 3) {
     unittest.expect(o.dimensionName, unittest.equals('foo'));
     unittest.expect(o.endDate, unittest.equals(core.DateTime.parse("2002-02-27T00:00:00")));
-    checkUnnamed219(o.filters);
+    checkUnnamed222(o.filters);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.startDate, unittest.equals(core.DateTime.parse("2002-02-27T00:00:00")));
   }
@@ -441,14 +441,14 @@
   buildCounterFile--;
 }
 
-buildUnnamed220() {
+buildUnnamed223() {
   var o = new core.List<api.File>();
   o.add(buildFile());
   o.add(buildFile());
   return o;
 }
 
-checkUnnamed220(core.List<api.File> o) {
+checkUnnamed223(core.List<api.File> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFile(o[0]);
   checkFile(o[1]);
@@ -460,7 +460,7 @@
   buildCounterFileList++;
   if (buildCounterFileList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed220();
+    o.items = buildUnnamed223();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -472,98 +472,13 @@
   buildCounterFileList++;
   if (buildCounterFileList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed220(o.items);
+    checkUnnamed223(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterFileList--;
 }
 
-buildUnnamed221() {
-  var o = new core.List<api.Dimension>();
-  o.add(buildDimension());
-  o.add(buildDimension());
-  return o;
-}
-
-checkUnnamed221(core.List<api.Dimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkDimension(o[0]);
-  checkDimension(o[1]);
-}
-
-buildUnnamed222() {
-  var o = new core.List<api.Dimension>();
-  o.add(buildDimension());
-  o.add(buildDimension());
-  return o;
-}
-
-checkUnnamed222(core.List<api.Dimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkDimension(o[0]);
-  checkDimension(o[1]);
-}
-
-buildUnnamed223() {
-  var o = new core.List<api.Metric>();
-  o.add(buildMetric());
-  o.add(buildMetric());
-  return o;
-}
-
-checkUnnamed223(core.List<api.Metric> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkMetric(o[0]);
-  checkMetric(o[1]);
-}
-
-core.int buildCounterFloodlightReportCompatibleFields = 0;
-buildFloodlightReportCompatibleFields() {
-  var o = new api.FloodlightReportCompatibleFields();
-  buildCounterFloodlightReportCompatibleFields++;
-  if (buildCounterFloodlightReportCompatibleFields < 3) {
-    o.dimensionFilters = buildUnnamed221();
-    o.dimensions = buildUnnamed222();
-    o.kind = "foo";
-    o.metrics = buildUnnamed223();
-  }
-  buildCounterFloodlightReportCompatibleFields--;
-  return o;
-}
-
-checkFloodlightReportCompatibleFields(api.FloodlightReportCompatibleFields o) {
-  buildCounterFloodlightReportCompatibleFields++;
-  if (buildCounterFloodlightReportCompatibleFields < 3) {
-    checkUnnamed221(o.dimensionFilters);
-    checkUnnamed222(o.dimensions);
-    unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed223(o.metrics);
-  }
-  buildCounterFloodlightReportCompatibleFields--;
-}
-
-core.int buildCounterMetric = 0;
-buildMetric() {
-  var o = new api.Metric();
-  buildCounterMetric++;
-  if (buildCounterMetric < 3) {
-    o.kind = "foo";
-    o.name = "foo";
-  }
-  buildCounterMetric--;
-  return o;
-}
-
-checkMetric(api.Metric o) {
-  buildCounterMetric++;
-  if (buildCounterMetric < 3) {
-    unittest.expect(o.kind, unittest.equals('foo'));
-    unittest.expect(o.name, unittest.equals('foo'));
-  }
-  buildCounterMetric--;
-}
-
 buildUnnamed224() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
@@ -603,6 +518,52 @@
   checkMetric(o[1]);
 }
 
+core.int buildCounterFloodlightReportCompatibleFields = 0;
+buildFloodlightReportCompatibleFields() {
+  var o = new api.FloodlightReportCompatibleFields();
+  buildCounterFloodlightReportCompatibleFields++;
+  if (buildCounterFloodlightReportCompatibleFields < 3) {
+    o.dimensionFilters = buildUnnamed224();
+    o.dimensions = buildUnnamed225();
+    o.kind = "foo";
+    o.metrics = buildUnnamed226();
+  }
+  buildCounterFloodlightReportCompatibleFields--;
+  return o;
+}
+
+checkFloodlightReportCompatibleFields(api.FloodlightReportCompatibleFields o) {
+  buildCounterFloodlightReportCompatibleFields++;
+  if (buildCounterFloodlightReportCompatibleFields < 3) {
+    checkUnnamed224(o.dimensionFilters);
+    checkUnnamed225(o.dimensions);
+    unittest.expect(o.kind, unittest.equals('foo'));
+    checkUnnamed226(o.metrics);
+  }
+  buildCounterFloodlightReportCompatibleFields--;
+}
+
+core.int buildCounterMetric = 0;
+buildMetric() {
+  var o = new api.Metric();
+  buildCounterMetric++;
+  if (buildCounterMetric < 3) {
+    o.kind = "foo";
+    o.name = "foo";
+  }
+  buildCounterMetric--;
+  return o;
+}
+
+checkMetric(api.Metric o) {
+  buildCounterMetric++;
+  if (buildCounterMetric < 3) {
+    unittest.expect(o.kind, unittest.equals('foo'));
+    unittest.expect(o.name, unittest.equals('foo'));
+  }
+  buildCounterMetric--;
+}
+
 buildUnnamed227() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
@@ -616,33 +577,6 @@
   checkDimension(o[1]);
 }
 
-core.int buildCounterPathToConversionReportCompatibleFields = 0;
-buildPathToConversionReportCompatibleFields() {
-  var o = new api.PathToConversionReportCompatibleFields();
-  buildCounterPathToConversionReportCompatibleFields++;
-  if (buildCounterPathToConversionReportCompatibleFields < 3) {
-    o.conversionDimensions = buildUnnamed224();
-    o.customFloodlightVariables = buildUnnamed225();
-    o.kind = "foo";
-    o.metrics = buildUnnamed226();
-    o.perInteractionDimensions = buildUnnamed227();
-  }
-  buildCounterPathToConversionReportCompatibleFields--;
-  return o;
-}
-
-checkPathToConversionReportCompatibleFields(api.PathToConversionReportCompatibleFields o) {
-  buildCounterPathToConversionReportCompatibleFields++;
-  if (buildCounterPathToConversionReportCompatibleFields < 3) {
-    checkUnnamed224(o.conversionDimensions);
-    checkUnnamed225(o.customFloodlightVariables);
-    unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed226(o.metrics);
-    checkUnnamed227(o.perInteractionDimensions);
-  }
-  buildCounterPathToConversionReportCompatibleFields--;
-}
-
 buildUnnamed228() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
@@ -657,52 +591,118 @@
 }
 
 buildUnnamed229() {
+  var o = new core.List<api.Metric>();
+  o.add(buildMetric());
+  o.add(buildMetric());
+  return o;
+}
+
+checkUnnamed229(core.List<api.Metric> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkMetric(o[0]);
+  checkMetric(o[1]);
+}
+
+buildUnnamed230() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
   o.add(buildDimension());
   return o;
 }
 
-checkUnnamed229(core.List<api.Dimension> o) {
+checkUnnamed230(core.List<api.Dimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimension(o[0]);
   checkDimension(o[1]);
 }
 
-buildUnnamed230() {
-  var o = new core.List<api.Metric>();
-  o.add(buildMetric());
-  o.add(buildMetric());
+core.int buildCounterPathToConversionReportCompatibleFields = 0;
+buildPathToConversionReportCompatibleFields() {
+  var o = new api.PathToConversionReportCompatibleFields();
+  buildCounterPathToConversionReportCompatibleFields++;
+  if (buildCounterPathToConversionReportCompatibleFields < 3) {
+    o.conversionDimensions = buildUnnamed227();
+    o.customFloodlightVariables = buildUnnamed228();
+    o.kind = "foo";
+    o.metrics = buildUnnamed229();
+    o.perInteractionDimensions = buildUnnamed230();
+  }
+  buildCounterPathToConversionReportCompatibleFields--;
   return o;
 }
 
-checkUnnamed230(core.List<api.Metric> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkMetric(o[0]);
-  checkMetric(o[1]);
+checkPathToConversionReportCompatibleFields(api.PathToConversionReportCompatibleFields o) {
+  buildCounterPathToConversionReportCompatibleFields++;
+  if (buildCounterPathToConversionReportCompatibleFields < 3) {
+    checkUnnamed227(o.conversionDimensions);
+    checkUnnamed228(o.customFloodlightVariables);
+    unittest.expect(o.kind, unittest.equals('foo'));
+    checkUnnamed229(o.metrics);
+    checkUnnamed230(o.perInteractionDimensions);
+  }
+  buildCounterPathToConversionReportCompatibleFields--;
 }
 
 buildUnnamed231() {
+  var o = new core.List<api.Dimension>();
+  o.add(buildDimension());
+  o.add(buildDimension());
+  return o;
+}
+
+checkUnnamed231(core.List<api.Dimension> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkDimension(o[0]);
+  checkDimension(o[1]);
+}
+
+buildUnnamed232() {
+  var o = new core.List<api.Dimension>();
+  o.add(buildDimension());
+  o.add(buildDimension());
+  return o;
+}
+
+checkUnnamed232(core.List<api.Dimension> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkDimension(o[0]);
+  checkDimension(o[1]);
+}
+
+buildUnnamed233() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed231(core.List<api.Metric> o) {
+checkUnnamed233(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
 }
 
-buildUnnamed232() {
+buildUnnamed234() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed232(core.List<api.Metric> o) {
+checkUnnamed234(core.List<api.Metric> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkMetric(o[0]);
+  checkMetric(o[1]);
+}
+
+buildUnnamed235() {
+  var o = new core.List<api.Metric>();
+  o.add(buildMetric());
+  o.add(buildMetric());
+  return o;
+}
+
+checkUnnamed235(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
@@ -713,12 +713,12 @@
   var o = new api.ReachReportCompatibleFields();
   buildCounterReachReportCompatibleFields++;
   if (buildCounterReachReportCompatibleFields < 3) {
-    o.dimensionFilters = buildUnnamed228();
-    o.dimensions = buildUnnamed229();
+    o.dimensionFilters = buildUnnamed231();
+    o.dimensions = buildUnnamed232();
     o.kind = "foo";
-    o.metrics = buildUnnamed230();
-    o.pivotedActivityMetrics = buildUnnamed231();
-    o.reachByFrequencyMetrics = buildUnnamed232();
+    o.metrics = buildUnnamed233();
+    o.pivotedActivityMetrics = buildUnnamed234();
+    o.reachByFrequencyMetrics = buildUnnamed235();
   }
   buildCounterReachReportCompatibleFields--;
   return o;
@@ -727,12 +727,12 @@
 checkReachReportCompatibleFields(api.ReachReportCompatibleFields o) {
   buildCounterReachReportCompatibleFields++;
   if (buildCounterReachReportCompatibleFields < 3) {
-    checkUnnamed228(o.dimensionFilters);
-    checkUnnamed229(o.dimensions);
+    checkUnnamed231(o.dimensionFilters);
+    checkUnnamed232(o.dimensions);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed230(o.metrics);
-    checkUnnamed231(o.pivotedActivityMetrics);
-    checkUnnamed232(o.reachByFrequencyMetrics);
+    checkUnnamed233(o.metrics);
+    checkUnnamed234(o.pivotedActivityMetrics);
+    checkUnnamed235(o.reachByFrequencyMetrics);
   }
   buildCounterReachReportCompatibleFields--;
 }
@@ -760,70 +760,6 @@
   buildCounterRecipient--;
 }
 
-buildUnnamed233() {
-  var o = new core.List<api.DimensionValue>();
-  o.add(buildDimensionValue());
-  o.add(buildDimensionValue());
-  return o;
-}
-
-checkUnnamed233(core.List<api.DimensionValue> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkDimensionValue(o[0]);
-  checkDimensionValue(o[1]);
-}
-
-buildUnnamed234() {
-  var o = new core.List<api.SortedDimension>();
-  o.add(buildSortedDimension());
-  o.add(buildSortedDimension());
-  return o;
-}
-
-checkUnnamed234(core.List<api.SortedDimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkSortedDimension(o[0]);
-  checkSortedDimension(o[1]);
-}
-
-buildUnnamed235() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed235(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-core.int buildCounterReportActiveGrpCriteria = 0;
-buildReportActiveGrpCriteria() {
-  var o = new api.ReportActiveGrpCriteria();
-  buildCounterReportActiveGrpCriteria++;
-  if (buildCounterReportActiveGrpCriteria < 3) {
-    o.dateRange = buildDateRange();
-    o.dimensionFilters = buildUnnamed233();
-    o.dimensions = buildUnnamed234();
-    o.metricNames = buildUnnamed235();
-  }
-  buildCounterReportActiveGrpCriteria--;
-  return o;
-}
-
-checkReportActiveGrpCriteria(api.ReportActiveGrpCriteria o) {
-  buildCounterReportActiveGrpCriteria++;
-  if (buildCounterReportActiveGrpCriteria < 3) {
-    checkDateRange(o.dateRange);
-    checkUnnamed233(o.dimensionFilters);
-    checkUnnamed234(o.dimensions);
-    checkUnnamed235(o.metricNames);
-  }
-  buildCounterReportActiveGrpCriteria--;
-}
-
 buildUnnamed236() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
@@ -863,61 +799,57 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-core.int buildCounterReportCriteria = 0;
-buildReportCriteria() {
-  var o = new api.ReportCriteria();
-  buildCounterReportCriteria++;
-  if (buildCounterReportCriteria < 3) {
-    o.activities = buildActivities();
-    o.customRichMediaEvents = buildCustomRichMediaEvents();
+core.int buildCounterReportActiveGrpCriteria = 0;
+buildReportActiveGrpCriteria() {
+  var o = new api.ReportActiveGrpCriteria();
+  buildCounterReportActiveGrpCriteria++;
+  if (buildCounterReportActiveGrpCriteria < 3) {
     o.dateRange = buildDateRange();
     o.dimensionFilters = buildUnnamed236();
     o.dimensions = buildUnnamed237();
     o.metricNames = buildUnnamed238();
   }
-  buildCounterReportCriteria--;
+  buildCounterReportActiveGrpCriteria--;
   return o;
 }
 
-checkReportCriteria(api.ReportCriteria o) {
-  buildCounterReportCriteria++;
-  if (buildCounterReportCriteria < 3) {
-    checkActivities(o.activities);
-    checkCustomRichMediaEvents(o.customRichMediaEvents);
+checkReportActiveGrpCriteria(api.ReportActiveGrpCriteria o) {
+  buildCounterReportActiveGrpCriteria++;
+  if (buildCounterReportActiveGrpCriteria < 3) {
     checkDateRange(o.dateRange);
     checkUnnamed236(o.dimensionFilters);
     checkUnnamed237(o.dimensions);
     checkUnnamed238(o.metricNames);
   }
-  buildCounterReportCriteria--;
+  buildCounterReportActiveGrpCriteria--;
 }
 
 buildUnnamed239() {
-  var o = new core.List<api.SortedDimension>();
-  o.add(buildSortedDimension());
-  o.add(buildSortedDimension());
-  return o;
-}
-
-checkUnnamed239(core.List<api.SortedDimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkSortedDimension(o[0]);
-  checkSortedDimension(o[1]);
-}
-
-buildUnnamed240() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed240(core.List<api.DimensionValue> o) {
+checkUnnamed239(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
 }
 
+buildUnnamed240() {
+  var o = new core.List<api.SortedDimension>();
+  o.add(buildSortedDimension());
+  o.add(buildSortedDimension());
+  return o;
+}
+
+checkUnnamed240(core.List<api.SortedDimension> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkSortedDimension(o[0]);
+  checkSortedDimension(o[1]);
+}
+
 buildUnnamed241() {
   var o = new core.List<core.String>();
   o.add("foo");
@@ -931,14 +863,82 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
+core.int buildCounterReportCriteria = 0;
+buildReportCriteria() {
+  var o = new api.ReportCriteria();
+  buildCounterReportCriteria++;
+  if (buildCounterReportCriteria < 3) {
+    o.activities = buildActivities();
+    o.customRichMediaEvents = buildCustomRichMediaEvents();
+    o.dateRange = buildDateRange();
+    o.dimensionFilters = buildUnnamed239();
+    o.dimensions = buildUnnamed240();
+    o.metricNames = buildUnnamed241();
+  }
+  buildCounterReportCriteria--;
+  return o;
+}
+
+checkReportCriteria(api.ReportCriteria o) {
+  buildCounterReportCriteria++;
+  if (buildCounterReportCriteria < 3) {
+    checkActivities(o.activities);
+    checkCustomRichMediaEvents(o.customRichMediaEvents);
+    checkDateRange(o.dateRange);
+    checkUnnamed239(o.dimensionFilters);
+    checkUnnamed240(o.dimensions);
+    checkUnnamed241(o.metricNames);
+  }
+  buildCounterReportCriteria--;
+}
+
 buildUnnamed242() {
+  var o = new core.List<api.SortedDimension>();
+  o.add(buildSortedDimension());
+  o.add(buildSortedDimension());
+  return o;
+}
+
+checkUnnamed242(core.List<api.SortedDimension> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkSortedDimension(o[0]);
+  checkSortedDimension(o[1]);
+}
+
+buildUnnamed243() {
+  var o = new core.List<api.DimensionValue>();
+  o.add(buildDimensionValue());
+  o.add(buildDimensionValue());
+  return o;
+}
+
+checkUnnamed243(core.List<api.DimensionValue> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkDimensionValue(o[0]);
+  checkDimensionValue(o[1]);
+}
+
+buildUnnamed244() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed242(core.List<core.String> o) {
+checkUnnamed244(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed245() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed245(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -949,12 +949,12 @@
   var o = new api.ReportCrossDimensionReachCriteria();
   buildCounterReportCrossDimensionReachCriteria++;
   if (buildCounterReportCrossDimensionReachCriteria < 3) {
-    o.breakdown = buildUnnamed239();
+    o.breakdown = buildUnnamed242();
     o.dateRange = buildDateRange();
     o.dimension = "foo";
-    o.dimensionFilters = buildUnnamed240();
-    o.metricNames = buildUnnamed241();
-    o.overlapMetricNames = buildUnnamed242();
+    o.dimensionFilters = buildUnnamed243();
+    o.metricNames = buildUnnamed244();
+    o.overlapMetricNames = buildUnnamed245();
     o.pivoted = true;
   }
   buildCounterReportCrossDimensionReachCriteria--;
@@ -964,25 +964,25 @@
 checkReportCrossDimensionReachCriteria(api.ReportCrossDimensionReachCriteria o) {
   buildCounterReportCrossDimensionReachCriteria++;
   if (buildCounterReportCrossDimensionReachCriteria < 3) {
-    checkUnnamed239(o.breakdown);
+    checkUnnamed242(o.breakdown);
     checkDateRange(o.dateRange);
     unittest.expect(o.dimension, unittest.equals('foo'));
-    checkUnnamed240(o.dimensionFilters);
-    checkUnnamed241(o.metricNames);
-    checkUnnamed242(o.overlapMetricNames);
+    checkUnnamed243(o.dimensionFilters);
+    checkUnnamed244(o.metricNames);
+    checkUnnamed245(o.overlapMetricNames);
     unittest.expect(o.pivoted, unittest.isTrue);
   }
   buildCounterReportCrossDimensionReachCriteria--;
 }
 
-buildUnnamed243() {
+buildUnnamed246() {
   var o = new core.List<api.Recipient>();
   o.add(buildRecipient());
   o.add(buildRecipient());
   return o;
 }
 
-checkUnnamed243(core.List<api.Recipient> o) {
+checkUnnamed246(core.List<api.Recipient> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRecipient(o[0]);
   checkRecipient(o[1]);
@@ -996,7 +996,7 @@
     o.emailOwner = true;
     o.emailOwnerDeliveryType = "foo";
     o.message = "foo";
-    o.recipients = buildUnnamed243();
+    o.recipients = buildUnnamed246();
   }
   buildCounterReportDelivery--;
   return o;
@@ -1008,58 +1008,58 @@
     unittest.expect(o.emailOwner, unittest.isTrue);
     unittest.expect(o.emailOwnerDeliveryType, unittest.equals('foo'));
     unittest.expect(o.message, unittest.equals('foo'));
-    checkUnnamed243(o.recipients);
+    checkUnnamed246(o.recipients);
   }
   buildCounterReportDelivery--;
 }
 
-buildUnnamed244() {
+buildUnnamed247() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed244(core.List<api.DimensionValue> o) {
+checkUnnamed247(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
 }
 
-buildUnnamed245() {
+buildUnnamed248() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed245(core.List<api.DimensionValue> o) {
+checkUnnamed248(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
 }
 
-buildUnnamed246() {
+buildUnnamed249() {
   var o = new core.List<api.SortedDimension>();
   o.add(buildSortedDimension());
   o.add(buildSortedDimension());
   return o;
 }
 
-checkUnnamed246(core.List<api.SortedDimension> o) {
+checkUnnamed249(core.List<api.SortedDimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSortedDimension(o[0]);
   checkSortedDimension(o[1]);
 }
 
-buildUnnamed247() {
+buildUnnamed250() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed247(core.List<core.String> o) {
+checkUnnamed250(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1093,12 +1093,12 @@
   var o = new api.ReportFloodlightCriteria();
   buildCounterReportFloodlightCriteria++;
   if (buildCounterReportFloodlightCriteria < 3) {
-    o.customRichMediaEvents = buildUnnamed244();
+    o.customRichMediaEvents = buildUnnamed247();
     o.dateRange = buildDateRange();
-    o.dimensionFilters = buildUnnamed245();
-    o.dimensions = buildUnnamed246();
+    o.dimensionFilters = buildUnnamed248();
+    o.dimensions = buildUnnamed249();
     o.floodlightConfigId = buildDimensionValue();
-    o.metricNames = buildUnnamed247();
+    o.metricNames = buildUnnamed250();
     o.reportProperties = buildReportFloodlightCriteriaReportProperties();
   }
   buildCounterReportFloodlightCriteria--;
@@ -1108,56 +1108,17 @@
 checkReportFloodlightCriteria(api.ReportFloodlightCriteria o) {
   buildCounterReportFloodlightCriteria++;
   if (buildCounterReportFloodlightCriteria < 3) {
-    checkUnnamed244(o.customRichMediaEvents);
+    checkUnnamed247(o.customRichMediaEvents);
     checkDateRange(o.dateRange);
-    checkUnnamed245(o.dimensionFilters);
-    checkUnnamed246(o.dimensions);
+    checkUnnamed248(o.dimensionFilters);
+    checkUnnamed249(o.dimensions);
     checkDimensionValue(o.floodlightConfigId);
-    checkUnnamed247(o.metricNames);
+    checkUnnamed250(o.metricNames);
     checkReportFloodlightCriteriaReportProperties(o.reportProperties);
   }
   buildCounterReportFloodlightCriteria--;
 }
 
-buildUnnamed248() {
-  var o = new core.List<api.DimensionValue>();
-  o.add(buildDimensionValue());
-  o.add(buildDimensionValue());
-  return o;
-}
-
-checkUnnamed248(core.List<api.DimensionValue> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkDimensionValue(o[0]);
-  checkDimensionValue(o[1]);
-}
-
-buildUnnamed249() {
-  var o = new core.List<api.SortedDimension>();
-  o.add(buildSortedDimension());
-  o.add(buildSortedDimension());
-  return o;
-}
-
-checkUnnamed249(core.List<api.SortedDimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkSortedDimension(o[0]);
-  checkSortedDimension(o[1]);
-}
-
-buildUnnamed250() {
-  var o = new core.List<api.SortedDimension>();
-  o.add(buildSortedDimension());
-  o.add(buildSortedDimension());
-  return o;
-}
-
-checkUnnamed250(core.List<api.SortedDimension> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkSortedDimension(o[0]);
-  checkSortedDimension(o[1]);
-}
-
 buildUnnamed251() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
@@ -1172,16 +1133,16 @@
 }
 
 buildUnnamed252() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
+  var o = new core.List<api.SortedDimension>();
+  o.add(buildSortedDimension());
+  o.add(buildSortedDimension());
   return o;
 }
 
-checkUnnamed252(core.List<core.String> o) {
+checkUnnamed252(core.List<api.SortedDimension> o) {
   unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
+  checkSortedDimension(o[0]);
+  checkSortedDimension(o[1]);
 }
 
 buildUnnamed253() {
@@ -1197,6 +1158,45 @@
   checkSortedDimension(o[1]);
 }
 
+buildUnnamed254() {
+  var o = new core.List<api.DimensionValue>();
+  o.add(buildDimensionValue());
+  o.add(buildDimensionValue());
+  return o;
+}
+
+checkUnnamed254(core.List<api.DimensionValue> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkDimensionValue(o[0]);
+  checkDimensionValue(o[1]);
+}
+
+buildUnnamed255() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed255(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed256() {
+  var o = new core.List<api.SortedDimension>();
+  o.add(buildSortedDimension());
+  o.add(buildSortedDimension());
+  return o;
+}
+
+checkUnnamed256(core.List<api.SortedDimension> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkSortedDimension(o[0]);
+  checkSortedDimension(o[1]);
+}
+
 core.int buildCounterReportPathToConversionCriteriaReportProperties = 0;
 buildReportPathToConversionCriteriaReportProperties() {
   var o = new api.ReportPathToConversionCriteriaReportProperties();
@@ -1237,14 +1237,14 @@
   var o = new api.ReportPathToConversionCriteria();
   buildCounterReportPathToConversionCriteria++;
   if (buildCounterReportPathToConversionCriteria < 3) {
-    o.activityFilters = buildUnnamed248();
-    o.conversionDimensions = buildUnnamed249();
-    o.customFloodlightVariables = buildUnnamed250();
-    o.customRichMediaEvents = buildUnnamed251();
+    o.activityFilters = buildUnnamed251();
+    o.conversionDimensions = buildUnnamed252();
+    o.customFloodlightVariables = buildUnnamed253();
+    o.customRichMediaEvents = buildUnnamed254();
     o.dateRange = buildDateRange();
     o.floodlightConfigId = buildDimensionValue();
-    o.metricNames = buildUnnamed252();
-    o.perInteractionDimensions = buildUnnamed253();
+    o.metricNames = buildUnnamed255();
+    o.perInteractionDimensions = buildUnnamed256();
     o.reportProperties = buildReportPathToConversionCriteriaReportProperties();
   }
   buildCounterReportPathToConversionCriteria--;
@@ -1254,66 +1254,66 @@
 checkReportPathToConversionCriteria(api.ReportPathToConversionCriteria o) {
   buildCounterReportPathToConversionCriteria++;
   if (buildCounterReportPathToConversionCriteria < 3) {
-    checkUnnamed248(o.activityFilters);
-    checkUnnamed249(o.conversionDimensions);
-    checkUnnamed250(o.customFloodlightVariables);
-    checkUnnamed251(o.customRichMediaEvents);
+    checkUnnamed251(o.activityFilters);
+    checkUnnamed252(o.conversionDimensions);
+    checkUnnamed253(o.customFloodlightVariables);
+    checkUnnamed254(o.customRichMediaEvents);
     checkDateRange(o.dateRange);
     checkDimensionValue(o.floodlightConfigId);
-    checkUnnamed252(o.metricNames);
-    checkUnnamed253(o.perInteractionDimensions);
+    checkUnnamed255(o.metricNames);
+    checkUnnamed256(o.perInteractionDimensions);
     checkReportPathToConversionCriteriaReportProperties(o.reportProperties);
   }
   buildCounterReportPathToConversionCriteria--;
 }
 
-buildUnnamed254() {
+buildUnnamed257() {
   var o = new core.List<api.DimensionValue>();
   o.add(buildDimensionValue());
   o.add(buildDimensionValue());
   return o;
 }
 
-checkUnnamed254(core.List<api.DimensionValue> o) {
+checkUnnamed257(core.List<api.DimensionValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimensionValue(o[0]);
   checkDimensionValue(o[1]);
 }
 
-buildUnnamed255() {
+buildUnnamed258() {
   var o = new core.List<api.SortedDimension>();
   o.add(buildSortedDimension());
   o.add(buildSortedDimension());
   return o;
 }
 
-checkUnnamed255(core.List<api.SortedDimension> o) {
+checkUnnamed258(core.List<api.SortedDimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSortedDimension(o[0]);
   checkSortedDimension(o[1]);
 }
 
-buildUnnamed256() {
+buildUnnamed259() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed256(core.List<core.String> o) {
+checkUnnamed259(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed257() {
+buildUnnamed260() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed257(core.List<core.String> o) {
+checkUnnamed260(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1327,10 +1327,10 @@
     o.activities = buildActivities();
     o.customRichMediaEvents = buildCustomRichMediaEvents();
     o.dateRange = buildDateRange();
-    o.dimensionFilters = buildUnnamed254();
-    o.dimensions = buildUnnamed255();
-    o.metricNames = buildUnnamed256();
-    o.reachByFrequencyMetricNames = buildUnnamed257();
+    o.dimensionFilters = buildUnnamed257();
+    o.dimensions = buildUnnamed258();
+    o.metricNames = buildUnnamed259();
+    o.reachByFrequencyMetricNames = buildUnnamed260();
   }
   buildCounterReportReachCriteria--;
   return o;
@@ -1342,22 +1342,22 @@
     checkActivities(o.activities);
     checkCustomRichMediaEvents(o.customRichMediaEvents);
     checkDateRange(o.dateRange);
-    checkUnnamed254(o.dimensionFilters);
-    checkUnnamed255(o.dimensions);
-    checkUnnamed256(o.metricNames);
-    checkUnnamed257(o.reachByFrequencyMetricNames);
+    checkUnnamed257(o.dimensionFilters);
+    checkUnnamed258(o.dimensions);
+    checkUnnamed259(o.metricNames);
+    checkUnnamed260(o.reachByFrequencyMetricNames);
   }
   buildCounterReportReachCriteria--;
 }
 
-buildUnnamed258() {
+buildUnnamed261() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed258(core.List<core.String> o) {
+checkUnnamed261(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1372,7 +1372,7 @@
     o.every = 42;
     o.expirationDate = core.DateTime.parse("2002-02-27T14:01:02Z");
     o.repeats = "foo";
-    o.repeatsOnWeekDays = buildUnnamed258();
+    o.repeatsOnWeekDays = buildUnnamed261();
     o.runsOnDayOfMonth = "foo";
     o.startDate = core.DateTime.parse("2002-02-27T14:01:02Z");
   }
@@ -1387,7 +1387,7 @@
     unittest.expect(o.every, unittest.equals(42));
     unittest.expect(o.expirationDate, unittest.equals(core.DateTime.parse("2002-02-27T00:00:00")));
     unittest.expect(o.repeats, unittest.equals('foo'));
-    checkUnnamed258(o.repeatsOnWeekDays);
+    checkUnnamed261(o.repeatsOnWeekDays);
     unittest.expect(o.runsOnDayOfMonth, unittest.equals('foo'));
     unittest.expect(o.startDate, unittest.equals(core.DateTime.parse("2002-02-27T00:00:00")));
   }
@@ -1449,53 +1449,53 @@
   buildCounterReport--;
 }
 
-buildUnnamed259() {
+buildUnnamed262() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
   o.add(buildDimension());
   return o;
 }
 
-checkUnnamed259(core.List<api.Dimension> o) {
+checkUnnamed262(core.List<api.Dimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimension(o[0]);
   checkDimension(o[1]);
 }
 
-buildUnnamed260() {
+buildUnnamed263() {
   var o = new core.List<api.Dimension>();
   o.add(buildDimension());
   o.add(buildDimension());
   return o;
 }
 
-checkUnnamed260(core.List<api.Dimension> o) {
+checkUnnamed263(core.List<api.Dimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDimension(o[0]);
   checkDimension(o[1]);
 }
 
-buildUnnamed261() {
+buildUnnamed264() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed261(core.List<api.Metric> o) {
+checkUnnamed264(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
 }
 
-buildUnnamed262() {
+buildUnnamed265() {
   var o = new core.List<api.Metric>();
   o.add(buildMetric());
   o.add(buildMetric());
   return o;
 }
 
-checkUnnamed262(core.List<api.Metric> o) {
+checkUnnamed265(core.List<api.Metric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetric(o[0]);
   checkMetric(o[1]);
@@ -1506,11 +1506,11 @@
   var o = new api.ReportCompatibleFields();
   buildCounterReportCompatibleFields++;
   if (buildCounterReportCompatibleFields < 3) {
-    o.dimensionFilters = buildUnnamed259();
-    o.dimensions = buildUnnamed260();
+    o.dimensionFilters = buildUnnamed262();
+    o.dimensions = buildUnnamed263();
     o.kind = "foo";
-    o.metrics = buildUnnamed261();
-    o.pivotedActivityMetrics = buildUnnamed262();
+    o.metrics = buildUnnamed264();
+    o.pivotedActivityMetrics = buildUnnamed265();
   }
   buildCounterReportCompatibleFields--;
   return o;
@@ -1519,23 +1519,23 @@
 checkReportCompatibleFields(api.ReportCompatibleFields o) {
   buildCounterReportCompatibleFields++;
   if (buildCounterReportCompatibleFields < 3) {
-    checkUnnamed259(o.dimensionFilters);
-    checkUnnamed260(o.dimensions);
+    checkUnnamed262(o.dimensionFilters);
+    checkUnnamed263(o.dimensions);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed261(o.metrics);
-    checkUnnamed262(o.pivotedActivityMetrics);
+    checkUnnamed264(o.metrics);
+    checkUnnamed265(o.pivotedActivityMetrics);
   }
   buildCounterReportCompatibleFields--;
 }
 
-buildUnnamed263() {
+buildUnnamed266() {
   var o = new core.List<api.Report>();
   o.add(buildReport());
   o.add(buildReport());
   return o;
 }
 
-checkUnnamed263(core.List<api.Report> o) {
+checkUnnamed266(core.List<api.Report> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReport(o[0]);
   checkReport(o[1]);
@@ -1547,7 +1547,7 @@
   buildCounterReportList++;
   if (buildCounterReportList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed263();
+    o.items = buildUnnamed266();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -1559,7 +1559,7 @@
   buildCounterReportList++;
   if (buildCounterReportList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed263(o.items);
+    checkUnnamed266(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -1622,14 +1622,14 @@
   buildCounterUserProfile--;
 }
 
-buildUnnamed264() {
+buildUnnamed267() {
   var o = new core.List<api.UserProfile>();
   o.add(buildUserProfile());
   o.add(buildUserProfile());
   return o;
 }
 
-checkUnnamed264(core.List<api.UserProfile> o) {
+checkUnnamed267(core.List<api.UserProfile> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserProfile(o[0]);
   checkUserProfile(o[1]);
@@ -1641,7 +1641,7 @@
   buildCounterUserProfileList++;
   if (buildCounterUserProfileList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed264();
+    o.items = buildUnnamed267();
     o.kind = "foo";
   }
   buildCounterUserProfileList--;
@@ -1652,7 +1652,7 @@
   buildCounterUserProfileList++;
   if (buildCounterUserProfileList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed264(o.items);
+    checkUnnamed267(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterUserProfileList--;
@@ -1983,8 +1983,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/dimensionvalues/query", pathOffset);
@@ -2043,8 +2045,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("reports/"));
         pathOffset += 8;
         index = path.indexOf("/files/", pathOffset);
@@ -2102,8 +2106,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/files", pathOffset);
@@ -2163,8 +2169,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2216,8 +2224,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2274,8 +2284,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports", pathOffset);
@@ -2330,8 +2342,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports", pathOffset);
@@ -2391,8 +2405,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2447,8 +2463,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2511,8 +2529,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2573,8 +2593,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/compatiblefields/query", pathOffset);
@@ -2632,8 +2654,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2698,8 +2722,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         index = path.indexOf("/reports/", pathOffset);
@@ -2764,8 +2790,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("userprofiles/"));
         pathOffset += 13;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2810,8 +2838,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/dfareporting/v1.3/"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("dfareporting/v1.3/"));
+        pathOffset += 18;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("userprofiles"));
         pathOffset += 12;
 
diff --git a/generated/googleapis/test/discovery/v1_test.dart b/generated/googleapis/test/discovery/v1_test.dart
index bd41021..e99bee2 100644
--- a/generated/googleapis/test/discovery/v1_test.dart
+++ b/generated/googleapis/test/discovery/v1_test.dart
@@ -37,14 +37,14 @@
   buildCounterDirectoryListItemsIcons--;
 }
 
-buildUnnamed299() {
+buildUnnamed302() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed299(core.List<core.String> o) {
+checkUnnamed302(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -62,7 +62,7 @@
     o.icons = buildDirectoryListItemsIcons();
     o.id = "foo";
     o.kind = "foo";
-    o.labels = buildUnnamed299();
+    o.labels = buildUnnamed302();
     o.name = "foo";
     o.preferred = true;
     o.title = "foo";
@@ -82,7 +82,7 @@
     checkDirectoryListItemsIcons(o.icons);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed299(o.labels);
+    checkUnnamed302(o.labels);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.preferred, unittest.isTrue);
     unittest.expect(o.title, unittest.equals('foo'));
@@ -91,14 +91,14 @@
   buildCounterDirectoryListItems--;
 }
 
-buildUnnamed300() {
+buildUnnamed303() {
   var o = new core.List<api.DirectoryListItems>();
   o.add(buildDirectoryListItems());
   o.add(buildDirectoryListItems());
   return o;
 }
 
-checkUnnamed300(core.List<api.DirectoryListItems> o) {
+checkUnnamed303(core.List<api.DirectoryListItems> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDirectoryListItems(o[0]);
   checkDirectoryListItems(o[1]);
@@ -110,7 +110,7 @@
   buildCounterDirectoryList++;
   if (buildCounterDirectoryList < 3) {
     o.discoveryVersion = "foo";
-    o.items = buildUnnamed300();
+    o.items = buildUnnamed303();
     o.kind = "foo";
   }
   buildCounterDirectoryList--;
@@ -121,20 +121,20 @@
   buildCounterDirectoryList++;
   if (buildCounterDirectoryList < 3) {
     unittest.expect(o.discoveryVersion, unittest.equals('foo'));
-    checkUnnamed300(o.items);
+    checkUnnamed303(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterDirectoryList--;
 }
 
-buildUnnamed301() {
+buildUnnamed304() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed301(core.List<core.String> o) {
+checkUnnamed304(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -145,7 +145,7 @@
   var o = new api.JsonSchemaAnnotations();
   buildCounterJsonSchemaAnnotations++;
   if (buildCounterJsonSchemaAnnotations < 3) {
-    o.required = buildUnnamed301();
+    o.required = buildUnnamed304();
   }
   buildCounterJsonSchemaAnnotations--;
   return o;
@@ -154,45 +154,45 @@
 checkJsonSchemaAnnotations(api.JsonSchemaAnnotations o) {
   buildCounterJsonSchemaAnnotations++;
   if (buildCounterJsonSchemaAnnotations < 3) {
-    checkUnnamed301(o.required);
+    checkUnnamed304(o.required);
   }
   buildCounterJsonSchemaAnnotations--;
 }
 
-buildUnnamed302() {
+buildUnnamed305() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed302(core.List<core.String> o) {
+checkUnnamed305(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed303() {
+buildUnnamed306() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed303(core.List<core.String> o) {
+checkUnnamed306(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed304() {
+buildUnnamed307() {
   var o = new core.Map<core.String, api.JsonSchema>();
   o["x"] = buildJsonSchema();
   o["y"] = buildJsonSchema();
   return o;
 }
 
-checkUnnamed304(core.Map<core.String, api.JsonSchema> o) {
+checkUnnamed307(core.Map<core.String, api.JsonSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJsonSchema(o["x"]);
   checkJsonSchema(o["y"]);
@@ -219,14 +219,14 @@
   buildCounterJsonSchemaVariantMap--;
 }
 
-buildUnnamed305() {
+buildUnnamed308() {
   var o = new core.List<api.JsonSchemaVariantMap>();
   o.add(buildJsonSchemaVariantMap());
   o.add(buildJsonSchemaVariantMap());
   return o;
 }
 
-checkUnnamed305(core.List<api.JsonSchemaVariantMap> o) {
+checkUnnamed308(core.List<api.JsonSchemaVariantMap> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJsonSchemaVariantMap(o[0]);
   checkJsonSchemaVariantMap(o[1]);
@@ -238,7 +238,7 @@
   buildCounterJsonSchemaVariant++;
   if (buildCounterJsonSchemaVariant < 3) {
     o.discriminant = "foo";
-    o.map = buildUnnamed305();
+    o.map = buildUnnamed308();
   }
   buildCounterJsonSchemaVariant--;
   return o;
@@ -248,7 +248,7 @@
   buildCounterJsonSchemaVariant++;
   if (buildCounterJsonSchemaVariant < 3) {
     unittest.expect(o.discriminant, unittest.equals('foo'));
-    checkUnnamed305(o.map);
+    checkUnnamed308(o.map);
   }
   buildCounterJsonSchemaVariant--;
 }
@@ -263,8 +263,8 @@
     o.annotations = buildJsonSchemaAnnotations();
     o.default_ = "foo";
     o.description = "foo";
-    o.enum_ = buildUnnamed302();
-    o.enumDescriptions = buildUnnamed303();
+    o.enum_ = buildUnnamed305();
+    o.enumDescriptions = buildUnnamed306();
     o.format = "foo";
     o.id = "foo";
     o.items = buildJsonSchema();
@@ -272,7 +272,7 @@
     o.maximum = "foo";
     o.minimum = "foo";
     o.pattern = "foo";
-    o.properties = buildUnnamed304();
+    o.properties = buildUnnamed307();
     o.readOnly = true;
     o.repeated = true;
     o.required = true;
@@ -291,8 +291,8 @@
     checkJsonSchemaAnnotations(o.annotations);
     unittest.expect(o.default_, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed302(o.enum_);
-    checkUnnamed303(o.enumDescriptions);
+    checkUnnamed305(o.enum_);
+    checkUnnamed306(o.enumDescriptions);
     unittest.expect(o.format, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     checkJsonSchema(o.items);
@@ -300,7 +300,7 @@
     unittest.expect(o.maximum, unittest.equals('foo'));
     unittest.expect(o.minimum, unittest.equals('foo'));
     unittest.expect(o.pattern, unittest.equals('foo'));
-    checkUnnamed304(o.properties);
+    checkUnnamed307(o.properties);
     unittest.expect(o.readOnly, unittest.isTrue);
     unittest.expect(o.repeated, unittest.isTrue);
     unittest.expect(o.required, unittest.isTrue);
@@ -329,14 +329,14 @@
   buildCounterRestDescriptionAuthOauth2ScopesValue--;
 }
 
-buildUnnamed306() {
+buildUnnamed309() {
   var o = new core.Map<core.String, api.RestDescriptionAuthOauth2ScopesValue>();
   o["x"] = buildRestDescriptionAuthOauth2ScopesValue();
   o["y"] = buildRestDescriptionAuthOauth2ScopesValue();
   return o;
 }
 
-checkUnnamed306(core.Map<core.String, api.RestDescriptionAuthOauth2ScopesValue> o) {
+checkUnnamed309(core.Map<core.String, api.RestDescriptionAuthOauth2ScopesValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRestDescriptionAuthOauth2ScopesValue(o["x"]);
   checkRestDescriptionAuthOauth2ScopesValue(o["y"]);
@@ -347,7 +347,7 @@
   var o = new api.RestDescriptionAuthOauth2();
   buildCounterRestDescriptionAuthOauth2++;
   if (buildCounterRestDescriptionAuthOauth2 < 3) {
-    o.scopes = buildUnnamed306();
+    o.scopes = buildUnnamed309();
   }
   buildCounterRestDescriptionAuthOauth2--;
   return o;
@@ -356,7 +356,7 @@
 checkRestDescriptionAuthOauth2(api.RestDescriptionAuthOauth2 o) {
   buildCounterRestDescriptionAuthOauth2++;
   if (buildCounterRestDescriptionAuthOauth2 < 3) {
-    checkUnnamed306(o.scopes);
+    checkUnnamed309(o.scopes);
   }
   buildCounterRestDescriptionAuthOauth2--;
 }
@@ -380,14 +380,14 @@
   buildCounterRestDescriptionAuth--;
 }
 
-buildUnnamed307() {
+buildUnnamed310() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed307(core.List<core.String> o) {
+checkUnnamed310(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -414,66 +414,66 @@
   buildCounterRestDescriptionIcons--;
 }
 
-buildUnnamed308() {
+buildUnnamed311() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed308(core.List<core.String> o) {
+checkUnnamed311(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed309() {
+buildUnnamed312() {
   var o = new core.Map<core.String, api.RestMethod>();
   o["x"] = buildRestMethod();
   o["y"] = buildRestMethod();
   return o;
 }
 
-checkUnnamed309(core.Map<core.String, api.RestMethod> o) {
+checkUnnamed312(core.Map<core.String, api.RestMethod> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRestMethod(o["x"]);
   checkRestMethod(o["y"]);
 }
 
-buildUnnamed310() {
+buildUnnamed313() {
   var o = new core.Map<core.String, api.JsonSchema>();
   o["x"] = buildJsonSchema();
   o["y"] = buildJsonSchema();
   return o;
 }
 
-checkUnnamed310(core.Map<core.String, api.JsonSchema> o) {
+checkUnnamed313(core.Map<core.String, api.JsonSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJsonSchema(o["x"]);
   checkJsonSchema(o["y"]);
 }
 
-buildUnnamed311() {
+buildUnnamed314() {
   var o = new core.Map<core.String, api.RestResource>();
   o["x"] = buildRestResource();
   o["y"] = buildRestResource();
   return o;
 }
 
-checkUnnamed311(core.Map<core.String, api.RestResource> o) {
+checkUnnamed314(core.Map<core.String, api.RestResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRestResource(o["x"]);
   checkRestResource(o["y"]);
 }
 
-buildUnnamed312() {
+buildUnnamed315() {
   var o = new core.Map<core.String, api.JsonSchema>();
   o["x"] = buildJsonSchema();
   o["y"] = buildJsonSchema();
   return o;
 }
 
-checkUnnamed312(core.Map<core.String, api.JsonSchema> o) {
+checkUnnamed315(core.Map<core.String, api.JsonSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJsonSchema(o["x"]);
   checkJsonSchema(o["y"]);
@@ -493,22 +493,22 @@
     o.discoveryVersion = "foo";
     o.documentationLink = "foo";
     o.etag = "foo";
-    o.features = buildUnnamed307();
+    o.features = buildUnnamed310();
     o.icons = buildRestDescriptionIcons();
     o.id = "foo";
     o.kind = "foo";
-    o.labels = buildUnnamed308();
-    o.methods = buildUnnamed309();
+    o.labels = buildUnnamed311();
+    o.methods = buildUnnamed312();
     o.name = "foo";
     o.ownerDomain = "foo";
     o.ownerName = "foo";
     o.packagePath = "foo";
-    o.parameters = buildUnnamed310();
+    o.parameters = buildUnnamed313();
     o.protocol = "foo";
-    o.resources = buildUnnamed311();
+    o.resources = buildUnnamed314();
     o.revision = "foo";
     o.rootUrl = "foo";
-    o.schemas = buildUnnamed312();
+    o.schemas = buildUnnamed315();
     o.servicePath = "foo";
     o.title = "foo";
     o.version = "foo";
@@ -529,22 +529,22 @@
     unittest.expect(o.discoveryVersion, unittest.equals('foo'));
     unittest.expect(o.documentationLink, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed307(o.features);
+    checkUnnamed310(o.features);
     checkRestDescriptionIcons(o.icons);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed308(o.labels);
-    checkUnnamed309(o.methods);
+    checkUnnamed311(o.labels);
+    checkUnnamed312(o.methods);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.ownerDomain, unittest.equals('foo'));
     unittest.expect(o.ownerName, unittest.equals('foo'));
     unittest.expect(o.packagePath, unittest.equals('foo'));
-    checkUnnamed310(o.parameters);
+    checkUnnamed313(o.parameters);
     unittest.expect(o.protocol, unittest.equals('foo'));
-    checkUnnamed311(o.resources);
+    checkUnnamed314(o.resources);
     unittest.expect(o.revision, unittest.equals('foo'));
     unittest.expect(o.rootUrl, unittest.equals('foo'));
-    checkUnnamed312(o.schemas);
+    checkUnnamed315(o.schemas);
     unittest.expect(o.servicePath, unittest.equals('foo'));
     unittest.expect(o.title, unittest.equals('foo'));
     unittest.expect(o.version, unittest.equals('foo'));
@@ -552,14 +552,14 @@
   buildCounterRestDescription--;
 }
 
-buildUnnamed313() {
+buildUnnamed316() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed313(core.List<core.String> o) {
+checkUnnamed316(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -633,7 +633,7 @@
   var o = new api.RestMethodMediaUpload();
   buildCounterRestMethodMediaUpload++;
   if (buildCounterRestMethodMediaUpload < 3) {
-    o.accept = buildUnnamed313();
+    o.accept = buildUnnamed316();
     o.maxSize = "foo";
     o.protocols = buildRestMethodMediaUploadProtocols();
   }
@@ -644,34 +644,34 @@
 checkRestMethodMediaUpload(api.RestMethodMediaUpload o) {
   buildCounterRestMethodMediaUpload++;
   if (buildCounterRestMethodMediaUpload < 3) {
-    checkUnnamed313(o.accept);
+    checkUnnamed316(o.accept);
     unittest.expect(o.maxSize, unittest.equals('foo'));
     checkRestMethodMediaUploadProtocols(o.protocols);
   }
   buildCounterRestMethodMediaUpload--;
 }
 
-buildUnnamed314() {
+buildUnnamed317() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed314(core.List<core.String> o) {
+checkUnnamed317(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed315() {
+buildUnnamed318() {
   var o = new core.Map<core.String, api.JsonSchema>();
   o["x"] = buildJsonSchema();
   o["y"] = buildJsonSchema();
   return o;
 }
 
-checkUnnamed315(core.Map<core.String, api.JsonSchema> o) {
+checkUnnamed318(core.Map<core.String, api.JsonSchema> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJsonSchema(o["x"]);
   checkJsonSchema(o["y"]);
@@ -717,14 +717,14 @@
   buildCounterRestMethodResponse--;
 }
 
-buildUnnamed316() {
+buildUnnamed319() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed316(core.List<core.String> o) {
+checkUnnamed319(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -740,12 +740,12 @@
     o.httpMethod = "foo";
     o.id = "foo";
     o.mediaUpload = buildRestMethodMediaUpload();
-    o.parameterOrder = buildUnnamed314();
-    o.parameters = buildUnnamed315();
+    o.parameterOrder = buildUnnamed317();
+    o.parameters = buildUnnamed318();
     o.path = "foo";
     o.request = buildRestMethodRequest();
     o.response = buildRestMethodResponse();
-    o.scopes = buildUnnamed316();
+    o.scopes = buildUnnamed319();
     o.supportsMediaDownload = true;
     o.supportsMediaUpload = true;
     o.supportsSubscription = true;
@@ -762,12 +762,12 @@
     unittest.expect(o.httpMethod, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     checkRestMethodMediaUpload(o.mediaUpload);
-    checkUnnamed314(o.parameterOrder);
-    checkUnnamed315(o.parameters);
+    checkUnnamed317(o.parameterOrder);
+    checkUnnamed318(o.parameters);
     unittest.expect(o.path, unittest.equals('foo'));
     checkRestMethodRequest(o.request);
     checkRestMethodResponse(o.response);
-    checkUnnamed316(o.scopes);
+    checkUnnamed319(o.scopes);
     unittest.expect(o.supportsMediaDownload, unittest.isTrue);
     unittest.expect(o.supportsMediaUpload, unittest.isTrue);
     unittest.expect(o.supportsSubscription, unittest.isTrue);
@@ -775,27 +775,27 @@
   buildCounterRestMethod--;
 }
 
-buildUnnamed317() {
+buildUnnamed320() {
   var o = new core.Map<core.String, api.RestMethod>();
   o["x"] = buildRestMethod();
   o["y"] = buildRestMethod();
   return o;
 }
 
-checkUnnamed317(core.Map<core.String, api.RestMethod> o) {
+checkUnnamed320(core.Map<core.String, api.RestMethod> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRestMethod(o["x"]);
   checkRestMethod(o["y"]);
 }
 
-buildUnnamed318() {
+buildUnnamed321() {
   var o = new core.Map<core.String, api.RestResource>();
   o["x"] = buildRestResource();
   o["y"] = buildRestResource();
   return o;
 }
 
-checkUnnamed318(core.Map<core.String, api.RestResource> o) {
+checkUnnamed321(core.Map<core.String, api.RestResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRestResource(o["x"]);
   checkRestResource(o["y"]);
@@ -806,8 +806,8 @@
   var o = new api.RestResource();
   buildCounterRestResource++;
   if (buildCounterRestResource < 3) {
-    o.methods = buildUnnamed317();
-    o.resources = buildUnnamed318();
+    o.methods = buildUnnamed320();
+    o.resources = buildUnnamed321();
   }
   buildCounterRestResource--;
   return o;
@@ -816,8 +816,8 @@
 checkRestResource(api.RestResource o) {
   buildCounterRestResource++;
   if (buildCounterRestResource < 3) {
-    checkUnnamed317(o.methods);
-    checkUnnamed318(o.resources);
+    checkUnnamed320(o.methods);
+    checkUnnamed321(o.resources);
   }
   buildCounterRestResource--;
 }
@@ -1016,8 +1016,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/discovery/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("discovery/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("apis/"));
         pathOffset += 5;
         index = path.indexOf("/", pathOffset);
@@ -1075,8 +1077,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/discovery/v1/"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("discovery/v1/"));
+        pathOffset += 13;
         unittest.expect(path.substring(pathOffset, pathOffset + 4), unittest.equals("apis"));
         pathOffset += 4;
 
diff --git a/generated/googleapis/test/doubleclickbidmanager/v1_test.dart b/generated/googleapis/test/doubleclickbidmanager/v1_test.dart
index a5b9dc9..6372088 100644
--- a/generated/googleapis/test/doubleclickbidmanager/v1_test.dart
+++ b/generated/googleapis/test/doubleclickbidmanager/v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed691() {
+buildUnnamed719() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed691(core.List<core.String> o) {
+checkUnnamed719(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -34,7 +34,7 @@
   var o = new api.DownloadLineItemsRequest();
   buildCounterDownloadLineItemsRequest++;
   if (buildCounterDownloadLineItemsRequest < 3) {
-    o.filterIds = buildUnnamed691();
+    o.filterIds = buildUnnamed719();
     o.filterType = "foo";
     o.format = "foo";
   }
@@ -45,7 +45,7 @@
 checkDownloadLineItemsRequest(api.DownloadLineItemsRequest o) {
   buildCounterDownloadLineItemsRequest++;
   if (buildCounterDownloadLineItemsRequest < 3) {
-    checkUnnamed691(o.filterIds);
+    checkUnnamed719(o.filterIds);
     unittest.expect(o.filterType, unittest.equals('foo'));
     unittest.expect(o.format, unittest.equals('foo'));
   }
@@ -92,14 +92,14 @@
   buildCounterFilterPair--;
 }
 
-buildUnnamed692() {
+buildUnnamed720() {
   var o = new core.List<api.Query>();
   o.add(buildQuery());
   o.add(buildQuery());
   return o;
 }
 
-checkUnnamed692(core.List<api.Query> o) {
+checkUnnamed720(core.List<api.Query> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkQuery(o[0]);
   checkQuery(o[1]);
@@ -111,7 +111,7 @@
   buildCounterListQueriesResponse++;
   if (buildCounterListQueriesResponse < 3) {
     o.kind = "foo";
-    o.queries = buildUnnamed692();
+    o.queries = buildUnnamed720();
   }
   buildCounterListQueriesResponse--;
   return o;
@@ -121,19 +121,19 @@
   buildCounterListQueriesResponse++;
   if (buildCounterListQueriesResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed692(o.queries);
+    checkUnnamed720(o.queries);
   }
   buildCounterListQueriesResponse--;
 }
 
-buildUnnamed693() {
+buildUnnamed721() {
   var o = new core.List<api.Report>();
   o.add(buildReport());
   o.add(buildReport());
   return o;
 }
 
-checkUnnamed693(core.List<api.Report> o) {
+checkUnnamed721(core.List<api.Report> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReport(o[0]);
   checkReport(o[1]);
@@ -145,7 +145,7 @@
   buildCounterListReportsResponse++;
   if (buildCounterListReportsResponse < 3) {
     o.kind = "foo";
-    o.reports = buildUnnamed693();
+    o.reports = buildUnnamed721();
   }
   buildCounterListReportsResponse--;
   return o;
@@ -155,45 +155,45 @@
   buildCounterListReportsResponse++;
   if (buildCounterListReportsResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed693(o.reports);
+    checkUnnamed721(o.reports);
   }
   buildCounterListReportsResponse--;
 }
 
-buildUnnamed694() {
+buildUnnamed722() {
   var o = new core.List<api.FilterPair>();
   o.add(buildFilterPair());
   o.add(buildFilterPair());
   return o;
 }
 
-checkUnnamed694(core.List<api.FilterPair> o) {
+checkUnnamed722(core.List<api.FilterPair> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFilterPair(o[0]);
   checkFilterPair(o[1]);
 }
 
-buildUnnamed695() {
+buildUnnamed723() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed695(core.List<core.String> o) {
+checkUnnamed723(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed696() {
+buildUnnamed724() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed696(core.List<core.String> o) {
+checkUnnamed724(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -204,10 +204,10 @@
   var o = new api.Parameters();
   buildCounterParameters++;
   if (buildCounterParameters < 3) {
-    o.filters = buildUnnamed694();
-    o.groupBys = buildUnnamed695();
+    o.filters = buildUnnamed722();
+    o.groupBys = buildUnnamed723();
     o.includeInviteData = true;
-    o.metrics = buildUnnamed696();
+    o.metrics = buildUnnamed724();
     o.type = "foo";
   }
   buildCounterParameters--;
@@ -217,10 +217,10 @@
 checkParameters(api.Parameters o) {
   buildCounterParameters++;
   if (buildCounterParameters < 3) {
-    checkUnnamed694(o.filters);
-    checkUnnamed695(o.groupBys);
+    checkUnnamed722(o.filters);
+    checkUnnamed723(o.groupBys);
     unittest.expect(o.includeInviteData, unittest.isTrue);
-    checkUnnamed696(o.metrics);
+    checkUnnamed724(o.metrics);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterParameters--;
@@ -259,14 +259,14 @@
   buildCounterQuery--;
 }
 
-buildUnnamed697() {
+buildUnnamed725() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed697(core.List<core.String> o) {
+checkUnnamed725(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -285,7 +285,7 @@
     o.reportCount = 42;
     o.running = true;
     o.sendNotification = true;
-    o.shareEmailAddress = buildUnnamed697();
+    o.shareEmailAddress = buildUnnamed725();
     o.title = "foo";
   }
   buildCounterQueryMetadata--;
@@ -303,7 +303,7 @@
     unittest.expect(o.reportCount, unittest.equals(42));
     unittest.expect(o.running, unittest.isTrue);
     unittest.expect(o.sendNotification, unittest.isTrue);
-    checkUnnamed697(o.shareEmailAddress);
+    checkUnnamed725(o.shareEmailAddress);
     unittest.expect(o.title, unittest.equals('foo'));
   }
   buildCounterQueryMetadata--;
@@ -447,14 +447,14 @@
   buildCounterReportStatus--;
 }
 
-buildUnnamed698() {
+buildUnnamed726() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed698(core.List<core.String> o) {
+checkUnnamed726(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -468,7 +468,7 @@
     o.changed = true;
     o.entityId = "foo";
     o.entityName = "foo";
-    o.errors = buildUnnamed698();
+    o.errors = buildUnnamed726();
     o.persisted = true;
     o.rowNumber = 42;
   }
@@ -482,7 +482,7 @@
     unittest.expect(o.changed, unittest.isTrue);
     unittest.expect(o.entityId, unittest.equals('foo'));
     unittest.expect(o.entityName, unittest.equals('foo'));
-    checkUnnamed698(o.errors);
+    checkUnnamed726(o.errors);
     unittest.expect(o.persisted, unittest.isTrue);
     unittest.expect(o.rowNumber, unittest.equals(42));
   }
@@ -556,27 +556,27 @@
   buildCounterUploadLineItemsResponse--;
 }
 
-buildUnnamed699() {
+buildUnnamed727() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed699(core.List<core.String> o) {
+checkUnnamed727(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed700() {
+buildUnnamed728() {
   var o = new core.List<api.RowStatus>();
   o.add(buildRowStatus());
   o.add(buildRowStatus());
   return o;
 }
 
-checkUnnamed700(core.List<api.RowStatus> o) {
+checkUnnamed728(core.List<api.RowStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRowStatus(o[0]);
   checkRowStatus(o[1]);
@@ -587,8 +587,8 @@
   var o = new api.UploadStatus();
   buildCounterUploadStatus++;
   if (buildCounterUploadStatus < 3) {
-    o.errors = buildUnnamed699();
-    o.rowStatus = buildUnnamed700();
+    o.errors = buildUnnamed727();
+    o.rowStatus = buildUnnamed728();
   }
   buildCounterUploadStatus--;
   return o;
@@ -597,8 +597,8 @@
 checkUploadStatus(api.UploadStatus o) {
   buildCounterUploadStatus++;
   if (buildCounterUploadStatus < 3) {
-    checkUnnamed699(o.errors);
-    checkUnnamed700(o.rowStatus);
+    checkUnnamed727(o.errors);
+    checkUnnamed728(o.rowStatus);
   }
   buildCounterUploadStatus--;
 }
@@ -790,8 +790,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("lineitems/downloadlineitems"));
         pathOffset += 27;
 
@@ -837,8 +839,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("lineitems/uploadlineitems"));
         pathOffset += 25;
 
@@ -888,8 +892,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("query"));
         pathOffset += 5;
 
@@ -932,8 +938,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("query/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -977,8 +985,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("query/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1023,8 +1033,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("queries"));
         pathOffset += 7;
 
@@ -1071,8 +1083,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("query/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1120,8 +1134,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/doubleclickbidmanager/v1/"));
-        pathOffset += 26;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("doubleclickbidmanager/v1/"));
+        pathOffset += 25;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("queries/"));
         pathOffset += 8;
         index = path.indexOf("/reports", pathOffset);
diff --git a/generated/googleapis/test/doubleclicksearch/v2_test.dart b/generated/googleapis/test/doubleclicksearch/v2_test.dart
index c576bab..d5ceea3 100644
--- a/generated/googleapis/test/doubleclicksearch/v2_test.dart
+++ b/generated/googleapis/test/doubleclicksearch/v2_test.dart
@@ -45,27 +45,27 @@
   buildCounterAvailability--;
 }
 
-buildUnnamed731() {
+buildUnnamed759() {
   var o = new core.List<api.CustomDimension>();
   o.add(buildCustomDimension());
   o.add(buildCustomDimension());
   return o;
 }
 
-checkUnnamed731(core.List<api.CustomDimension> o) {
+checkUnnamed759(core.List<api.CustomDimension> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomDimension(o[0]);
   checkCustomDimension(o[1]);
 }
 
-buildUnnamed732() {
+buildUnnamed760() {
   var o = new core.List<api.CustomMetric>();
   o.add(buildCustomMetric());
   o.add(buildCustomMetric());
   return o;
 }
 
-checkUnnamed732(core.List<api.CustomMetric> o) {
+checkUnnamed760(core.List<api.CustomMetric> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCustomMetric(o[0]);
   checkCustomMetric(o[1]);
@@ -87,8 +87,8 @@
     o.conversionTimestamp = "foo";
     o.criterionId = "foo";
     o.currencyCode = "foo";
-    o.customDimension = buildUnnamed731();
-    o.customMetric = buildUnnamed732();
+    o.customDimension = buildUnnamed759();
+    o.customMetric = buildUnnamed760();
     o.dsConversionId = "foo";
     o.engineAccountId = "foo";
     o.floodlightOrderId = "foo";
@@ -118,8 +118,8 @@
     unittest.expect(o.conversionTimestamp, unittest.equals('foo'));
     unittest.expect(o.criterionId, unittest.equals('foo'));
     unittest.expect(o.currencyCode, unittest.equals('foo'));
-    checkUnnamed731(o.customDimension);
-    checkUnnamed732(o.customMetric);
+    checkUnnamed759(o.customDimension);
+    checkUnnamed760(o.customMetric);
     unittest.expect(o.dsConversionId, unittest.equals('foo'));
     unittest.expect(o.engineAccountId, unittest.equals('foo'));
     unittest.expect(o.floodlightOrderId, unittest.equals('foo'));
@@ -134,14 +134,14 @@
   buildCounterConversion--;
 }
 
-buildUnnamed733() {
+buildUnnamed761() {
   var o = new core.List<api.Conversion>();
   o.add(buildConversion());
   o.add(buildConversion());
   return o;
 }
 
-checkUnnamed733(core.List<api.Conversion> o) {
+checkUnnamed761(core.List<api.Conversion> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkConversion(o[0]);
   checkConversion(o[1]);
@@ -152,7 +152,7 @@
   var o = new api.ConversionList();
   buildCounterConversionList++;
   if (buildCounterConversionList < 3) {
-    o.conversion = buildUnnamed733();
+    o.conversion = buildUnnamed761();
     o.kind = "foo";
   }
   buildCounterConversionList--;
@@ -162,7 +162,7 @@
 checkConversionList(api.ConversionList o) {
   buildCounterConversionList++;
   if (buildCounterConversionList < 3) {
-    checkUnnamed733(o.conversion);
+    checkUnnamed761(o.conversion);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterConversionList--;
@@ -231,27 +231,27 @@
   buildCounterReportFiles--;
 }
 
-buildUnnamed734() {
+buildUnnamed762() {
   var o = new core.List<api.ReportFiles>();
   o.add(buildReportFiles());
   o.add(buildReportFiles());
   return o;
 }
 
-checkUnnamed734(core.List<api.ReportFiles> o) {
+checkUnnamed762(core.List<api.ReportFiles> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportFiles(o[0]);
   checkReportFiles(o[1]);
 }
 
-buildUnnamed735() {
+buildUnnamed763() {
   var o = new core.List<api.ReportRow>();
   o.add(buildReportRow());
   o.add(buildReportRow());
   return o;
 }
 
-checkUnnamed735(core.List<api.ReportRow> o) {
+checkUnnamed763(core.List<api.ReportRow> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportRow(o[0]);
   checkReportRow(o[1]);
@@ -262,13 +262,13 @@
   var o = new api.Report();
   buildCounterReport++;
   if (buildCounterReport < 3) {
-    o.files = buildUnnamed734();
+    o.files = buildUnnamed762();
     o.id = "foo";
     o.isReportReady = true;
     o.kind = "foo";
     o.request = buildReportRequest();
     o.rowCount = 42;
-    o.rows = buildUnnamed735();
+    o.rows = buildUnnamed763();
     o.statisticsCurrencyCode = "foo";
     o.statisticsTimeZone = "foo";
   }
@@ -279,13 +279,13 @@
 checkReport(api.Report o) {
   buildCounterReport++;
   if (buildCounterReport < 3) {
-    checkUnnamed734(o.files);
+    checkUnnamed762(o.files);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.isReportReady, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkReportRequest(o.request);
     unittest.expect(o.rowCount, unittest.equals(42));
-    checkUnnamed735(o.rows);
+    checkUnnamed763(o.rows);
     unittest.expect(o.statisticsCurrencyCode, unittest.equals('foo'));
     unittest.expect(o.statisticsTimeZone, unittest.equals('foo'));
   }
@@ -325,27 +325,27 @@
   buildCounterReportApiColumnSpec--;
 }
 
-buildUnnamed736() {
+buildUnnamed764() {
   var o = new core.List<api.ReportApiColumnSpec>();
   o.add(buildReportApiColumnSpec());
   o.add(buildReportApiColumnSpec());
   return o;
 }
 
-checkUnnamed736(core.List<api.ReportApiColumnSpec> o) {
+checkUnnamed764(core.List<api.ReportApiColumnSpec> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportApiColumnSpec(o[0]);
   checkReportApiColumnSpec(o[1]);
 }
 
-buildUnnamed737() {
+buildUnnamed765() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed737(core.List<core.Object> o) {
+checkUnnamed765(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
@@ -358,7 +358,7 @@
   if (buildCounterReportRequestFilters < 3) {
     o.column = buildReportApiColumnSpec();
     o.operator = "foo";
-    o.values = buildUnnamed737();
+    o.values = buildUnnamed765();
   }
   buildCounterReportRequestFilters--;
   return o;
@@ -369,19 +369,19 @@
   if (buildCounterReportRequestFilters < 3) {
     checkReportApiColumnSpec(o.column);
     unittest.expect(o.operator, unittest.equals('foo'));
-    checkUnnamed737(o.values);
+    checkUnnamed765(o.values);
   }
   buildCounterReportRequestFilters--;
 }
 
-buildUnnamed738() {
+buildUnnamed766() {
   var o = new core.List<api.ReportRequestFilters>();
   o.add(buildReportRequestFilters());
   o.add(buildReportRequestFilters());
   return o;
 }
 
-checkUnnamed738(core.List<api.ReportRequestFilters> o) {
+checkUnnamed766(core.List<api.ReportRequestFilters> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportRequestFilters(o[0]);
   checkReportRequestFilters(o[1]);
@@ -408,14 +408,14 @@
   buildCounterReportRequestOrderBy--;
 }
 
-buildUnnamed739() {
+buildUnnamed767() {
   var o = new core.List<api.ReportRequestOrderBy>();
   o.add(buildReportRequestOrderBy());
   o.add(buildReportRequestOrderBy());
   return o;
 }
 
-checkUnnamed739(core.List<api.ReportRequestOrderBy> o) {
+checkUnnamed767(core.List<api.ReportRequestOrderBy> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReportRequestOrderBy(o[0]);
   checkReportRequestOrderBy(o[1]);
@@ -482,13 +482,13 @@
   var o = new api.ReportRequest();
   buildCounterReportRequest++;
   if (buildCounterReportRequest < 3) {
-    o.columns = buildUnnamed736();
+    o.columns = buildUnnamed764();
     o.downloadFormat = "foo";
-    o.filters = buildUnnamed738();
+    o.filters = buildUnnamed766();
     o.includeDeletedEntities = true;
     o.includeRemovedEntities = true;
     o.maxRowsPerFile = 42;
-    o.orderBy = buildUnnamed739();
+    o.orderBy = buildUnnamed767();
     o.reportScope = buildReportRequestReportScope();
     o.reportType = "foo";
     o.rowCount = 42;
@@ -504,13 +504,13 @@
 checkReportRequest(api.ReportRequest o) {
   buildCounterReportRequest++;
   if (buildCounterReportRequest < 3) {
-    checkUnnamed736(o.columns);
+    checkUnnamed764(o.columns);
     unittest.expect(o.downloadFormat, unittest.equals('foo'));
-    checkUnnamed738(o.filters);
+    checkUnnamed766(o.filters);
     unittest.expect(o.includeDeletedEntities, unittest.isTrue);
     unittest.expect(o.includeRemovedEntities, unittest.isTrue);
     unittest.expect(o.maxRowsPerFile, unittest.equals(42));
-    checkUnnamed739(o.orderBy);
+    checkUnnamed767(o.orderBy);
     checkReportRequestReportScope(o.reportScope);
     unittest.expect(o.reportType, unittest.equals('foo'));
     unittest.expect(o.rowCount, unittest.equals(42));
@@ -558,14 +558,14 @@
   buildCounterSavedColumn--;
 }
 
-buildUnnamed740() {
+buildUnnamed768() {
   var o = new core.List<api.SavedColumn>();
   o.add(buildSavedColumn());
   o.add(buildSavedColumn());
   return o;
 }
 
-checkUnnamed740(core.List<api.SavedColumn> o) {
+checkUnnamed768(core.List<api.SavedColumn> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSavedColumn(o[0]);
   checkSavedColumn(o[1]);
@@ -576,7 +576,7 @@
   var o = new api.SavedColumnList();
   buildCounterSavedColumnList++;
   if (buildCounterSavedColumnList < 3) {
-    o.items = buildUnnamed740();
+    o.items = buildUnnamed768();
     o.kind = "foo";
   }
   buildCounterSavedColumnList--;
@@ -586,20 +586,20 @@
 checkSavedColumnList(api.SavedColumnList o) {
   buildCounterSavedColumnList++;
   if (buildCounterSavedColumnList < 3) {
-    checkUnnamed740(o.items);
+    checkUnnamed768(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterSavedColumnList--;
 }
 
-buildUnnamed741() {
+buildUnnamed769() {
   var o = new core.List<api.Availability>();
   o.add(buildAvailability());
   o.add(buildAvailability());
   return o;
 }
 
-checkUnnamed741(core.List<api.Availability> o) {
+checkUnnamed769(core.List<api.Availability> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAvailability(o[0]);
   checkAvailability(o[1]);
@@ -610,7 +610,7 @@
   var o = new api.UpdateAvailabilityRequest();
   buildCounterUpdateAvailabilityRequest++;
   if (buildCounterUpdateAvailabilityRequest < 3) {
-    o.availabilities = buildUnnamed741();
+    o.availabilities = buildUnnamed769();
   }
   buildCounterUpdateAvailabilityRequest--;
   return o;
@@ -619,19 +619,19 @@
 checkUpdateAvailabilityRequest(api.UpdateAvailabilityRequest o) {
   buildCounterUpdateAvailabilityRequest++;
   if (buildCounterUpdateAvailabilityRequest < 3) {
-    checkUnnamed741(o.availabilities);
+    checkUnnamed769(o.availabilities);
   }
   buildCounterUpdateAvailabilityRequest--;
 }
 
-buildUnnamed742() {
+buildUnnamed770() {
   var o = new core.List<api.Availability>();
   o.add(buildAvailability());
   o.add(buildAvailability());
   return o;
 }
 
-checkUnnamed742(core.List<api.Availability> o) {
+checkUnnamed770(core.List<api.Availability> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAvailability(o[0]);
   checkAvailability(o[1]);
@@ -642,7 +642,7 @@
   var o = new api.UpdateAvailabilityResponse();
   buildCounterUpdateAvailabilityResponse++;
   if (buildCounterUpdateAvailabilityResponse < 3) {
-    o.availabilities = buildUnnamed742();
+    o.availabilities = buildUnnamed770();
   }
   buildCounterUpdateAvailabilityResponse--;
   return o;
@@ -651,7 +651,7 @@
 checkUpdateAvailabilityResponse(api.UpdateAvailabilityResponse o) {
   buildCounterUpdateAvailabilityResponse++;
   if (buildCounterUpdateAvailabilityResponse < 3) {
-    checkUnnamed742(o.availabilities);
+    checkUnnamed770(o.availabilities);
   }
   buildCounterUpdateAvailabilityResponse--;
 }
@@ -841,8 +841,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("agency/"));
         pathOffset += 7;
         index = path.indexOf("/advertiser/", pathOffset);
@@ -917,8 +919,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("conversion"));
         pathOffset += 10;
 
@@ -971,8 +975,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("conversion"));
         pathOffset += 10;
 
@@ -1025,8 +1031,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("conversion"));
         pathOffset += 10;
 
@@ -1072,8 +1080,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 29), unittest.equals("conversion/updateAvailability"));
         pathOffset += 29;
 
@@ -1123,8 +1133,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("reports/generate"));
         pathOffset += 16;
 
@@ -1167,8 +1179,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("reports/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1217,8 +1231,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("reports/"));
         pathOffset += 8;
         index = path.indexOf("/files/", pathOffset);
@@ -1272,8 +1288,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("reports"));
         pathOffset += 7;
 
@@ -1321,8 +1339,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/doubleclicksearch/v2/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("doubleclicksearch/v2/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("agency/"));
         pathOffset += 7;
         index = path.indexOf("/advertiser/", pathOffset);
diff --git a/generated/googleapis/test/drive/v2_test.dart b/generated/googleapis/test/drive/v2_test.dart
index fa33e53..dc53a96 100644
--- a/generated/googleapis/test/drive/v2_test.dart
+++ b/generated/googleapis/test/drive/v2_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed394() {
+buildUnnamed419() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed394(core.List<core.String> o) {
+checkUnnamed419(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -34,7 +34,7 @@
   var o = new api.AboutAdditionalRoleInfoRoleSets();
   buildCounterAboutAdditionalRoleInfoRoleSets++;
   if (buildCounterAboutAdditionalRoleInfoRoleSets < 3) {
-    o.additionalRoles = buildUnnamed394();
+    o.additionalRoles = buildUnnamed419();
     o.primaryRole = "foo";
   }
   buildCounterAboutAdditionalRoleInfoRoleSets--;
@@ -44,20 +44,20 @@
 checkAboutAdditionalRoleInfoRoleSets(api.AboutAdditionalRoleInfoRoleSets o) {
   buildCounterAboutAdditionalRoleInfoRoleSets++;
   if (buildCounterAboutAdditionalRoleInfoRoleSets < 3) {
-    checkUnnamed394(o.additionalRoles);
+    checkUnnamed419(o.additionalRoles);
     unittest.expect(o.primaryRole, unittest.equals('foo'));
   }
   buildCounterAboutAdditionalRoleInfoRoleSets--;
 }
 
-buildUnnamed395() {
+buildUnnamed420() {
   var o = new core.List<api.AboutAdditionalRoleInfoRoleSets>();
   o.add(buildAboutAdditionalRoleInfoRoleSets());
   o.add(buildAboutAdditionalRoleInfoRoleSets());
   return o;
 }
 
-checkUnnamed395(core.List<api.AboutAdditionalRoleInfoRoleSets> o) {
+checkUnnamed420(core.List<api.AboutAdditionalRoleInfoRoleSets> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutAdditionalRoleInfoRoleSets(o[0]);
   checkAboutAdditionalRoleInfoRoleSets(o[1]);
@@ -68,7 +68,7 @@
   var o = new api.AboutAdditionalRoleInfo();
   buildCounterAboutAdditionalRoleInfo++;
   if (buildCounterAboutAdditionalRoleInfo < 3) {
-    o.roleSets = buildUnnamed395();
+    o.roleSets = buildUnnamed420();
     o.type = "foo";
   }
   buildCounterAboutAdditionalRoleInfo--;
@@ -78,33 +78,33 @@
 checkAboutAdditionalRoleInfo(api.AboutAdditionalRoleInfo o) {
   buildCounterAboutAdditionalRoleInfo++;
   if (buildCounterAboutAdditionalRoleInfo < 3) {
-    checkUnnamed395(o.roleSets);
+    checkUnnamed420(o.roleSets);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterAboutAdditionalRoleInfo--;
 }
 
-buildUnnamed396() {
+buildUnnamed421() {
   var o = new core.List<api.AboutAdditionalRoleInfo>();
   o.add(buildAboutAdditionalRoleInfo());
   o.add(buildAboutAdditionalRoleInfo());
   return o;
 }
 
-checkUnnamed396(core.List<api.AboutAdditionalRoleInfo> o) {
+checkUnnamed421(core.List<api.AboutAdditionalRoleInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutAdditionalRoleInfo(o[0]);
   checkAboutAdditionalRoleInfo(o[1]);
 }
 
-buildUnnamed397() {
+buildUnnamed422() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed397(core.List<core.String> o) {
+checkUnnamed422(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -116,7 +116,7 @@
   buildCounterAboutExportFormats++;
   if (buildCounterAboutExportFormats < 3) {
     o.source = "foo";
-    o.targets = buildUnnamed397();
+    o.targets = buildUnnamed422();
   }
   buildCounterAboutExportFormats--;
   return o;
@@ -126,19 +126,19 @@
   buildCounterAboutExportFormats++;
   if (buildCounterAboutExportFormats < 3) {
     unittest.expect(o.source, unittest.equals('foo'));
-    checkUnnamed397(o.targets);
+    checkUnnamed422(o.targets);
   }
   buildCounterAboutExportFormats--;
 }
 
-buildUnnamed398() {
+buildUnnamed423() {
   var o = new core.List<api.AboutExportFormats>();
   o.add(buildAboutExportFormats());
   o.add(buildAboutExportFormats());
   return o;
 }
 
-checkUnnamed398(core.List<api.AboutExportFormats> o) {
+checkUnnamed423(core.List<api.AboutExportFormats> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutExportFormats(o[0]);
   checkAboutExportFormats(o[1]);
@@ -165,27 +165,27 @@
   buildCounterAboutFeatures--;
 }
 
-buildUnnamed399() {
+buildUnnamed424() {
   var o = new core.List<api.AboutFeatures>();
   o.add(buildAboutFeatures());
   o.add(buildAboutFeatures());
   return o;
 }
 
-checkUnnamed399(core.List<api.AboutFeatures> o) {
+checkUnnamed424(core.List<api.AboutFeatures> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutFeatures(o[0]);
   checkAboutFeatures(o[1]);
 }
 
-buildUnnamed400() {
+buildUnnamed425() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed400(core.List<core.String> o) {
+checkUnnamed425(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -197,7 +197,7 @@
   buildCounterAboutImportFormats++;
   if (buildCounterAboutImportFormats < 3) {
     o.source = "foo";
-    o.targets = buildUnnamed400();
+    o.targets = buildUnnamed425();
   }
   buildCounterAboutImportFormats--;
   return o;
@@ -207,19 +207,19 @@
   buildCounterAboutImportFormats++;
   if (buildCounterAboutImportFormats < 3) {
     unittest.expect(o.source, unittest.equals('foo'));
-    checkUnnamed400(o.targets);
+    checkUnnamed425(o.targets);
   }
   buildCounterAboutImportFormats--;
 }
 
-buildUnnamed401() {
+buildUnnamed426() {
   var o = new core.List<api.AboutImportFormats>();
   o.add(buildAboutImportFormats());
   o.add(buildAboutImportFormats());
   return o;
 }
 
-checkUnnamed401(core.List<api.AboutImportFormats> o) {
+checkUnnamed426(core.List<api.AboutImportFormats> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutImportFormats(o[0]);
   checkAboutImportFormats(o[1]);
@@ -246,14 +246,14 @@
   buildCounterAboutMaxUploadSizes--;
 }
 
-buildUnnamed402() {
+buildUnnamed427() {
   var o = new core.List<api.AboutMaxUploadSizes>();
   o.add(buildAboutMaxUploadSizes());
   o.add(buildAboutMaxUploadSizes());
   return o;
 }
 
-checkUnnamed402(core.List<api.AboutMaxUploadSizes> o) {
+checkUnnamed427(core.List<api.AboutMaxUploadSizes> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutMaxUploadSizes(o[0]);
   checkAboutMaxUploadSizes(o[1]);
@@ -280,14 +280,14 @@
   buildCounterAboutQuotaBytesByService--;
 }
 
-buildUnnamed403() {
+buildUnnamed428() {
   var o = new core.List<api.AboutQuotaBytesByService>();
   o.add(buildAboutQuotaBytesByService());
   o.add(buildAboutQuotaBytesByService());
   return o;
 }
 
-checkUnnamed403(core.List<api.AboutQuotaBytesByService> o) {
+checkUnnamed428(core.List<api.AboutQuotaBytesByService> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAboutQuotaBytesByService(o[0]);
   checkAboutQuotaBytesByService(o[1]);
@@ -298,20 +298,20 @@
   var o = new api.About();
   buildCounterAbout++;
   if (buildCounterAbout < 3) {
-    o.additionalRoleInfo = buildUnnamed396();
+    o.additionalRoleInfo = buildUnnamed421();
     o.domainSharingPolicy = "foo";
     o.etag = "foo";
-    o.exportFormats = buildUnnamed398();
-    o.features = buildUnnamed399();
-    o.importFormats = buildUnnamed401();
+    o.exportFormats = buildUnnamed423();
+    o.features = buildUnnamed424();
+    o.importFormats = buildUnnamed426();
     o.isCurrentAppInstalled = true;
     o.kind = "foo";
     o.languageCode = "foo";
     o.largestChangeId = "foo";
-    o.maxUploadSizes = buildUnnamed402();
+    o.maxUploadSizes = buildUnnamed427();
     o.name = "foo";
     o.permissionId = "foo";
-    o.quotaBytesByService = buildUnnamed403();
+    o.quotaBytesByService = buildUnnamed428();
     o.quotaBytesTotal = "foo";
     o.quotaBytesUsed = "foo";
     o.quotaBytesUsedAggregate = "foo";
@@ -329,20 +329,20 @@
 checkAbout(api.About o) {
   buildCounterAbout++;
   if (buildCounterAbout < 3) {
-    checkUnnamed396(o.additionalRoleInfo);
+    checkUnnamed421(o.additionalRoleInfo);
     unittest.expect(o.domainSharingPolicy, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed398(o.exportFormats);
-    checkUnnamed399(o.features);
-    checkUnnamed401(o.importFormats);
+    checkUnnamed423(o.exportFormats);
+    checkUnnamed424(o.features);
+    checkUnnamed426(o.importFormats);
     unittest.expect(o.isCurrentAppInstalled, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.languageCode, unittest.equals('foo'));
     unittest.expect(o.largestChangeId, unittest.equals('foo'));
-    checkUnnamed402(o.maxUploadSizes);
+    checkUnnamed427(o.maxUploadSizes);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.permissionId, unittest.equals('foo'));
-    checkUnnamed403(o.quotaBytesByService);
+    checkUnnamed428(o.quotaBytesByService);
     unittest.expect(o.quotaBytesTotal, unittest.equals('foo'));
     unittest.expect(o.quotaBytesUsed, unittest.equals('foo'));
     unittest.expect(o.quotaBytesUsedAggregate, unittest.equals('foo'));
@@ -379,66 +379,66 @@
   buildCounterAppIcons--;
 }
 
-buildUnnamed404() {
+buildUnnamed429() {
   var o = new core.List<api.AppIcons>();
   o.add(buildAppIcons());
   o.add(buildAppIcons());
   return o;
 }
 
-checkUnnamed404(core.List<api.AppIcons> o) {
+checkUnnamed429(core.List<api.AppIcons> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAppIcons(o[0]);
   checkAppIcons(o[1]);
 }
 
-buildUnnamed405() {
+buildUnnamed430() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed405(core.List<core.String> o) {
+checkUnnamed430(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed406() {
+buildUnnamed431() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed406(core.List<core.String> o) {
+checkUnnamed431(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed407() {
+buildUnnamed432() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed407(core.List<core.String> o) {
+checkUnnamed432(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed408() {
+buildUnnamed433() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed408(core.List<core.String> o) {
+checkUnnamed433(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -453,7 +453,7 @@
     o.createInFolderTemplate = "foo";
     o.createUrl = "foo";
     o.hasDriveWideScope = true;
-    o.icons = buildUnnamed404();
+    o.icons = buildUnnamed429();
     o.id = "foo";
     o.installed = true;
     o.kind = "foo";
@@ -461,12 +461,12 @@
     o.name = "foo";
     o.objectType = "foo";
     o.openUrlTemplate = "foo";
-    o.primaryFileExtensions = buildUnnamed405();
-    o.primaryMimeTypes = buildUnnamed406();
+    o.primaryFileExtensions = buildUnnamed430();
+    o.primaryMimeTypes = buildUnnamed431();
     o.productId = "foo";
     o.productUrl = "foo";
-    o.secondaryFileExtensions = buildUnnamed407();
-    o.secondaryMimeTypes = buildUnnamed408();
+    o.secondaryFileExtensions = buildUnnamed432();
+    o.secondaryMimeTypes = buildUnnamed433();
     o.shortDescription = "foo";
     o.supportsCreate = true;
     o.supportsImport = true;
@@ -485,7 +485,7 @@
     unittest.expect(o.createInFolderTemplate, unittest.equals('foo'));
     unittest.expect(o.createUrl, unittest.equals('foo'));
     unittest.expect(o.hasDriveWideScope, unittest.isTrue);
-    checkUnnamed404(o.icons);
+    checkUnnamed429(o.icons);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.installed, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -493,12 +493,12 @@
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.objectType, unittest.equals('foo'));
     unittest.expect(o.openUrlTemplate, unittest.equals('foo'));
-    checkUnnamed405(o.primaryFileExtensions);
-    checkUnnamed406(o.primaryMimeTypes);
+    checkUnnamed430(o.primaryFileExtensions);
+    checkUnnamed431(o.primaryMimeTypes);
     unittest.expect(o.productId, unittest.equals('foo'));
     unittest.expect(o.productUrl, unittest.equals('foo'));
-    checkUnnamed407(o.secondaryFileExtensions);
-    checkUnnamed408(o.secondaryMimeTypes);
+    checkUnnamed432(o.secondaryFileExtensions);
+    checkUnnamed433(o.secondaryMimeTypes);
     unittest.expect(o.shortDescription, unittest.equals('foo'));
     unittest.expect(o.supportsCreate, unittest.isTrue);
     unittest.expect(o.supportsImport, unittest.isTrue);
@@ -509,27 +509,27 @@
   buildCounterApp--;
 }
 
-buildUnnamed409() {
+buildUnnamed434() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed409(core.List<core.String> o) {
+checkUnnamed434(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed410() {
+buildUnnamed435() {
   var o = new core.List<api.App>();
   o.add(buildApp());
   o.add(buildApp());
   return o;
 }
 
-checkUnnamed410(core.List<api.App> o) {
+checkUnnamed435(core.List<api.App> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkApp(o[0]);
   checkApp(o[1]);
@@ -540,9 +540,9 @@
   var o = new api.AppList();
   buildCounterAppList++;
   if (buildCounterAppList < 3) {
-    o.defaultAppIds = buildUnnamed409();
+    o.defaultAppIds = buildUnnamed434();
     o.etag = "foo";
-    o.items = buildUnnamed410();
+    o.items = buildUnnamed435();
     o.kind = "foo";
     o.selfLink = "foo";
   }
@@ -553,9 +553,9 @@
 checkAppList(api.AppList o) {
   buildCounterAppList++;
   if (buildCounterAppList < 3) {
-    checkUnnamed409(o.defaultAppIds);
+    checkUnnamed434(o.defaultAppIds);
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed410(o.items);
+    checkUnnamed435(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
@@ -593,14 +593,14 @@
   buildCounterChange--;
 }
 
-buildUnnamed411() {
+buildUnnamed436() {
   var o = new core.List<api.Change>();
   o.add(buildChange());
   o.add(buildChange());
   return o;
 }
 
-checkUnnamed411(core.List<api.Change> o) {
+checkUnnamed436(core.List<api.Change> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChange(o[0]);
   checkChange(o[1]);
@@ -612,7 +612,7 @@
   buildCounterChangeList++;
   if (buildCounterChangeList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed411();
+    o.items = buildUnnamed436();
     o.kind = "foo";
     o.largestChangeId = "foo";
     o.nextLink = "foo";
@@ -627,7 +627,7 @@
   buildCounterChangeList++;
   if (buildCounterChangeList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed411(o.items);
+    checkUnnamed436(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.largestChangeId, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
@@ -637,14 +637,14 @@
   buildCounterChangeList--;
 }
 
-buildUnnamed412() {
+buildUnnamed437() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed412(core.Map<core.String, core.String> o) {
+checkUnnamed437(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -659,7 +659,7 @@
     o.expiration = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.params = buildUnnamed412();
+    o.params = buildUnnamed437();
     o.payload = true;
     o.resourceId = "foo";
     o.resourceUri = "foo";
@@ -677,7 +677,7 @@
     unittest.expect(o.expiration, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed412(o.params);
+    checkUnnamed437(o.params);
     unittest.expect(o.payload, unittest.isTrue);
     unittest.expect(o.resourceId, unittest.equals('foo'));
     unittest.expect(o.resourceUri, unittest.equals('foo'));
@@ -687,14 +687,14 @@
   buildCounterChannel--;
 }
 
-buildUnnamed413() {
+buildUnnamed438() {
   var o = new core.List<api.ChildReference>();
   o.add(buildChildReference());
   o.add(buildChildReference());
   return o;
 }
 
-checkUnnamed413(core.List<api.ChildReference> o) {
+checkUnnamed438(core.List<api.ChildReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChildReference(o[0]);
   checkChildReference(o[1]);
@@ -706,7 +706,7 @@
   buildCounterChildList++;
   if (buildCounterChildList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed413();
+    o.items = buildUnnamed438();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -720,7 +720,7 @@
   buildCounterChildList++;
   if (buildCounterChildList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed413(o.items);
+    checkUnnamed438(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -775,14 +775,14 @@
   buildCounterCommentContext--;
 }
 
-buildUnnamed414() {
+buildUnnamed439() {
   var o = new core.List<api.CommentReply>();
   o.add(buildCommentReply());
   o.add(buildCommentReply());
   return o;
 }
 
-checkUnnamed414(core.List<api.CommentReply> o) {
+checkUnnamed439(core.List<api.CommentReply> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommentReply(o[0]);
   checkCommentReply(o[1]);
@@ -805,7 +805,7 @@
     o.htmlContent = "foo";
     o.kind = "foo";
     o.modifiedDate = core.DateTime.parse("2002-02-27T14:01:02");
-    o.replies = buildUnnamed414();
+    o.replies = buildUnnamed439();
     o.selfLink = "foo";
     o.status = "foo";
   }
@@ -828,21 +828,21 @@
     unittest.expect(o.htmlContent, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.modifiedDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed414(o.replies);
+    checkUnnamed439(o.replies);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
   }
   buildCounterComment--;
 }
 
-buildUnnamed415() {
+buildUnnamed440() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed415(core.List<api.Comment> o) {
+checkUnnamed440(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -853,7 +853,7 @@
   var o = new api.CommentList();
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    o.items = buildUnnamed415();
+    o.items = buildUnnamed440();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -866,7 +866,7 @@
 checkCommentList(api.CommentList o) {
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    checkUnnamed415(o.items);
+    checkUnnamed440(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -910,14 +910,14 @@
   buildCounterCommentReply--;
 }
 
-buildUnnamed416() {
+buildUnnamed441() {
   var o = new core.List<api.CommentReply>();
   o.add(buildCommentReply());
   o.add(buildCommentReply());
   return o;
 }
 
-checkUnnamed416(core.List<api.CommentReply> o) {
+checkUnnamed441(core.List<api.CommentReply> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommentReply(o[0]);
   checkCommentReply(o[1]);
@@ -928,7 +928,7 @@
   var o = new api.CommentReplyList();
   buildCounterCommentReplyList++;
   if (buildCounterCommentReplyList < 3) {
-    o.items = buildUnnamed416();
+    o.items = buildUnnamed441();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -941,7 +941,7 @@
 checkCommentReplyList(api.CommentReplyList o) {
   buildCounterCommentReplyList++;
   if (buildCounterCommentReplyList < 3) {
-    checkUnnamed416(o.items);
+    checkUnnamed441(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -950,14 +950,14 @@
   buildCounterCommentReplyList--;
 }
 
-buildUnnamed417() {
+buildUnnamed442() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed417(core.Map<core.String, core.String> o) {
+checkUnnamed442(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -1091,79 +1091,79 @@
   buildCounterFileLabels--;
 }
 
-buildUnnamed418() {
+buildUnnamed443() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed418(core.Map<core.String, core.String> o) {
+checkUnnamed443(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
 }
 
-buildUnnamed419() {
+buildUnnamed444() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed419(core.List<core.String> o) {
+checkUnnamed444(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed420() {
+buildUnnamed445() {
   var o = new core.List<api.User>();
   o.add(buildUser());
   o.add(buildUser());
   return o;
 }
 
-checkUnnamed420(core.List<api.User> o) {
+checkUnnamed445(core.List<api.User> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUser(o[0]);
   checkUser(o[1]);
 }
 
-buildUnnamed421() {
+buildUnnamed446() {
   var o = new core.List<api.ParentReference>();
   o.add(buildParentReference());
   o.add(buildParentReference());
   return o;
 }
 
-checkUnnamed421(core.List<api.ParentReference> o) {
+checkUnnamed446(core.List<api.ParentReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkParentReference(o[0]);
   checkParentReference(o[1]);
 }
 
-buildUnnamed422() {
+buildUnnamed447() {
   var o = new core.List<api.Permission>();
   o.add(buildPermission());
   o.add(buildPermission());
   return o;
 }
 
-checkUnnamed422(core.List<api.Permission> o) {
+checkUnnamed447(core.List<api.Permission> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPermission(o[0]);
   checkPermission(o[1]);
 }
 
-buildUnnamed423() {
+buildUnnamed448() {
   var o = new core.List<api.Property>();
   o.add(buildProperty());
   o.add(buildProperty());
   return o;
 }
 
-checkUnnamed423(core.List<api.Property> o) {
+checkUnnamed448(core.List<api.Property> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProperty(o[0]);
   checkProperty(o[1]);
@@ -1190,6 +1190,29 @@
   buildCounterFileThumbnail--;
 }
 
+core.int buildCounterFileVideoMediaMetadata = 0;
+buildFileVideoMediaMetadata() {
+  var o = new api.FileVideoMediaMetadata();
+  buildCounterFileVideoMediaMetadata++;
+  if (buildCounterFileVideoMediaMetadata < 3) {
+    o.durationMillis = "foo";
+    o.height = 42;
+    o.width = 42;
+  }
+  buildCounterFileVideoMediaMetadata--;
+  return o;
+}
+
+checkFileVideoMediaMetadata(api.FileVideoMediaMetadata o) {
+  buildCounterFileVideoMediaMetadata++;
+  if (buildCounterFileVideoMediaMetadata < 3) {
+    unittest.expect(o.durationMillis, unittest.equals('foo'));
+    unittest.expect(o.height, unittest.equals(42));
+    unittest.expect(o.width, unittest.equals(42));
+  }
+  buildCounterFileVideoMediaMetadata--;
+}
+
 core.int buildCounterFile = 0;
 buildFile() {
   var o = new api.File();
@@ -1206,7 +1229,7 @@
     o.embedLink = "foo";
     o.etag = "foo";
     o.explicitlyTrashed = true;
-    o.exportLinks = buildUnnamed417();
+    o.exportLinks = buildUnnamed442();
     o.fileExtension = "foo";
     o.fileSize = "foo";
     o.headRevisionId = "foo";
@@ -1224,13 +1247,13 @@
     o.mimeType = "foo";
     o.modifiedByMeDate = core.DateTime.parse("2002-02-27T14:01:02");
     o.modifiedDate = core.DateTime.parse("2002-02-27T14:01:02");
-    o.openWithLinks = buildUnnamed418();
+    o.openWithLinks = buildUnnamed443();
     o.originalFilename = "foo";
-    o.ownerNames = buildUnnamed419();
-    o.owners = buildUnnamed420();
-    o.parents = buildUnnamed421();
-    o.permissions = buildUnnamed422();
-    o.properties = buildUnnamed423();
+    o.ownerNames = buildUnnamed444();
+    o.owners = buildUnnamed445();
+    o.parents = buildUnnamed446();
+    o.permissions = buildUnnamed447();
+    o.properties = buildUnnamed448();
     o.quotaBytesUsed = "foo";
     o.selfLink = "foo";
     o.shared = true;
@@ -1241,6 +1264,7 @@
     o.title = "foo";
     o.userPermission = buildPermission();
     o.version = "foo";
+    o.videoMediaMetadata = buildFileVideoMediaMetadata();
     o.webContentLink = "foo";
     o.webViewLink = "foo";
     o.writersCanShare = true;
@@ -1263,7 +1287,7 @@
     unittest.expect(o.embedLink, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.explicitlyTrashed, unittest.isTrue);
-    checkUnnamed417(o.exportLinks);
+    checkUnnamed442(o.exportLinks);
     unittest.expect(o.fileExtension, unittest.equals('foo'));
     unittest.expect(o.fileSize, unittest.equals('foo'));
     unittest.expect(o.headRevisionId, unittest.equals('foo'));
@@ -1281,13 +1305,13 @@
     unittest.expect(o.mimeType, unittest.equals('foo'));
     unittest.expect(o.modifiedByMeDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.modifiedDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed418(o.openWithLinks);
+    checkUnnamed443(o.openWithLinks);
     unittest.expect(o.originalFilename, unittest.equals('foo'));
-    checkUnnamed419(o.ownerNames);
-    checkUnnamed420(o.owners);
-    checkUnnamed421(o.parents);
-    checkUnnamed422(o.permissions);
-    checkUnnamed423(o.properties);
+    checkUnnamed444(o.ownerNames);
+    checkUnnamed445(o.owners);
+    checkUnnamed446(o.parents);
+    checkUnnamed447(o.permissions);
+    checkUnnamed448(o.properties);
     unittest.expect(o.quotaBytesUsed, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.shared, unittest.isTrue);
@@ -1298,6 +1322,7 @@
     unittest.expect(o.title, unittest.equals('foo'));
     checkPermission(o.userPermission);
     unittest.expect(o.version, unittest.equals('foo'));
+    checkFileVideoMediaMetadata(o.videoMediaMetadata);
     unittest.expect(o.webContentLink, unittest.equals('foo'));
     unittest.expect(o.webViewLink, unittest.equals('foo'));
     unittest.expect(o.writersCanShare, unittest.isTrue);
@@ -1305,14 +1330,14 @@
   buildCounterFile--;
 }
 
-buildUnnamed424() {
+buildUnnamed449() {
   var o = new core.List<api.File>();
   o.add(buildFile());
   o.add(buildFile());
   return o;
 }
 
-checkUnnamed424(core.List<api.File> o) {
+checkUnnamed449(core.List<api.File> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFile(o[0]);
   checkFile(o[1]);
@@ -1324,7 +1349,7 @@
   buildCounterFileList++;
   if (buildCounterFileList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed424();
+    o.items = buildUnnamed449();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -1338,7 +1363,7 @@
   buildCounterFileList++;
   if (buildCounterFileList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed424(o.items);
+    checkUnnamed449(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -1347,14 +1372,14 @@
   buildCounterFileList--;
 }
 
-buildUnnamed425() {
+buildUnnamed450() {
   var o = new core.List<api.ParentReference>();
   o.add(buildParentReference());
   o.add(buildParentReference());
   return o;
 }
 
-checkUnnamed425(core.List<api.ParentReference> o) {
+checkUnnamed450(core.List<api.ParentReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkParentReference(o[0]);
   checkParentReference(o[1]);
@@ -1366,7 +1391,7 @@
   buildCounterParentList++;
   if (buildCounterParentList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed425();
+    o.items = buildUnnamed450();
     o.kind = "foo";
     o.selfLink = "foo";
   }
@@ -1378,7 +1403,7 @@
   buildCounterParentList++;
   if (buildCounterParentList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed425(o.items);
+    checkUnnamed450(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
@@ -1412,14 +1437,14 @@
   buildCounterParentReference--;
 }
 
-buildUnnamed426() {
+buildUnnamed451() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed426(core.List<core.String> o) {
+checkUnnamed451(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1430,7 +1455,7 @@
   var o = new api.Permission();
   buildCounterPermission++;
   if (buildCounterPermission < 3) {
-    o.additionalRoles = buildUnnamed426();
+    o.additionalRoles = buildUnnamed451();
     o.authKey = "foo";
     o.domain = "foo";
     o.emailAddress = "foo";
@@ -1452,7 +1477,7 @@
 checkPermission(api.Permission o) {
   buildCounterPermission++;
   if (buildCounterPermission < 3) {
-    checkUnnamed426(o.additionalRoles);
+    checkUnnamed451(o.additionalRoles);
     unittest.expect(o.authKey, unittest.equals('foo'));
     unittest.expect(o.domain, unittest.equals('foo'));
     unittest.expect(o.emailAddress, unittest.equals('foo'));
@@ -1491,14 +1516,14 @@
   buildCounterPermissionId--;
 }
 
-buildUnnamed427() {
+buildUnnamed452() {
   var o = new core.List<api.Permission>();
   o.add(buildPermission());
   o.add(buildPermission());
   return o;
 }
 
-checkUnnamed427(core.List<api.Permission> o) {
+checkUnnamed452(core.List<api.Permission> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPermission(o[0]);
   checkPermission(o[1]);
@@ -1510,7 +1535,7 @@
   buildCounterPermissionList++;
   if (buildCounterPermissionList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed427();
+    o.items = buildUnnamed452();
     o.kind = "foo";
     o.selfLink = "foo";
   }
@@ -1522,7 +1547,7 @@
   buildCounterPermissionList++;
   if (buildCounterPermissionList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed427(o.items);
+    checkUnnamed452(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
@@ -1558,14 +1583,14 @@
   buildCounterProperty--;
 }
 
-buildUnnamed428() {
+buildUnnamed453() {
   var o = new core.List<api.Property>();
   o.add(buildProperty());
   o.add(buildProperty());
   return o;
 }
 
-checkUnnamed428(core.List<api.Property> o) {
+checkUnnamed453(core.List<api.Property> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProperty(o[0]);
   checkProperty(o[1]);
@@ -1577,7 +1602,7 @@
   buildCounterPropertyList++;
   if (buildCounterPropertyList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed428();
+    o.items = buildUnnamed453();
     o.kind = "foo";
     o.selfLink = "foo";
   }
@@ -1589,21 +1614,21 @@
   buildCounterPropertyList++;
   if (buildCounterPropertyList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed428(o.items);
+    checkUnnamed453(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
   buildCounterPropertyList--;
 }
 
-buildUnnamed429() {
+buildUnnamed454() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed429(core.Map<core.String, core.String> o) {
+checkUnnamed454(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -1616,7 +1641,7 @@
   if (buildCounterRevision < 3) {
     o.downloadUrl = "foo";
     o.etag = "foo";
-    o.exportLinks = buildUnnamed429();
+    o.exportLinks = buildUnnamed454();
     o.fileSize = "foo";
     o.id = "foo";
     o.kind = "foo";
@@ -1642,7 +1667,7 @@
   if (buildCounterRevision < 3) {
     unittest.expect(o.downloadUrl, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed429(o.exportLinks);
+    checkUnnamed454(o.exportLinks);
     unittest.expect(o.fileSize, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -1662,14 +1687,14 @@
   buildCounterRevision--;
 }
 
-buildUnnamed430() {
+buildUnnamed455() {
   var o = new core.List<api.Revision>();
   o.add(buildRevision());
   o.add(buildRevision());
   return o;
 }
 
-checkUnnamed430(core.List<api.Revision> o) {
+checkUnnamed455(core.List<api.Revision> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRevision(o[0]);
   checkRevision(o[1]);
@@ -1681,7 +1706,7 @@
   buildCounterRevisionList++;
   if (buildCounterRevisionList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed430();
+    o.items = buildUnnamed455();
     o.kind = "foo";
     o.selfLink = "foo";
   }
@@ -1693,7 +1718,7 @@
   buildCounterRevisionList++;
   if (buildCounterRevisionList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed430(o.items);
+    checkUnnamed455(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
@@ -1984,6 +2009,15 @@
   });
 
 
+  unittest.group("obj-schema-FileVideoMediaMetadata", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildFileVideoMediaMetadata();
+      var od = new api.FileVideoMediaMetadata.fromJson(o.toJson());
+      checkFileVideoMediaMetadata(od);
+    });
+  });
+
+
   unittest.group("obj-schema-File", () {
     unittest.test("to-json--from-json", () {
       var o = buildFile();
@@ -2114,8 +2148,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("about"));
         pathOffset += 5;
 
@@ -2165,8 +2201,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("apps/"));
         pathOffset += 5;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2214,8 +2252,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 4), unittest.equals("apps"));
         pathOffset += 4;
 
@@ -2265,8 +2305,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("changes/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2316,8 +2358,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("changes"));
         pathOffset += 7;
 
@@ -2373,8 +2417,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("changes/watch"));
         pathOffset += 13;
 
@@ -2429,8 +2475,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("channels/stop"));
         pathOffset += 13;
 
@@ -2476,8 +2524,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/children/", pathOffset);
@@ -2529,8 +2579,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/children/", pathOffset);
@@ -2587,8 +2639,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/children", pathOffset);
@@ -2641,8 +2695,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/children", pathOffset);
@@ -2700,8 +2756,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -2754,8 +2812,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -2813,8 +2873,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments", pathOffset);
@@ -2868,8 +2930,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments", pathOffset);
@@ -2928,8 +2992,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -2987,8 +3053,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -3056,8 +3124,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/copy", pathOffset);
@@ -3114,8 +3184,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3158,8 +3230,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("files/trash"));
         pathOffset += 11;
 
@@ -3202,8 +3276,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3264,8 +3340,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("files"));
         pathOffset += 5;
 
@@ -3320,8 +3398,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("files"));
         pathOffset += 5;
 
@@ -3385,8 +3465,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3444,8 +3526,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/touch", pathOffset);
@@ -3495,8 +3579,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/trash", pathOffset);
@@ -3546,8 +3632,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/untrash", pathOffset);
@@ -3615,8 +3703,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3680,8 +3770,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/watch", pathOffset);
@@ -3738,8 +3830,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/parents/", pathOffset);
@@ -3791,8 +3885,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/parents/", pathOffset);
@@ -3849,8 +3945,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/parents", pathOffset);
@@ -3900,8 +3998,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/parents", pathOffset);
@@ -3956,8 +4056,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions/", pathOffset);
@@ -4009,8 +4111,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions/", pathOffset);
@@ -4063,8 +4167,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("permissionIds/"));
         pathOffset += 14;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4116,8 +4222,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions", pathOffset);
@@ -4169,8 +4277,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions", pathOffset);
@@ -4226,8 +4336,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions/", pathOffset);
@@ -4287,8 +4399,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/permissions/", pathOffset);
@@ -4348,8 +4462,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties/", pathOffset);
@@ -4403,8 +4519,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties/", pathOffset);
@@ -4462,8 +4580,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties", pathOffset);
@@ -4513,8 +4633,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties", pathOffset);
@@ -4570,8 +4692,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties/", pathOffset);
@@ -4631,8 +4755,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/properties/", pathOffset);
@@ -4693,8 +4819,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/realtime", pathOffset);
@@ -4746,8 +4874,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/realtime", pathOffset);
@@ -4802,8 +4932,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -4864,8 +4996,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -4931,8 +5065,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -4993,8 +5129,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -5060,8 +5198,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -5127,8 +5267,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/comments/", pathOffset);
@@ -5193,8 +5335,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/revisions/", pathOffset);
@@ -5246,8 +5390,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/revisions/", pathOffset);
@@ -5300,8 +5446,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/revisions", pathOffset);
@@ -5356,8 +5504,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/revisions/", pathOffset);
@@ -5415,8 +5565,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/drive/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("drive/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("files/"));
         pathOffset += 6;
         index = path.indexOf("/revisions/", pathOffset);
diff --git a/generated/googleapis/test/freebase/v1_test.dart b/generated/googleapis/test/freebase/v1_test.dart
index 55cf1b2..70cfe32 100644
--- a/generated/googleapis/test/freebase/v1_test.dart
+++ b/generated/googleapis/test/freebase/v1_test.dart
@@ -64,14 +64,14 @@
   buildCounterReconcileCandidate--;
 }
 
-buildUnnamed719() {
+buildUnnamed747() {
   var o = new core.List<api.ReconcileCandidate>();
   o.add(buildReconcileCandidate());
   o.add(buildReconcileCandidate());
   return o;
 }
 
-checkUnnamed719(core.List<api.ReconcileCandidate> o) {
+checkUnnamed747(core.List<api.ReconcileCandidate> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReconcileCandidate(o[0]);
   checkReconcileCandidate(o[1]);
@@ -121,14 +121,14 @@
   buildCounterReconcileGetWarning--;
 }
 
-buildUnnamed720() {
+buildUnnamed748() {
   var o = new core.List<api.ReconcileGetWarning>();
   o.add(buildReconcileGetWarning());
   o.add(buildReconcileGetWarning());
   return o;
 }
 
-checkUnnamed720(core.List<api.ReconcileGetWarning> o) {
+checkUnnamed748(core.List<api.ReconcileGetWarning> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReconcileGetWarning(o[0]);
   checkReconcileGetWarning(o[1]);
@@ -139,10 +139,10 @@
   var o = new api.ReconcileGet();
   buildCounterReconcileGet++;
   if (buildCounterReconcileGet < 3) {
-    o.candidate = buildUnnamed719();
+    o.candidate = buildUnnamed747();
     o.costs = buildReconcileGetCosts();
     o.match = buildReconcileCandidate();
-    o.warning = buildUnnamed720();
+    o.warning = buildUnnamed748();
   }
   buildCounterReconcileGet--;
   return o;
@@ -151,139 +151,139 @@
 checkReconcileGet(api.ReconcileGet o) {
   buildCounterReconcileGet++;
   if (buildCounterReconcileGet < 3) {
-    checkUnnamed719(o.candidate);
+    checkUnnamed747(o.candidate);
     checkReconcileGetCosts(o.costs);
     checkReconcileCandidate(o.match);
-    checkUnnamed720(o.warning);
+    checkUnnamed748(o.warning);
   }
   buildCounterReconcileGet--;
 }
 
-buildUnnamed721() {
+buildUnnamed749() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed721(core.List<core.String> o) {
+checkUnnamed749(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed722() {
+buildUnnamed750() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed722(core.List<core.String> o) {
+checkUnnamed750(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed723() {
+buildUnnamed751() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed723(core.List<core.String> o) {
+checkUnnamed751(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed724() {
+buildUnnamed752() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed724(core.List<core.String> o) {
+checkUnnamed752(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed725() {
+buildUnnamed753() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed725(core.List<core.String> o) {
+checkUnnamed753(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed726() {
+buildUnnamed754() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed726(core.List<core.String> o) {
+checkUnnamed754(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed727() {
+buildUnnamed755() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed727(core.List<core.String> o) {
+checkUnnamed755(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed728() {
+buildUnnamed756() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed728(core.List<core.String> o) {
+checkUnnamed756(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed729() {
+buildUnnamed757() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed729(core.List<core.String> o) {
+checkUnnamed757(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed730() {
+buildUnnamed758() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed730(core.List<core.String> o) {
+checkUnnamed758(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -342,18 +342,20 @@
       var mock = new common_test.HttpServerMock();
       api.FreebaseApi res = new api.FreebaseApi(mock);
       var arg_confidence = 42.0;
-      var arg_kind = buildUnnamed721();
-      var arg_lang = buildUnnamed722();
+      var arg_kind = buildUnnamed749();
+      var arg_lang = buildUnnamed750();
       var arg_limit = 42;
       var arg_name = "foo";
-      var arg_prop = buildUnnamed723();
+      var arg_prop = buildUnnamed751();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/freebase/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("freebase/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("reconcile"));
         pathOffset += 9;
 
@@ -401,16 +403,16 @@
       var arg_asOfTime = "foo";
       var arg_callback = "foo";
       var arg_cursor = 42;
-      var arg_domain = buildUnnamed724();
+      var arg_domain = buildUnnamed752();
       var arg_encode = "foo";
       var arg_exact = true;
-      var arg_filter = buildUnnamed725();
+      var arg_filter = buildUnnamed753();
       var arg_format = "foo";
       var arg_help = "foo";
       var arg_indent = true;
-      var arg_lang = buildUnnamed726();
+      var arg_lang = buildUnnamed754();
       var arg_limit = 42;
-      var arg_mid = buildUnnamed727();
+      var arg_mid = buildUnnamed755();
       var arg_mqlOutput = "foo";
       var arg_output = "foo";
       var arg_prefixed = true;
@@ -418,16 +420,18 @@
       var arg_scoring = "foo";
       var arg_spell = "foo";
       var arg_stemmed = true;
-      var arg_type = buildUnnamed728();
-      var arg_with_ = buildUnnamed729();
-      var arg_without = buildUnnamed730();
+      var arg_type = buildUnnamed756();
+      var arg_with_ = buildUnnamed757();
+      var arg_without = buildUnnamed758();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/freebase/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("freebase/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("search"));
         pathOffset += 6;
 
diff --git a/generated/googleapis/test/fusiontables/v1_test.dart b/generated/googleapis/test/fusiontables/v1_test.dart
index 7e5ca49..a4f2599 100644
--- a/generated/googleapis/test/fusiontables/v1_test.dart
+++ b/generated/googleapis/test/fusiontables/v1_test.dart
@@ -97,14 +97,14 @@
   buildCounterColumn--;
 }
 
-buildUnnamed990() {
+buildUnnamed1018() {
   var o = new core.List<api.Column>();
   o.add(buildColumn());
   o.add(buildColumn());
   return o;
 }
 
-checkUnnamed990(core.List<api.Column> o) {
+checkUnnamed1018(core.List<api.Column> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkColumn(o[0]);
   checkColumn(o[1]);
@@ -115,7 +115,7 @@
   var o = new api.ColumnList();
   buildCounterColumnList++;
   if (buildCounterColumnList < 3) {
-    o.items = buildUnnamed990();
+    o.items = buildUnnamed1018();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -127,7 +127,7 @@
 checkColumnList(api.ColumnList o) {
   buildCounterColumnList++;
   if (buildCounterColumnList < 3) {
-    checkUnnamed990(o.items);
+    checkUnnamed1018(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -135,14 +135,14 @@
   buildCounterColumnList--;
 }
 
-buildUnnamed991() {
+buildUnnamed1019() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed991(core.List<core.Object> o) {
+checkUnnamed1019(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
@@ -153,7 +153,7 @@
   var o = new api.Geometry();
   buildCounterGeometry++;
   if (buildCounterGeometry < 3) {
-    o.geometries = buildUnnamed991();
+    o.geometries = buildUnnamed1019();
     o.geometry = {'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'};
     o.type = "foo";
   }
@@ -164,7 +164,7 @@
 checkGeometry(api.Geometry o) {
   buildCounterGeometry++;
   if (buildCounterGeometry < 3) {
-    checkUnnamed991(o.geometries);
+    checkUnnamed1019(o.geometries);
     var casted3 = (o.geometry) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); unittest.expect(casted3["list"], unittest.equals([1, 2, 3])); unittest.expect(casted3["bool"], unittest.equals(true)); unittest.expect(casted3["string"], unittest.equals('foo')); 
     unittest.expect(o.type, unittest.equals('foo'));
   }
@@ -192,30 +192,30 @@
   buildCounterImport--;
 }
 
-buildUnnamed992() {
+buildUnnamed1020() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed992(core.List<core.double> o) {
+checkUnnamed1020(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed993() {
+buildUnnamed1021() {
   var o = new core.List<core.List<core.double>>();
-  o.add(buildUnnamed992());
-  o.add(buildUnnamed992());
+  o.add(buildUnnamed1020());
+  o.add(buildUnnamed1020());
   return o;
 }
 
-checkUnnamed993(core.List<core.List<core.double>> o) {
+checkUnnamed1021(core.List<core.List<core.double>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed992(o[0]);
-  checkUnnamed992(o[1]);
+  checkUnnamed1020(o[0]);
+  checkUnnamed1020(o[1]);
 }
 
 core.int buildCounterLine = 0;
@@ -223,7 +223,7 @@
   var o = new api.Line();
   buildCounterLine++;
   if (buildCounterLine < 3) {
-    o.coordinates = buildUnnamed993();
+    o.coordinates = buildUnnamed1021();
     o.type = "foo";
   }
   buildCounterLine--;
@@ -233,7 +233,7 @@
 checkLine(api.Line o) {
   buildCounterLine++;
   if (buildCounterLine < 3) {
-    checkUnnamed993(o.coordinates);
+    checkUnnamed1021(o.coordinates);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterLine--;
@@ -266,14 +266,14 @@
   buildCounterLineStyle--;
 }
 
-buildUnnamed994() {
+buildUnnamed1022() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed994(core.List<core.double> o) {
+checkUnnamed1022(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
@@ -284,7 +284,7 @@
   var o = new api.Point();
   buildCounterPoint++;
   if (buildCounterPoint < 3) {
-    o.coordinates = buildUnnamed994();
+    o.coordinates = buildUnnamed1022();
     o.type = "foo";
   }
   buildCounterPoint--;
@@ -294,7 +294,7 @@
 checkPoint(api.Point o) {
   buildCounterPoint++;
   if (buildCounterPoint < 3) {
-    checkUnnamed994(o.coordinates);
+    checkUnnamed1022(o.coordinates);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterPoint--;
@@ -321,43 +321,43 @@
   buildCounterPointStyle--;
 }
 
-buildUnnamed995() {
+buildUnnamed1023() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed995(core.List<core.double> o) {
+checkUnnamed1023(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed996() {
+buildUnnamed1024() {
   var o = new core.List<core.List<core.double>>();
-  o.add(buildUnnamed995());
-  o.add(buildUnnamed995());
+  o.add(buildUnnamed1023());
+  o.add(buildUnnamed1023());
   return o;
 }
 
-checkUnnamed996(core.List<core.List<core.double>> o) {
+checkUnnamed1024(core.List<core.List<core.double>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed995(o[0]);
-  checkUnnamed995(o[1]);
+  checkUnnamed1023(o[0]);
+  checkUnnamed1023(o[1]);
 }
 
-buildUnnamed997() {
+buildUnnamed1025() {
   var o = new core.List<core.List<core.List<core.double>>>();
-  o.add(buildUnnamed996());
-  o.add(buildUnnamed996());
+  o.add(buildUnnamed1024());
+  o.add(buildUnnamed1024());
   return o;
 }
 
-checkUnnamed997(core.List<core.List<core.List<core.double>>> o) {
+checkUnnamed1025(core.List<core.List<core.List<core.double>>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed996(o[0]);
-  checkUnnamed996(o[1]);
+  checkUnnamed1024(o[0]);
+  checkUnnamed1024(o[1]);
 }
 
 core.int buildCounterPolygon = 0;
@@ -365,7 +365,7 @@
   var o = new api.Polygon();
   buildCounterPolygon++;
   if (buildCounterPolygon < 3) {
-    o.coordinates = buildUnnamed997();
+    o.coordinates = buildUnnamed1025();
     o.type = "foo";
   }
   buildCounterPolygon--;
@@ -375,7 +375,7 @@
 checkPolygon(api.Polygon o) {
   buildCounterPolygon++;
   if (buildCounterPolygon < 3) {
-    checkUnnamed997(o.coordinates);
+    checkUnnamed1025(o.coordinates);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterPolygon--;
@@ -414,43 +414,43 @@
   buildCounterPolygonStyle--;
 }
 
-buildUnnamed998() {
+buildUnnamed1026() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed998(core.List<core.String> o) {
+checkUnnamed1026(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed999() {
+buildUnnamed1027() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed999(core.List<core.Object> o) {
+checkUnnamed1027(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted4 = (o[0]) as core.Map; unittest.expect(casted4, unittest.hasLength(3)); unittest.expect(casted4["list"], unittest.equals([1, 2, 3])); unittest.expect(casted4["bool"], unittest.equals(true)); unittest.expect(casted4["string"], unittest.equals('foo')); 
   var casted5 = (o[1]) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect(casted5["list"], unittest.equals([1, 2, 3])); unittest.expect(casted5["bool"], unittest.equals(true)); unittest.expect(casted5["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed1000() {
+buildUnnamed1028() {
   var o = new core.List<core.List<core.Object>>();
-  o.add(buildUnnamed999());
-  o.add(buildUnnamed999());
+  o.add(buildUnnamed1027());
+  o.add(buildUnnamed1027());
   return o;
 }
 
-checkUnnamed1000(core.List<core.List<core.Object>> o) {
+checkUnnamed1028(core.List<core.List<core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed999(o[0]);
-  checkUnnamed999(o[1]);
+  checkUnnamed1027(o[0]);
+  checkUnnamed1027(o[1]);
 }
 
 core.int buildCounterSqlresponse = 0;
@@ -458,9 +458,9 @@
   var o = new api.Sqlresponse();
   buildCounterSqlresponse++;
   if (buildCounterSqlresponse < 3) {
-    o.columns = buildUnnamed998();
+    o.columns = buildUnnamed1026();
     o.kind = "foo";
-    o.rows = buildUnnamed1000();
+    o.rows = buildUnnamed1028();
   }
   buildCounterSqlresponse--;
   return o;
@@ -469,21 +469,21 @@
 checkSqlresponse(api.Sqlresponse o) {
   buildCounterSqlresponse++;
   if (buildCounterSqlresponse < 3) {
-    checkUnnamed998(o.columns);
+    checkUnnamed1026(o.columns);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1000(o.rows);
+    checkUnnamed1028(o.rows);
   }
   buildCounterSqlresponse--;
 }
 
-buildUnnamed1001() {
+buildUnnamed1029() {
   var o = new core.List<api.Bucket>();
   o.add(buildBucket());
   o.add(buildBucket());
   return o;
 }
 
-checkUnnamed1001(core.List<api.Bucket> o) {
+checkUnnamed1029(core.List<api.Bucket> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucket(o[0]);
   checkBucket(o[1]);
@@ -510,14 +510,14 @@
   buildCounterStyleFunctionGradientColors--;
 }
 
-buildUnnamed1002() {
+buildUnnamed1030() {
   var o = new core.List<api.StyleFunctionGradientColors>();
   o.add(buildStyleFunctionGradientColors());
   o.add(buildStyleFunctionGradientColors());
   return o;
 }
 
-checkUnnamed1002(core.List<api.StyleFunctionGradientColors> o) {
+checkUnnamed1030(core.List<api.StyleFunctionGradientColors> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStyleFunctionGradientColors(o[0]);
   checkStyleFunctionGradientColors(o[1]);
@@ -528,7 +528,7 @@
   var o = new api.StyleFunctionGradient();
   buildCounterStyleFunctionGradient++;
   if (buildCounterStyleFunctionGradient < 3) {
-    o.colors = buildUnnamed1002();
+    o.colors = buildUnnamed1030();
     o.max = 42.0;
     o.min = 42.0;
   }
@@ -539,7 +539,7 @@
 checkStyleFunctionGradient(api.StyleFunctionGradient o) {
   buildCounterStyleFunctionGradient++;
   if (buildCounterStyleFunctionGradient < 3) {
-    checkUnnamed1002(o.colors);
+    checkUnnamed1030(o.colors);
     unittest.expect(o.max, unittest.equals(42.0));
     unittest.expect(o.min, unittest.equals(42.0));
   }
@@ -551,7 +551,7 @@
   var o = new api.StyleFunction();
   buildCounterStyleFunction++;
   if (buildCounterStyleFunction < 3) {
-    o.buckets = buildUnnamed1001();
+    o.buckets = buildUnnamed1029();
     o.columnName = "foo";
     o.gradient = buildStyleFunctionGradient();
     o.kind = "foo";
@@ -563,7 +563,7 @@
 checkStyleFunction(api.StyleFunction o) {
   buildCounterStyleFunction++;
   if (buildCounterStyleFunction < 3) {
-    checkUnnamed1001(o.buckets);
+    checkUnnamed1029(o.buckets);
     unittest.expect(o.columnName, unittest.equals('foo'));
     checkStyleFunctionGradient(o.gradient);
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -602,14 +602,14 @@
   buildCounterStyleSetting--;
 }
 
-buildUnnamed1003() {
+buildUnnamed1031() {
   var o = new core.List<api.StyleSetting>();
   o.add(buildStyleSetting());
   o.add(buildStyleSetting());
   return o;
 }
 
-checkUnnamed1003(core.List<api.StyleSetting> o) {
+checkUnnamed1031(core.List<api.StyleSetting> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStyleSetting(o[0]);
   checkStyleSetting(o[1]);
@@ -620,7 +620,7 @@
   var o = new api.StyleSettingList();
   buildCounterStyleSettingList++;
   if (buildCounterStyleSettingList < 3) {
-    o.items = buildUnnamed1003();
+    o.items = buildUnnamed1031();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -632,7 +632,7 @@
 checkStyleSettingList(api.StyleSettingList o) {
   buildCounterStyleSettingList++;
   if (buildCounterStyleSettingList < 3) {
-    checkUnnamed1003(o.items);
+    checkUnnamed1031(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -640,27 +640,27 @@
   buildCounterStyleSettingList--;
 }
 
-buildUnnamed1004() {
+buildUnnamed1032() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1004(core.List<core.String> o) {
+checkUnnamed1032(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1005() {
+buildUnnamed1033() {
   var o = new core.List<api.Column>();
   o.add(buildColumn());
   o.add(buildColumn());
   return o;
 }
 
-checkUnnamed1005(core.List<api.Column> o) {
+checkUnnamed1033(core.List<api.Column> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkColumn(o[0]);
   checkColumn(o[1]);
@@ -673,8 +673,8 @@
   if (buildCounterTable < 3) {
     o.attribution = "foo";
     o.attributionLink = "foo";
-    o.baseTableIds = buildUnnamed1004();
-    o.columns = buildUnnamed1005();
+    o.baseTableIds = buildUnnamed1032();
+    o.columns = buildUnnamed1033();
     o.description = "foo";
     o.isExportable = true;
     o.kind = "foo";
@@ -691,8 +691,8 @@
   if (buildCounterTable < 3) {
     unittest.expect(o.attribution, unittest.equals('foo'));
     unittest.expect(o.attributionLink, unittest.equals('foo'));
-    checkUnnamed1004(o.baseTableIds);
-    checkUnnamed1005(o.columns);
+    checkUnnamed1032(o.baseTableIds);
+    checkUnnamed1033(o.columns);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.isExportable, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -703,14 +703,14 @@
   buildCounterTable--;
 }
 
-buildUnnamed1006() {
+buildUnnamed1034() {
   var o = new core.List<api.Table>();
   o.add(buildTable());
   o.add(buildTable());
   return o;
 }
 
-checkUnnamed1006(core.List<api.Table> o) {
+checkUnnamed1034(core.List<api.Table> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTable(o[0]);
   checkTable(o[1]);
@@ -721,7 +721,7 @@
   var o = new api.TableList();
   buildCounterTableList++;
   if (buildCounterTableList < 3) {
-    o.items = buildUnnamed1006();
+    o.items = buildUnnamed1034();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -732,7 +732,7 @@
 checkTableList(api.TableList o) {
   buildCounterTableList++;
   if (buildCounterTableList < 3) {
-    checkUnnamed1006(o.items);
+    checkUnnamed1034(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -766,14 +766,14 @@
   buildCounterTask--;
 }
 
-buildUnnamed1007() {
+buildUnnamed1035() {
   var o = new core.List<api.Task>();
   o.add(buildTask());
   o.add(buildTask());
   return o;
 }
 
-checkUnnamed1007(core.List<api.Task> o) {
+checkUnnamed1035(core.List<api.Task> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTask(o[0]);
   checkTask(o[1]);
@@ -784,7 +784,7 @@
   var o = new api.TaskList();
   buildCounterTaskList++;
   if (buildCounterTaskList < 3) {
-    o.items = buildUnnamed1007();
+    o.items = buildUnnamed1035();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -796,7 +796,7 @@
 checkTaskList(api.TaskList o) {
   buildCounterTaskList++;
   if (buildCounterTaskList < 3) {
-    checkUnnamed1007(o.items);
+    checkUnnamed1035(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -804,14 +804,14 @@
   buildCounterTaskList--;
 }
 
-buildUnnamed1008() {
+buildUnnamed1036() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1008(core.List<core.String> o) {
+checkUnnamed1036(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -822,7 +822,7 @@
   var o = new api.Template();
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
-    o.automaticColumnNames = buildUnnamed1008();
+    o.automaticColumnNames = buildUnnamed1036();
     o.body = "foo";
     o.kind = "foo";
     o.name = "foo";
@@ -836,7 +836,7 @@
 checkTemplate(api.Template o) {
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
-    checkUnnamed1008(o.automaticColumnNames);
+    checkUnnamed1036(o.automaticColumnNames);
     unittest.expect(o.body, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
@@ -846,14 +846,14 @@
   buildCounterTemplate--;
 }
 
-buildUnnamed1009() {
+buildUnnamed1037() {
   var o = new core.List<api.Template>();
   o.add(buildTemplate());
   o.add(buildTemplate());
   return o;
 }
 
-checkUnnamed1009(core.List<api.Template> o) {
+checkUnnamed1037(core.List<api.Template> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTemplate(o[0]);
   checkTemplate(o[1]);
@@ -864,7 +864,7 @@
   var o = new api.TemplateList();
   buildCounterTemplateList++;
   if (buildCounterTemplateList < 3) {
-    o.items = buildUnnamed1009();
+    o.items = buildUnnamed1037();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -876,7 +876,7 @@
 checkTemplateList(api.TemplateList o) {
   buildCounterTemplateList++;
   if (buildCounterTemplateList < 3) {
-    checkUnnamed1009(o.items);
+    checkUnnamed1037(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -1114,8 +1114,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns/", pathOffset);
@@ -1167,8 +1169,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns/", pathOffset);
@@ -1225,8 +1229,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns", pathOffset);
@@ -1278,8 +1284,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns", pathOffset);
@@ -1336,8 +1344,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns/", pathOffset);
@@ -1395,8 +1405,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/columns/", pathOffset);
@@ -1457,8 +1469,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("query"));
         pathOffset += 5;
 
@@ -1508,8 +1522,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("query"));
         pathOffset += 5;
 
@@ -1560,8 +1576,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles/", pathOffset);
@@ -1613,8 +1631,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles/", pathOffset);
@@ -1671,8 +1691,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles", pathOffset);
@@ -1724,8 +1746,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles", pathOffset);
@@ -1782,8 +1806,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles/", pathOffset);
@@ -1841,8 +1867,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/styles/", pathOffset);
@@ -1900,8 +1928,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/copy", pathOffset);
@@ -1952,8 +1982,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1997,8 +2029,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2051,8 +2085,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/import", pathOffset);
@@ -2111,8 +2147,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("tables/import"));
         pathOffset += 13;
 
@@ -2161,8 +2199,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("tables"));
         pathOffset += 6;
 
@@ -2206,8 +2246,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("tables"));
         pathOffset += 6;
 
@@ -2257,8 +2299,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2310,8 +2354,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2363,8 +2409,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/tasks/", pathOffset);
@@ -2416,8 +2464,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/tasks/", pathOffset);
@@ -2473,8 +2523,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/tasks", pathOffset);
@@ -2532,8 +2584,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates/", pathOffset);
@@ -2585,8 +2639,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates/", pathOffset);
@@ -2643,8 +2699,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates", pathOffset);
@@ -2696,8 +2754,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates", pathOffset);
@@ -2754,8 +2814,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates/", pathOffset);
@@ -2813,8 +2875,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/fusiontables/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("fusiontables/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/templates/", pathOffset);
diff --git a/generated/googleapis/test/games/v1_test.dart b/generated/googleapis/test/games/v1_test.dart
index 3006c71..ab68f90 100644
--- a/generated/googleapis/test/games/v1_test.dart
+++ b/generated/googleapis/test/games/v1_test.dart
@@ -4102,8 +4102,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("achievements"));
         pathOffset += 12;
 
@@ -4155,8 +4157,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/increment", pathOffset);
@@ -4212,8 +4216,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         index = path.indexOf("/achievements", pathOffset);
@@ -4267,8 +4273,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/reveal", pathOffset);
@@ -4319,8 +4327,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/setStepsAtLeast", pathOffset);
@@ -4371,8 +4381,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/unlock", pathOffset);
@@ -4425,8 +4437,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("achievements/updateMultiple"));
         pathOffset += 27;
 
@@ -4475,8 +4489,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("applications/"));
         pathOffset += 13;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4523,8 +4539,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("applications/played"));
         pathOffset += 19;
 
@@ -4571,8 +4589,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("events"));
         pathOffset += 6;
 
@@ -4620,8 +4640,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("eventDefinitions"));
         pathOffset += 16;
 
@@ -4671,8 +4693,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("events"));
         pathOffset += 6;
 
@@ -4721,8 +4745,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4771,8 +4797,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("leaderboards"));
         pathOffset += 12;
 
@@ -4821,8 +4849,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("metagameConfig"));
         pathOffset += 14;
 
@@ -4869,8 +4899,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         index = path.indexOf("/categories/", pathOffset);
@@ -4931,8 +4963,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4982,8 +5016,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("players/me/players/"));
         pathOffset += 19;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5039,8 +5075,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("pushtokens/remove"));
         pathOffset += 17;
 
@@ -5084,8 +5122,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("pushtokens"));
         pathOffset += 10;
 
@@ -5132,8 +5172,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("quests/"));
         pathOffset += 7;
         index = path.indexOf("/milestones/", pathOffset);
@@ -5194,8 +5236,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("quests/"));
         pathOffset += 7;
         index = path.indexOf("/accept", pathOffset);
@@ -5249,8 +5293,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         index = path.indexOf("/quests", pathOffset);
@@ -5307,8 +5353,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("revisions/check"));
         pathOffset += 15;
 
@@ -5360,8 +5408,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("rooms/create"));
         pathOffset += 12;
 
@@ -5406,8 +5456,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         index = path.indexOf("/decline", pathOffset);
@@ -5458,8 +5510,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         index = path.indexOf("/dismiss", pathOffset);
@@ -5508,8 +5562,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5561,8 +5617,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         index = path.indexOf("/join", pathOffset);
@@ -5618,8 +5676,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         index = path.indexOf("/leave", pathOffset);
@@ -5672,8 +5732,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("rooms"));
         pathOffset += 5;
 
@@ -5724,8 +5786,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("rooms/"));
         pathOffset += 6;
         index = path.indexOf("/reportstatus", pathOffset);
@@ -5786,8 +5850,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         index = path.indexOf("/leaderboards/", pathOffset);
@@ -5856,8 +5922,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         index = path.indexOf("/scores/", pathOffset);
@@ -5921,8 +5989,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         index = path.indexOf("/window/", pathOffset);
@@ -5984,8 +6054,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         index = path.indexOf("/scores", pathOffset);
@@ -6042,8 +6114,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("leaderboards/scores"));
         pathOffset += 19;
 
@@ -6092,8 +6166,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("snapshots/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -6143,8 +6219,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("players/"));
         pathOffset += 8;
         index = path.indexOf("/snapshots", pathOffset);
@@ -6201,8 +6279,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/cancel", pathOffset);
@@ -6254,8 +6334,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("turnbasedmatches/create"));
         pathOffset += 23;
 
@@ -6300,8 +6382,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/decline", pathOffset);
@@ -6352,8 +6436,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/dismiss", pathOffset);
@@ -6406,8 +6492,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/finish", pathOffset);
@@ -6460,8 +6548,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -6510,8 +6600,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/join", pathOffset);
@@ -6563,8 +6655,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/leave", pathOffset);
@@ -6618,8 +6712,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/leaveTurn", pathOffset);
@@ -6676,8 +6772,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("turnbasedmatches"));
         pathOffset += 16;
 
@@ -6727,8 +6825,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/rematch", pathOffset);
@@ -6784,8 +6884,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("turnbasedmatches/sync"));
         pathOffset += 21;
 
@@ -6838,8 +6940,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/games/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("games/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("turnbasedmatches/"));
         pathOffset += 17;
         index = path.indexOf("/turn", pathOffset);
diff --git a/generated/googleapis/test/gamesmanagement/v1management_test.dart b/generated/googleapis/test/gamesmanagement/v1management_test.dart
index b08a711..c137213 100644
--- a/generated/googleapis/test/gamesmanagement/v1management_test.dart
+++ b/generated/googleapis/test/gamesmanagement/v1management_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed431() {
+buildUnnamed456() {
   var o = new core.List<api.AchievementResetResponse>();
   o.add(buildAchievementResetResponse());
   o.add(buildAchievementResetResponse());
   return o;
 }
 
-checkUnnamed431(core.List<api.AchievementResetResponse> o) {
+checkUnnamed456(core.List<api.AchievementResetResponse> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAchievementResetResponse(o[0]);
   checkAchievementResetResponse(o[1]);
@@ -35,7 +35,7 @@
   buildCounterAchievementResetAllResponse++;
   if (buildCounterAchievementResetAllResponse < 3) {
     o.kind = "foo";
-    o.results = buildUnnamed431();
+    o.results = buildUnnamed456();
   }
   buildCounterAchievementResetAllResponse--;
   return o;
@@ -45,7 +45,7 @@
   buildCounterAchievementResetAllResponse++;
   if (buildCounterAchievementResetAllResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed431(o.results);
+    checkUnnamed456(o.results);
   }
   buildCounterAchievementResetAllResponse--;
 }
@@ -167,14 +167,14 @@
   buildCounterHiddenPlayer--;
 }
 
-buildUnnamed432() {
+buildUnnamed457() {
   var o = new core.List<api.HiddenPlayer>();
   o.add(buildHiddenPlayer());
   o.add(buildHiddenPlayer());
   return o;
 }
 
-checkUnnamed432(core.List<api.HiddenPlayer> o) {
+checkUnnamed457(core.List<api.HiddenPlayer> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHiddenPlayer(o[0]);
   checkHiddenPlayer(o[1]);
@@ -185,7 +185,7 @@
   var o = new api.HiddenPlayerList();
   buildCounterHiddenPlayerList++;
   if (buildCounterHiddenPlayerList < 3) {
-    o.items = buildUnnamed432();
+    o.items = buildUnnamed457();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -196,7 +196,7 @@
 checkHiddenPlayerList(api.HiddenPlayerList o) {
   buildCounterHiddenPlayerList++;
   if (buildCounterHiddenPlayerList < 3) {
-    checkUnnamed432(o.items);
+    checkUnnamed457(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -257,14 +257,14 @@
   buildCounterPlayer--;
 }
 
-buildUnnamed433() {
+buildUnnamed458() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed433(core.List<core.String> o) {
+checkUnnamed458(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -276,7 +276,7 @@
   buildCounterPlayerScoreResetResponse++;
   if (buildCounterPlayerScoreResetResponse < 3) {
     o.kind = "foo";
-    o.resetScoreTimeSpans = buildUnnamed433();
+    o.resetScoreTimeSpans = buildUnnamed458();
   }
   buildCounterPlayerScoreResetResponse--;
   return o;
@@ -286,7 +286,7 @@
   buildCounterPlayerScoreResetResponse++;
   if (buildCounterPlayerScoreResetResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed433(o.resetScoreTimeSpans);
+    checkUnnamed458(o.resetScoreTimeSpans);
   }
   buildCounterPlayerScoreResetResponse--;
 }
@@ -394,8 +394,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/reset", pathOffset);
@@ -444,8 +446,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("achievements/reset"));
         pathOffset += 18;
 
@@ -488,8 +492,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("achievements/"));
         pathOffset += 13;
         index = path.indexOf("/resetForAllPlayers", pathOffset);
@@ -543,8 +549,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("applications/"));
         pathOffset += 13;
         index = path.indexOf("/players/hidden", pathOffset);
@@ -600,8 +608,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("events/"));
         pathOffset += 7;
         index = path.indexOf("/reset", pathOffset);
@@ -648,8 +658,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("events/reset"));
         pathOffset += 12;
 
@@ -690,8 +702,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("events/"));
         pathOffset += 7;
         index = path.indexOf("/resetForAllPlayers", pathOffset);
@@ -744,8 +758,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("applications/"));
         pathOffset += 13;
         index = path.indexOf("/players/hidden/", pathOffset);
@@ -797,8 +813,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("applications/"));
         pathOffset += 13;
         index = path.indexOf("/players/hidden/", pathOffset);
@@ -853,8 +871,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("quests/"));
         pathOffset += 7;
         index = path.indexOf("/reset", pathOffset);
@@ -905,8 +925,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("rooms/reset"));
         pathOffset += 11;
 
@@ -951,8 +973,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         index = path.indexOf("/scores/reset", pathOffset);
@@ -1002,8 +1026,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("leaderboards/"));
         pathOffset += 13;
         index = path.indexOf("/scores/resetForAllPlayers", pathOffset);
@@ -1054,8 +1080,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/games/v1management/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("games/v1management/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("turnbasedmatches/reset"));
         pathOffset += 22;
 
diff --git a/generated/googleapis/test/gmail/v1_test.dart b/generated/googleapis/test/gmail/v1_test.dart
index fccf903..b90e3f0 100644
--- a/generated/googleapis/test/gmail/v1_test.dart
+++ b/generated/googleapis/test/gmail/v1_test.dart
@@ -37,14 +37,14 @@
   buildCounterDraft--;
 }
 
-buildUnnamed187() {
+buildUnnamed190() {
   var o = new core.List<api.Message>();
   o.add(buildMessage());
   o.add(buildMessage());
   return o;
 }
 
-checkUnnamed187(core.List<api.Message> o) {
+checkUnnamed190(core.List<api.Message> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMessage(o[0]);
   checkMessage(o[1]);
@@ -56,7 +56,7 @@
   buildCounterHistory++;
   if (buildCounterHistory < 3) {
     o.id = "foo";
-    o.messages = buildUnnamed187();
+    o.messages = buildUnnamed190();
   }
   buildCounterHistory--;
   return o;
@@ -66,7 +66,7 @@
   buildCounterHistory++;
   if (buildCounterHistory < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed187(o.messages);
+    checkUnnamed190(o.messages);
   }
   buildCounterHistory--;
 }
@@ -98,14 +98,14 @@
   buildCounterLabel--;
 }
 
-buildUnnamed188() {
+buildUnnamed191() {
   var o = new core.List<api.Draft>();
   o.add(buildDraft());
   o.add(buildDraft());
   return o;
 }
 
-checkUnnamed188(core.List<api.Draft> o) {
+checkUnnamed191(core.List<api.Draft> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDraft(o[0]);
   checkDraft(o[1]);
@@ -116,7 +116,7 @@
   var o = new api.ListDraftsResponse();
   buildCounterListDraftsResponse++;
   if (buildCounterListDraftsResponse < 3) {
-    o.drafts = buildUnnamed188();
+    o.drafts = buildUnnamed191();
     o.nextPageToken = "foo";
     o.resultSizeEstimate = 42;
   }
@@ -127,21 +127,21 @@
 checkListDraftsResponse(api.ListDraftsResponse o) {
   buildCounterListDraftsResponse++;
   if (buildCounterListDraftsResponse < 3) {
-    checkUnnamed188(o.drafts);
+    checkUnnamed191(o.drafts);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.resultSizeEstimate, unittest.equals(42));
   }
   buildCounterListDraftsResponse--;
 }
 
-buildUnnamed189() {
+buildUnnamed192() {
   var o = new core.List<api.History>();
   o.add(buildHistory());
   o.add(buildHistory());
   return o;
 }
 
-checkUnnamed189(core.List<api.History> o) {
+checkUnnamed192(core.List<api.History> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHistory(o[0]);
   checkHistory(o[1]);
@@ -152,7 +152,7 @@
   var o = new api.ListHistoryResponse();
   buildCounterListHistoryResponse++;
   if (buildCounterListHistoryResponse < 3) {
-    o.history = buildUnnamed189();
+    o.history = buildUnnamed192();
     o.historyId = "foo";
     o.nextPageToken = "foo";
   }
@@ -163,21 +163,21 @@
 checkListHistoryResponse(api.ListHistoryResponse o) {
   buildCounterListHistoryResponse++;
   if (buildCounterListHistoryResponse < 3) {
-    checkUnnamed189(o.history);
+    checkUnnamed192(o.history);
     unittest.expect(o.historyId, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListHistoryResponse--;
 }
 
-buildUnnamed190() {
+buildUnnamed193() {
   var o = new core.List<api.Label>();
   o.add(buildLabel());
   o.add(buildLabel());
   return o;
 }
 
-checkUnnamed190(core.List<api.Label> o) {
+checkUnnamed193(core.List<api.Label> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLabel(o[0]);
   checkLabel(o[1]);
@@ -188,7 +188,7 @@
   var o = new api.ListLabelsResponse();
   buildCounterListLabelsResponse++;
   if (buildCounterListLabelsResponse < 3) {
-    o.labels = buildUnnamed190();
+    o.labels = buildUnnamed193();
   }
   buildCounterListLabelsResponse--;
   return o;
@@ -197,19 +197,19 @@
 checkListLabelsResponse(api.ListLabelsResponse o) {
   buildCounterListLabelsResponse++;
   if (buildCounterListLabelsResponse < 3) {
-    checkUnnamed190(o.labels);
+    checkUnnamed193(o.labels);
   }
   buildCounterListLabelsResponse--;
 }
 
-buildUnnamed191() {
+buildUnnamed194() {
   var o = new core.List<api.Message>();
   o.add(buildMessage());
   o.add(buildMessage());
   return o;
 }
 
-checkUnnamed191(core.List<api.Message> o) {
+checkUnnamed194(core.List<api.Message> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMessage(o[0]);
   checkMessage(o[1]);
@@ -220,7 +220,7 @@
   var o = new api.ListMessagesResponse();
   buildCounterListMessagesResponse++;
   if (buildCounterListMessagesResponse < 3) {
-    o.messages = buildUnnamed191();
+    o.messages = buildUnnamed194();
     o.nextPageToken = "foo";
     o.resultSizeEstimate = 42;
   }
@@ -231,21 +231,21 @@
 checkListMessagesResponse(api.ListMessagesResponse o) {
   buildCounterListMessagesResponse++;
   if (buildCounterListMessagesResponse < 3) {
-    checkUnnamed191(o.messages);
+    checkUnnamed194(o.messages);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.resultSizeEstimate, unittest.equals(42));
   }
   buildCounterListMessagesResponse--;
 }
 
-buildUnnamed192() {
+buildUnnamed195() {
   var o = new core.List<api.Thread>();
   o.add(buildThread());
   o.add(buildThread());
   return o;
 }
 
-checkUnnamed192(core.List<api.Thread> o) {
+checkUnnamed195(core.List<api.Thread> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkThread(o[0]);
   checkThread(o[1]);
@@ -258,7 +258,7 @@
   if (buildCounterListThreadsResponse < 3) {
     o.nextPageToken = "foo";
     o.resultSizeEstimate = 42;
-    o.threads = buildUnnamed192();
+    o.threads = buildUnnamed195();
   }
   buildCounterListThreadsResponse--;
   return o;
@@ -269,19 +269,19 @@
   if (buildCounterListThreadsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.resultSizeEstimate, unittest.equals(42));
-    checkUnnamed192(o.threads);
+    checkUnnamed195(o.threads);
   }
   buildCounterListThreadsResponse--;
 }
 
-buildUnnamed193() {
+buildUnnamed196() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed193(core.List<core.String> o) {
+checkUnnamed196(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -294,7 +294,7 @@
   if (buildCounterMessage < 3) {
     o.historyId = "foo";
     o.id = "foo";
-    o.labelIds = buildUnnamed193();
+    o.labelIds = buildUnnamed196();
     o.payload = buildMessagePart();
     o.raw = "foo";
     o.sizeEstimate = 42;
@@ -310,7 +310,7 @@
   if (buildCounterMessage < 3) {
     unittest.expect(o.historyId, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed193(o.labelIds);
+    checkUnnamed196(o.labelIds);
     checkMessagePart(o.payload);
     unittest.expect(o.raw, unittest.equals('foo'));
     unittest.expect(o.sizeEstimate, unittest.equals(42));
@@ -320,27 +320,27 @@
   buildCounterMessage--;
 }
 
-buildUnnamed194() {
+buildUnnamed197() {
   var o = new core.List<api.MessagePartHeader>();
   o.add(buildMessagePartHeader());
   o.add(buildMessagePartHeader());
   return o;
 }
 
-checkUnnamed194(core.List<api.MessagePartHeader> o) {
+checkUnnamed197(core.List<api.MessagePartHeader> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMessagePartHeader(o[0]);
   checkMessagePartHeader(o[1]);
 }
 
-buildUnnamed195() {
+buildUnnamed198() {
   var o = new core.List<api.MessagePart>();
   o.add(buildMessagePart());
   o.add(buildMessagePart());
   return o;
 }
 
-checkUnnamed195(core.List<api.MessagePart> o) {
+checkUnnamed198(core.List<api.MessagePart> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMessagePart(o[0]);
   checkMessagePart(o[1]);
@@ -353,10 +353,10 @@
   if (buildCounterMessagePart < 3) {
     o.body = buildMessagePartBody();
     o.filename = "foo";
-    o.headers = buildUnnamed194();
+    o.headers = buildUnnamed197();
     o.mimeType = "foo";
     o.partId = "foo";
-    o.parts = buildUnnamed195();
+    o.parts = buildUnnamed198();
   }
   buildCounterMessagePart--;
   return o;
@@ -367,10 +367,10 @@
   if (buildCounterMessagePart < 3) {
     checkMessagePartBody(o.body);
     unittest.expect(o.filename, unittest.equals('foo'));
-    checkUnnamed194(o.headers);
+    checkUnnamed197(o.headers);
     unittest.expect(o.mimeType, unittest.equals('foo'));
     unittest.expect(o.partId, unittest.equals('foo'));
-    checkUnnamed195(o.parts);
+    checkUnnamed198(o.parts);
   }
   buildCounterMessagePart--;
 }
@@ -419,66 +419,6 @@
   buildCounterMessagePartHeader--;
 }
 
-buildUnnamed196() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed196(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-buildUnnamed197() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed197(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
-core.int buildCounterModifyMessageRequest = 0;
-buildModifyMessageRequest() {
-  var o = new api.ModifyMessageRequest();
-  buildCounterModifyMessageRequest++;
-  if (buildCounterModifyMessageRequest < 3) {
-    o.addLabelIds = buildUnnamed196();
-    o.removeLabelIds = buildUnnamed197();
-  }
-  buildCounterModifyMessageRequest--;
-  return o;
-}
-
-checkModifyMessageRequest(api.ModifyMessageRequest o) {
-  buildCounterModifyMessageRequest++;
-  if (buildCounterModifyMessageRequest < 3) {
-    checkUnnamed196(o.addLabelIds);
-    checkUnnamed197(o.removeLabelIds);
-  }
-  buildCounterModifyMessageRequest--;
-}
-
-buildUnnamed198() {
-  var o = new core.List<core.String>();
-  o.add("foo");
-  o.add("foo");
-  return o;
-}
-
-checkUnnamed198(core.List<core.String> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  unittest.expect(o[0], unittest.equals('foo'));
-  unittest.expect(o[1], unittest.equals('foo'));
-}
-
 buildUnnamed199() {
   var o = new core.List<core.String>();
   o.add("foo");
@@ -492,63 +432,38 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-core.int buildCounterModifyThreadRequest = 0;
-buildModifyThreadRequest() {
-  var o = new api.ModifyThreadRequest();
-  buildCounterModifyThreadRequest++;
-  if (buildCounterModifyThreadRequest < 3) {
-    o.addLabelIds = buildUnnamed198();
-    o.removeLabelIds = buildUnnamed199();
-  }
-  buildCounterModifyThreadRequest--;
-  return o;
-}
-
-checkModifyThreadRequest(api.ModifyThreadRequest o) {
-  buildCounterModifyThreadRequest++;
-  if (buildCounterModifyThreadRequest < 3) {
-    checkUnnamed198(o.addLabelIds);
-    checkUnnamed199(o.removeLabelIds);
-  }
-  buildCounterModifyThreadRequest--;
-}
-
 buildUnnamed200() {
-  var o = new core.List<api.Message>();
-  o.add(buildMessage());
-  o.add(buildMessage());
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
   return o;
 }
 
-checkUnnamed200(core.List<api.Message> o) {
+checkUnnamed200(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkMessage(o[0]);
-  checkMessage(o[1]);
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
 }
 
-core.int buildCounterThread = 0;
-buildThread() {
-  var o = new api.Thread();
-  buildCounterThread++;
-  if (buildCounterThread < 3) {
-    o.historyId = "foo";
-    o.id = "foo";
-    o.messages = buildUnnamed200();
-    o.snippet = "foo";
+core.int buildCounterModifyMessageRequest = 0;
+buildModifyMessageRequest() {
+  var o = new api.ModifyMessageRequest();
+  buildCounterModifyMessageRequest++;
+  if (buildCounterModifyMessageRequest < 3) {
+    o.addLabelIds = buildUnnamed199();
+    o.removeLabelIds = buildUnnamed200();
   }
-  buildCounterThread--;
+  buildCounterModifyMessageRequest--;
   return o;
 }
 
-checkThread(api.Thread o) {
-  buildCounterThread++;
-  if (buildCounterThread < 3) {
-    unittest.expect(o.historyId, unittest.equals('foo'));
-    unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed200(o.messages);
-    unittest.expect(o.snippet, unittest.equals('foo'));
+checkModifyMessageRequest(api.ModifyMessageRequest o) {
+  buildCounterModifyMessageRequest++;
+  if (buildCounterModifyMessageRequest < 3) {
+    checkUnnamed199(o.addLabelIds);
+    checkUnnamed200(o.removeLabelIds);
   }
-  buildCounterThread--;
+  buildCounterModifyMessageRequest--;
 }
 
 buildUnnamed201() {
@@ -577,14 +492,99 @@
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
+core.int buildCounterModifyThreadRequest = 0;
+buildModifyThreadRequest() {
+  var o = new api.ModifyThreadRequest();
+  buildCounterModifyThreadRequest++;
+  if (buildCounterModifyThreadRequest < 3) {
+    o.addLabelIds = buildUnnamed201();
+    o.removeLabelIds = buildUnnamed202();
+  }
+  buildCounterModifyThreadRequest--;
+  return o;
+}
+
+checkModifyThreadRequest(api.ModifyThreadRequest o) {
+  buildCounterModifyThreadRequest++;
+  if (buildCounterModifyThreadRequest < 3) {
+    checkUnnamed201(o.addLabelIds);
+    checkUnnamed202(o.removeLabelIds);
+  }
+  buildCounterModifyThreadRequest--;
+}
+
 buildUnnamed203() {
+  var o = new core.List<api.Message>();
+  o.add(buildMessage());
+  o.add(buildMessage());
+  return o;
+}
+
+checkUnnamed203(core.List<api.Message> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkMessage(o[0]);
+  checkMessage(o[1]);
+}
+
+core.int buildCounterThread = 0;
+buildThread() {
+  var o = new api.Thread();
+  buildCounterThread++;
+  if (buildCounterThread < 3) {
+    o.historyId = "foo";
+    o.id = "foo";
+    o.messages = buildUnnamed203();
+    o.snippet = "foo";
+  }
+  buildCounterThread--;
+  return o;
+}
+
+checkThread(api.Thread o) {
+  buildCounterThread++;
+  if (buildCounterThread < 3) {
+    unittest.expect(o.historyId, unittest.equals('foo'));
+    unittest.expect(o.id, unittest.equals('foo'));
+    checkUnnamed203(o.messages);
+    unittest.expect(o.snippet, unittest.equals('foo'));
+  }
+  buildCounterThread--;
+}
+
+buildUnnamed204() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed203(core.List<core.String> o) {
+checkUnnamed204(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed205() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed205(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed206() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed206(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -744,15 +744,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/drafts"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -794,18 +787,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/drafts/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -846,18 +829,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/drafts/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -901,15 +874,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/drafts"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -958,15 +924,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts/send", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/drafts/send"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1014,18 +973,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/drafts/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/drafts/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1074,15 +1023,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/history", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/history"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1135,15 +1077,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/labels"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1185,18 +1120,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/labels/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1236,18 +1161,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/labels/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1288,15 +1203,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/labels"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1342,18 +1250,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/labels/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1399,18 +1297,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/labels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/labels/"));
-        pathOffset += 8;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1456,18 +1344,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1503,24 +1381,14 @@
       var arg_userId = "foo";
       var arg_id = "foo";
       var arg_format = "foo";
-      var arg_metadataHeaders = buildUnnamed201();
+      var arg_metadataHeaders = buildUnnamed204();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1570,15 +1438,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/import", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/messages/import"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1627,15 +1488,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/messages"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1673,7 +1527,7 @@
       api.UsersMessagesResourceApi res = new api.GmailApi(mock).users.messages;
       var arg_userId = "foo";
       var arg_includeSpamTrash = true;
-      var arg_labelIds = buildUnnamed202();
+      var arg_labelIds = buildUnnamed205();
       var arg_maxResults = 42;
       var arg_pageToken = "foo";
       var arg_q = "foo";
@@ -1682,15 +1536,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/messages"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1741,22 +1588,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        index = path.indexOf("/modify", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/modify"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1803,15 +1636,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/send", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/messages/send"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1853,22 +1679,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        index = path.indexOf("/trash", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/trash"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1910,22 +1722,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        index = path.indexOf("/untrash", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/untrash"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1972,25 +1770,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/messages/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/messages/"));
-        pathOffset += 10;
-        index = path.indexOf("/attachments/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_messageId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/attachments/"));
-        pathOffset += 13;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2036,18 +1817,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/threads/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2087,18 +1858,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/threads/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2135,7 +1896,7 @@
       api.UsersThreadsResourceApi res = new api.GmailApi(mock).users.threads;
       var arg_userId = "foo";
       var arg_includeSpamTrash = true;
-      var arg_labelIds = buildUnnamed203();
+      var arg_labelIds = buildUnnamed206();
       var arg_maxResults = 42;
       var arg_pageToken = "foo";
       var arg_q = "foo";
@@ -2144,15 +1905,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/threads"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2203,22 +1957,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/threads/"));
-        pathOffset += 9;
-        index = path.indexOf("/modify", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/modify"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2260,22 +2000,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/threads/"));
-        pathOffset += 9;
-        index = path.indexOf("/trash", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/trash"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2317,22 +2043,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/gmail/v1/users/"));
-        pathOffset += 16;
-        index = path.indexOf("/threads/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/threads/"));
-        pathOffset += 9;
-        index = path.indexOf("/untrash", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/untrash"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/groupsmigration/v1_test.dart b/generated/googleapis/test/groupsmigration/v1_test.dart
index e8669c8..bcf6d73 100644
--- a/generated/googleapis/test/groupsmigration/v1_test.dart
+++ b/generated/googleapis/test/groupsmigration/v1_test.dart
@@ -61,15 +61,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/groups/v1/groups/"));
-        pathOffset += 18;
-        index = path.indexOf("/archive", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_groupId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/archive"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/groupssettings/v1_test.dart b/generated/googleapis/test/groupssettings/v1_test.dart
index b01f3b4..69bfd14 100644
--- a/generated/googleapis/test/groupssettings/v1_test.dart
+++ b/generated/googleapis/test/groupssettings/v1_test.dart
@@ -111,11 +111,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/groups/v1/groups/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_groupUniqueId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -160,11 +157,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/groups/v1/groups/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_groupUniqueId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -209,11 +203,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/groups/v1/groups/"));
-        pathOffset += 18;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_groupUniqueId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/identitytoolkit/v3_test.dart b/generated/googleapis/test/identitytoolkit/v3_test.dart
index 77b3420..bede624 100644
--- a/generated/googleapis/test/identitytoolkit/v3_test.dart
+++ b/generated/googleapis/test/identitytoolkit/v3_test.dart
@@ -22,6 +22,7 @@
   buildCounterCreateAuthUriResponse++;
   if (buildCounterCreateAuthUriResponse < 3) {
     o.authUri = "foo";
+    o.captchaRequired = true;
     o.forExistingProvider = true;
     o.kind = "foo";
     o.providerId = "foo";
@@ -35,6 +36,7 @@
   buildCounterCreateAuthUriResponse++;
   if (buildCounterCreateAuthUriResponse < 3) {
     unittest.expect(o.authUri, unittest.equals('foo'));
+    unittest.expect(o.captchaRequired, unittest.isTrue);
     unittest.expect(o.forExistingProvider, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.providerId, unittest.equals('foo'));
@@ -62,14 +64,14 @@
   buildCounterDeleteAccountResponse--;
 }
 
-buildUnnamed933() {
+buildUnnamed961() {
   var o = new core.List<api.UserInfo>();
   o.add(buildUserInfo());
   o.add(buildUserInfo());
   return o;
 }
 
-checkUnnamed933(core.List<api.UserInfo> o) {
+checkUnnamed961(core.List<api.UserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserInfo(o[0]);
   checkUserInfo(o[1]);
@@ -82,7 +84,7 @@
   if (buildCounterDownloadAccountResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.users = buildUnnamed933();
+    o.users = buildUnnamed961();
   }
   buildCounterDownloadAccountResponse--;
   return o;
@@ -93,19 +95,19 @@
   if (buildCounterDownloadAccountResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed933(o.users);
+    checkUnnamed961(o.users);
   }
   buildCounterDownloadAccountResponse--;
 }
 
-buildUnnamed934() {
+buildUnnamed962() {
   var o = new core.List<api.UserInfo>();
   o.add(buildUserInfo());
   o.add(buildUserInfo());
   return o;
 }
 
-checkUnnamed934(core.List<api.UserInfo> o) {
+checkUnnamed962(core.List<api.UserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserInfo(o[0]);
   checkUserInfo(o[1]);
@@ -117,7 +119,7 @@
   buildCounterGetAccountInfoResponse++;
   if (buildCounterGetAccountInfoResponse < 3) {
     o.kind = "foo";
-    o.users = buildUnnamed934();
+    o.users = buildUnnamed962();
   }
   buildCounterGetAccountInfoResponse--;
   return o;
@@ -127,7 +129,7 @@
   buildCounterGetAccountInfoResponse++;
   if (buildCounterGetAccountInfoResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed934(o.users);
+    checkUnnamed962(o.users);
   }
   buildCounterGetAccountInfoResponse--;
 }
@@ -226,27 +228,27 @@
   buildCounterIdentitytoolkitRelyingpartyDownloadAccountRequest--;
 }
 
-buildUnnamed935() {
+buildUnnamed963() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed935(core.List<core.String> o) {
+checkUnnamed963(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed936() {
+buildUnnamed964() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed936(core.List<core.String> o) {
+checkUnnamed964(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -257,9 +259,9 @@
   var o = new api.IdentitytoolkitRelyingpartyGetAccountInfoRequest();
   buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest++;
   if (buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest < 3) {
-    o.email = buildUnnamed935();
+    o.email = buildUnnamed963();
     o.idToken = "foo";
-    o.localId = buildUnnamed936();
+    o.localId = buildUnnamed964();
   }
   buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest--;
   return o;
@@ -268,9 +270,9 @@
 checkIdentitytoolkitRelyingpartyGetAccountInfoRequest(api.IdentitytoolkitRelyingpartyGetAccountInfoRequest o) {
   buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest++;
   if (buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest < 3) {
-    checkUnnamed935(o.email);
+    checkUnnamed963(o.email);
     unittest.expect(o.idToken, unittest.equals('foo'));
-    checkUnnamed936(o.localId);
+    checkUnnamed964(o.localId);
   }
   buildCounterIdentitytoolkitRelyingpartyGetAccountInfoRequest--;
 }
@@ -313,14 +315,14 @@
   buildCounterIdentitytoolkitRelyingpartyResetPasswordRequest--;
 }
 
-buildUnnamed937() {
+buildUnnamed965() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed937(core.List<core.String> o) {
+checkUnnamed965(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -340,7 +342,7 @@
     o.localId = "foo";
     o.oobCode = "foo";
     o.password = "foo";
-    o.provider = buildUnnamed937();
+    o.provider = buildUnnamed965();
     o.upgradeToFederatedLogin = true;
   }
   buildCounterIdentitytoolkitRelyingpartySetAccountInfoRequest--;
@@ -359,20 +361,20 @@
     unittest.expect(o.localId, unittest.equals('foo'));
     unittest.expect(o.oobCode, unittest.equals('foo'));
     unittest.expect(o.password, unittest.equals('foo'));
-    checkUnnamed937(o.provider);
+    checkUnnamed965(o.provider);
     unittest.expect(o.upgradeToFederatedLogin, unittest.isTrue);
   }
   buildCounterIdentitytoolkitRelyingpartySetAccountInfoRequest--;
 }
 
-buildUnnamed938() {
+buildUnnamed966() {
   var o = new core.List<api.UserInfo>();
   o.add(buildUserInfo());
   o.add(buildUserInfo());
   return o;
 }
 
-checkUnnamed938(core.List<api.UserInfo> o) {
+checkUnnamed966(core.List<api.UserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserInfo(o[0]);
   checkUserInfo(o[1]);
@@ -388,7 +390,7 @@
     o.rounds = 42;
     o.saltSeparator = "foo";
     o.signerKey = "foo";
-    o.users = buildUnnamed938();
+    o.users = buildUnnamed966();
   }
   buildCounterIdentitytoolkitRelyingpartyUploadAccountRequest--;
   return o;
@@ -402,7 +404,7 @@
     unittest.expect(o.rounds, unittest.equals(42));
     unittest.expect(o.saltSeparator, unittest.equals('foo'));
     unittest.expect(o.signerKey, unittest.equals('foo'));
-    checkUnnamed938(o.users);
+    checkUnnamed966(o.users);
   }
   buildCounterIdentitytoolkitRelyingpartyUploadAccountRequest--;
 }
@@ -534,14 +536,14 @@
   buildCounterSetAccountInfoResponseProviderUserInfo--;
 }
 
-buildUnnamed939() {
+buildUnnamed967() {
   var o = new core.List<api.SetAccountInfoResponseProviderUserInfo>();
   o.add(buildSetAccountInfoResponseProviderUserInfo());
   o.add(buildSetAccountInfoResponseProviderUserInfo());
   return o;
 }
 
-checkUnnamed939(core.List<api.SetAccountInfoResponseProviderUserInfo> o) {
+checkUnnamed967(core.List<api.SetAccountInfoResponseProviderUserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSetAccountInfoResponseProviderUserInfo(o[0]);
   checkSetAccountInfoResponseProviderUserInfo(o[1]);
@@ -556,7 +558,7 @@
     o.email = "foo";
     o.idToken = "foo";
     o.kind = "foo";
-    o.providerUserInfo = buildUnnamed939();
+    o.providerUserInfo = buildUnnamed967();
   }
   buildCounterSetAccountInfoResponse--;
   return o;
@@ -569,7 +571,7 @@
     unittest.expect(o.email, unittest.equals('foo'));
     unittest.expect(o.idToken, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed939(o.providerUserInfo);
+    checkUnnamed967(o.providerUserInfo);
   }
   buildCounterSetAccountInfoResponse--;
 }
@@ -595,14 +597,14 @@
   buildCounterUploadAccountResponseError--;
 }
 
-buildUnnamed940() {
+buildUnnamed968() {
   var o = new core.List<api.UploadAccountResponseError>();
   o.add(buildUploadAccountResponseError());
   o.add(buildUploadAccountResponseError());
   return o;
 }
 
-checkUnnamed940(core.List<api.UploadAccountResponseError> o) {
+checkUnnamed968(core.List<api.UploadAccountResponseError> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUploadAccountResponseError(o[0]);
   checkUploadAccountResponseError(o[1]);
@@ -613,7 +615,7 @@
   var o = new api.UploadAccountResponse();
   buildCounterUploadAccountResponse++;
   if (buildCounterUploadAccountResponse < 3) {
-    o.error = buildUnnamed940();
+    o.error = buildUnnamed968();
     o.kind = "foo";
   }
   buildCounterUploadAccountResponse--;
@@ -623,7 +625,7 @@
 checkUploadAccountResponse(api.UploadAccountResponse o) {
   buildCounterUploadAccountResponse++;
   if (buildCounterUploadAccountResponse < 3) {
-    checkUnnamed940(o.error);
+    checkUnnamed968(o.error);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterUploadAccountResponse--;
@@ -654,14 +656,14 @@
   buildCounterUserInfoProviderUserInfo--;
 }
 
-buildUnnamed941() {
+buildUnnamed969() {
   var o = new core.List<api.UserInfoProviderUserInfo>();
   o.add(buildUserInfoProviderUserInfo());
   o.add(buildUserInfoProviderUserInfo());
   return o;
 }
 
-checkUnnamed941(core.List<api.UserInfoProviderUserInfo> o) {
+checkUnnamed969(core.List<api.UserInfoProviderUserInfo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserInfoProviderUserInfo(o[0]);
   checkUserInfoProviderUserInfo(o[1]);
@@ -679,7 +681,7 @@
     o.passwordHash = "foo";
     o.passwordUpdatedAt = 42.0;
     o.photoUrl = "foo";
-    o.providerUserInfo = buildUnnamed941();
+    o.providerUserInfo = buildUnnamed969();
     o.salt = "foo";
     o.version = 42;
   }
@@ -697,21 +699,21 @@
     unittest.expect(o.passwordHash, unittest.equals('foo'));
     unittest.expect(o.passwordUpdatedAt, unittest.equals(42.0));
     unittest.expect(o.photoUrl, unittest.equals('foo'));
-    checkUnnamed941(o.providerUserInfo);
+    checkUnnamed969(o.providerUserInfo);
     unittest.expect(o.salt, unittest.equals('foo'));
     unittest.expect(o.version, unittest.equals(42));
   }
   buildCounterUserInfo--;
 }
 
-buildUnnamed942() {
+buildUnnamed970() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed942(core.List<core.String> o) {
+checkUnnamed970(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -748,7 +750,7 @@
     o.photoUrl = "foo";
     o.providerId = "foo";
     o.timeZone = "foo";
-    o.verifiedProvider = buildUnnamed942();
+    o.verifiedProvider = buildUnnamed970();
   }
   buildCounterVerifyAssertionResponse--;
   return o;
@@ -783,7 +785,7 @@
     unittest.expect(o.photoUrl, unittest.equals('foo'));
     unittest.expect(o.providerId, unittest.equals('foo'));
     unittest.expect(o.timeZone, unittest.equals('foo'));
-    checkUnnamed942(o.verifiedProvider);
+    checkUnnamed970(o.verifiedProvider);
   }
   buildCounterVerifyAssertionResponse--;
 }
@@ -1060,8 +1062,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("createAuthUri"));
         pathOffset += 13;
 
@@ -1107,8 +1111,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("deleteAccount"));
         pathOffset += 13;
 
@@ -1154,8 +1160,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("downloadAccount"));
         pathOffset += 15;
 
@@ -1201,8 +1209,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("getAccountInfo"));
         pathOffset += 14;
 
@@ -1248,8 +1258,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("getOobConfirmationCode"));
         pathOffset += 22;
 
@@ -1291,8 +1303,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("publicKeys"));
         pathOffset += 10;
 
@@ -1338,8 +1352,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("resetPassword"));
         pathOffset += 13;
 
@@ -1385,8 +1401,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("setAccountInfo"));
         pathOffset += 14;
 
@@ -1432,8 +1450,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("uploadAccount"));
         pathOffset += 13;
 
@@ -1479,8 +1499,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("verifyAssertion"));
         pathOffset += 15;
 
@@ -1526,8 +1548,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 33), unittest.equals("/identitytoolkit/v3/relyingparty/"));
-        pathOffset += 33;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("identitytoolkit/v3/relyingparty/"));
+        pathOffset += 32;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("verifyPassword"));
         pathOffset += 14;
 
diff --git a/generated/googleapis/test/licensing/v1_test.dart b/generated/googleapis/test/licensing/v1_test.dart
index a16abbd..472432c 100644
--- a/generated/googleapis/test/licensing/v1_test.dart
+++ b/generated/googleapis/test/licensing/v1_test.dart
@@ -64,14 +64,14 @@
   buildCounterLicenseAssignmentInsert--;
 }
 
-buildUnnamed838() {
+buildUnnamed866() {
   var o = new core.List<api.LicenseAssignment>();
   o.add(buildLicenseAssignment());
   o.add(buildLicenseAssignment());
   return o;
 }
 
-checkUnnamed838(core.List<api.LicenseAssignment> o) {
+checkUnnamed866(core.List<api.LicenseAssignment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLicenseAssignment(o[0]);
   checkLicenseAssignment(o[1]);
@@ -83,7 +83,7 @@
   buildCounterLicenseAssignmentList++;
   if (buildCounterLicenseAssignmentList < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed838();
+    o.items = buildUnnamed866();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -95,7 +95,7 @@
   buildCounterLicenseAssignmentList++;
   if (buildCounterLicenseAssignmentList < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed838(o.items);
+    checkUnnamed866(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -144,25 +144,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/user/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/user/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -203,25 +186,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/user/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/user/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -267,22 +233,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/user", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/user"));
-        pathOffset += 5;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -326,15 +278,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/users", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/users"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -382,22 +327,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/users", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/users"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -447,25 +378,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/user/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/user/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -512,25 +426,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 27), unittest.equals("/apps/licensing/v1/product/"));
-        pathOffset += 27;
-        index = path.indexOf("/sku/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_productId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("/sku/"));
-        pathOffset += 5;
-        index = path.indexOf("/user/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_skuId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/user/"));
-        pathOffset += 6;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_userId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/mapsengine/v1_test.dart b/generated/googleapis/test/mapsengine/v1_test.dart
index cedf3c1..ac2f2ce 100644
--- a/generated/googleapis/test/mapsengine/v1_test.dart
+++ b/generated/googleapis/test/mapsengine/v1_test.dart
@@ -72,15 +72,18 @@
   if (buildCounterAsset < 3) {
     o.bbox = buildUnnamed91();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.description = "foo";
     o.etag = "foo";
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.name = "foo";
     o.projectId = "foo";
     o.resource = "foo";
     o.tags = buildUnnamed92();
     o.type = "foo";
+    o.writersCanEditPermissions = true;
   }
   buildCounterAsset--;
   return o;
@@ -91,15 +94,18 @@
   if (buildCounterAsset < 3) {
     checkUnnamed91(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
     unittest.expect(o.resource, unittest.equals('foo'));
     checkUnnamed92(o.tags);
     unittest.expect(o.type, unittest.equals('foo'));
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterAsset--;
 }
@@ -950,6 +956,7 @@
   if (buildCounterLayer < 3) {
     o.bbox = buildUnnamed111();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.datasourceType = "foo";
     o.datasources = buildDatasources();
     o.description = "foo";
@@ -957,6 +964,7 @@
     o.etag = "foo";
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.layerType = "foo";
     o.name = "foo";
     o.processingStatus = "foo";
@@ -965,6 +973,7 @@
     o.publishingStatus = "foo";
     o.style = buildVectorStyle();
     o.tags = buildTags();
+    o.writersCanEditPermissions = true;
   }
   buildCounterLayer--;
   return o;
@@ -975,6 +984,7 @@
   if (buildCounterLayer < 3) {
     checkUnnamed111(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     unittest.expect(o.datasourceType, unittest.equals('foo'));
     checkDatasources(o.datasources);
     unittest.expect(o.description, unittest.equals('foo'));
@@ -982,6 +992,7 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.layerType, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
@@ -990,6 +1001,7 @@
     unittest.expect(o.publishingStatus, unittest.equals('foo'));
     checkVectorStyle(o.style);
     checkTags(o.tags);
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterLayer--;
 }
@@ -1123,12 +1135,14 @@
     o.bbox = buildUnnamed114();
     o.contents = buildMapContents();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.defaultViewport = buildLatLngBox();
     o.description = "foo";
     o.draftAccessList = "foo";
     o.etag = "foo";
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.name = "foo";
     o.processingStatus = "foo";
     o.projectId = "foo";
@@ -1136,6 +1150,7 @@
     o.publishingStatus = "foo";
     o.tags = buildTags();
     o.versions = buildUnnamed115();
+    o.writersCanEditPermissions = true;
   }
   buildCounterMap--;
   return o;
@@ -1147,12 +1162,14 @@
     checkUnnamed114(o.bbox);
     checkMapContents(o.contents);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     checkLatLngBox(o.defaultViewport);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.draftAccessList, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
@@ -1160,6 +1177,7 @@
     unittest.expect(o.publishingStatus, unittest.equals('foo'));
     checkTags(o.tags);
     checkUnnamed115(o.versions);
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterMap--;
 }
@@ -1418,6 +1436,161 @@
   buildCounterParentsListResponse--;
 }
 
+core.int buildCounterPermission = 0;
+buildPermission() {
+  var o = new api.Permission();
+  buildCounterPermission++;
+  if (buildCounterPermission < 3) {
+    o.discoverable = true;
+    o.id = "foo";
+    o.role = "foo";
+    o.type = "foo";
+  }
+  buildCounterPermission--;
+  return o;
+}
+
+checkPermission(api.Permission o) {
+  buildCounterPermission++;
+  if (buildCounterPermission < 3) {
+    unittest.expect(o.discoverable, unittest.isTrue);
+    unittest.expect(o.id, unittest.equals('foo'));
+    unittest.expect(o.role, unittest.equals('foo'));
+    unittest.expect(o.type, unittest.equals('foo'));
+  }
+  buildCounterPermission--;
+}
+
+buildUnnamed122() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed122(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterPermissionsBatchDeleteRequest = 0;
+buildPermissionsBatchDeleteRequest() {
+  var o = new api.PermissionsBatchDeleteRequest();
+  buildCounterPermissionsBatchDeleteRequest++;
+  if (buildCounterPermissionsBatchDeleteRequest < 3) {
+    o.ids = buildUnnamed122();
+  }
+  buildCounterPermissionsBatchDeleteRequest--;
+  return o;
+}
+
+checkPermissionsBatchDeleteRequest(api.PermissionsBatchDeleteRequest o) {
+  buildCounterPermissionsBatchDeleteRequest++;
+  if (buildCounterPermissionsBatchDeleteRequest < 3) {
+    checkUnnamed122(o.ids);
+  }
+  buildCounterPermissionsBatchDeleteRequest--;
+}
+
+core.int buildCounterPermissionsBatchDeleteResponse = 0;
+buildPermissionsBatchDeleteResponse() {
+  var o = new api.PermissionsBatchDeleteResponse();
+  buildCounterPermissionsBatchDeleteResponse++;
+  if (buildCounterPermissionsBatchDeleteResponse < 3) {
+  }
+  buildCounterPermissionsBatchDeleteResponse--;
+  return o;
+}
+
+checkPermissionsBatchDeleteResponse(api.PermissionsBatchDeleteResponse o) {
+  buildCounterPermissionsBatchDeleteResponse++;
+  if (buildCounterPermissionsBatchDeleteResponse < 3) {
+  }
+  buildCounterPermissionsBatchDeleteResponse--;
+}
+
+buildUnnamed123() {
+  var o = new core.List<api.Permission>();
+  o.add(buildPermission());
+  o.add(buildPermission());
+  return o;
+}
+
+checkUnnamed123(core.List<api.Permission> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkPermission(o[0]);
+  checkPermission(o[1]);
+}
+
+core.int buildCounterPermissionsBatchUpdateRequest = 0;
+buildPermissionsBatchUpdateRequest() {
+  var o = new api.PermissionsBatchUpdateRequest();
+  buildCounterPermissionsBatchUpdateRequest++;
+  if (buildCounterPermissionsBatchUpdateRequest < 3) {
+    o.permissions = buildUnnamed123();
+  }
+  buildCounterPermissionsBatchUpdateRequest--;
+  return o;
+}
+
+checkPermissionsBatchUpdateRequest(api.PermissionsBatchUpdateRequest o) {
+  buildCounterPermissionsBatchUpdateRequest++;
+  if (buildCounterPermissionsBatchUpdateRequest < 3) {
+    checkUnnamed123(o.permissions);
+  }
+  buildCounterPermissionsBatchUpdateRequest--;
+}
+
+core.int buildCounterPermissionsBatchUpdateResponse = 0;
+buildPermissionsBatchUpdateResponse() {
+  var o = new api.PermissionsBatchUpdateResponse();
+  buildCounterPermissionsBatchUpdateResponse++;
+  if (buildCounterPermissionsBatchUpdateResponse < 3) {
+  }
+  buildCounterPermissionsBatchUpdateResponse--;
+  return o;
+}
+
+checkPermissionsBatchUpdateResponse(api.PermissionsBatchUpdateResponse o) {
+  buildCounterPermissionsBatchUpdateResponse++;
+  if (buildCounterPermissionsBatchUpdateResponse < 3) {
+  }
+  buildCounterPermissionsBatchUpdateResponse--;
+}
+
+buildUnnamed124() {
+  var o = new core.List<api.Permission>();
+  o.add(buildPermission());
+  o.add(buildPermission());
+  return o;
+}
+
+checkUnnamed124(core.List<api.Permission> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkPermission(o[0]);
+  checkPermission(o[1]);
+}
+
+core.int buildCounterPermissionsListResponse = 0;
+buildPermissionsListResponse() {
+  var o = new api.PermissionsListResponse();
+  buildCounterPermissionsListResponse++;
+  if (buildCounterPermissionsListResponse < 3) {
+    o.permissions = buildUnnamed124();
+  }
+  buildCounterPermissionsListResponse--;
+  return o;
+}
+
+checkPermissionsListResponse(api.PermissionsListResponse o) {
+  buildCounterPermissionsListResponse++;
+  if (buildCounterPermissionsListResponse < 3) {
+    checkUnnamed124(o.permissions);
+  }
+  buildCounterPermissionsListResponse--;
+}
+
 core.int buildCounterPointStyle = 0;
 buildPointStyle() {
   var o = new api.PointStyle();
@@ -1498,14 +1671,14 @@
   buildCounterProject--;
 }
 
-buildUnnamed122() {
+buildUnnamed125() {
   var o = new core.List<api.Project>();
   o.add(buildProject());
   o.add(buildProject());
   return o;
 }
 
-checkUnnamed122(core.List<api.Project> o) {
+checkUnnamed125(core.List<api.Project> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProject(o[0]);
   checkProject(o[1]);
@@ -1516,7 +1689,7 @@
   var o = new api.ProjectsListResponse();
   buildCounterProjectsListResponse++;
   if (buildCounterProjectsListResponse < 3) {
-    o.projects = buildUnnamed122();
+    o.projects = buildUnnamed125();
   }
   buildCounterProjectsListResponse--;
   return o;
@@ -1525,7 +1698,7 @@
 checkProjectsListResponse(api.ProjectsListResponse o) {
   buildCounterProjectsListResponse++;
   if (buildCounterProjectsListResponse < 3) {
-    checkUnnamed122(o.projects);
+    checkUnnamed125(o.projects);
   }
   buildCounterProjectsListResponse--;
 }
@@ -1553,7 +1726,6 @@
   buildCounterPublishedLayer++;
   if (buildCounterPublishedLayer < 3) {
     o.description = "foo";
-    o.etag = "foo";
     o.id = "foo";
     o.layerType = "foo";
     o.name = "foo";
@@ -1567,7 +1739,6 @@
   buildCounterPublishedLayer++;
   if (buildCounterPublishedLayer < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.layerType, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
@@ -1576,14 +1747,14 @@
   buildCounterPublishedLayer--;
 }
 
-buildUnnamed123() {
+buildUnnamed126() {
   var o = new core.List<api.PublishedLayer>();
   o.add(buildPublishedLayer());
   o.add(buildPublishedLayer());
   return o;
 }
 
-checkUnnamed123(core.List<api.PublishedLayer> o) {
+checkUnnamed126(core.List<api.PublishedLayer> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPublishedLayer(o[0]);
   checkPublishedLayer(o[1]);
@@ -1594,7 +1765,7 @@
   var o = new api.PublishedLayersListResponse();
   buildCounterPublishedLayersListResponse++;
   if (buildCounterPublishedLayersListResponse < 3) {
-    o.layers = buildUnnamed123();
+    o.layers = buildUnnamed126();
     o.nextPageToken = "foo";
   }
   buildCounterPublishedLayersListResponse--;
@@ -1604,7 +1775,7 @@
 checkPublishedLayersListResponse(api.PublishedLayersListResponse o) {
   buildCounterPublishedLayersListResponse++;
   if (buildCounterPublishedLayersListResponse < 3) {
-    checkUnnamed123(o.layers);
+    checkUnnamed126(o.layers);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterPublishedLayersListResponse--;
@@ -1618,7 +1789,6 @@
     o.contents = buildMapContents();
     o.defaultViewport = buildLatLngBox();
     o.description = "foo";
-    o.etag = "foo";
     o.id = "foo";
     o.name = "foo";
     o.projectId = "foo";
@@ -1633,7 +1803,6 @@
     checkMapContents(o.contents);
     checkLatLngBox(o.defaultViewport);
     unittest.expect(o.description, unittest.equals('foo'));
-    unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
@@ -1641,14 +1810,14 @@
   buildCounterPublishedMap--;
 }
 
-buildUnnamed124() {
+buildUnnamed127() {
   var o = new core.List<api.PublishedMap>();
   o.add(buildPublishedMap());
   o.add(buildPublishedMap());
   return o;
 }
 
-checkUnnamed124(core.List<api.PublishedMap> o) {
+checkUnnamed127(core.List<api.PublishedMap> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPublishedMap(o[0]);
   checkPublishedMap(o[1]);
@@ -1659,7 +1828,7 @@
   var o = new api.PublishedMapsListResponse();
   buildCounterPublishedMapsListResponse++;
   if (buildCounterPublishedMapsListResponse < 3) {
-    o.maps = buildUnnamed124();
+    o.maps = buildUnnamed127();
     o.nextPageToken = "foo";
   }
   buildCounterPublishedMapsListResponse--;
@@ -1669,33 +1838,33 @@
 checkPublishedMapsListResponse(api.PublishedMapsListResponse o) {
   buildCounterPublishedMapsListResponse++;
   if (buildCounterPublishedMapsListResponse < 3) {
-    checkUnnamed124(o.maps);
+    checkUnnamed127(o.maps);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterPublishedMapsListResponse--;
 }
 
-buildUnnamed125() {
+buildUnnamed128() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed125(core.List<core.double> o) {
+checkUnnamed128(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed126() {
+buildUnnamed129() {
   var o = new core.List<api.File>();
   o.add(buildFile());
   o.add(buildFile());
   return o;
 }
 
-checkUnnamed126(core.List<api.File> o) {
+checkUnnamed129(core.List<api.File> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFile(o[0]);
   checkFile(o[1]);
@@ -1708,20 +1877,23 @@
   if (buildCounterRaster < 3) {
     o.acquisitionTime = buildAcquisitionTime();
     o.attribution = "foo";
-    o.bbox = buildUnnamed125();
+    o.bbox = buildUnnamed128();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.description = "foo";
     o.draftAccessList = "foo";
     o.etag = "foo";
-    o.files = buildUnnamed126();
+    o.files = buildUnnamed129();
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.maskType = "foo";
     o.name = "foo";
     o.processingStatus = "foo";
     o.projectId = "foo";
     o.rasterType = "foo";
     o.tags = buildTags();
+    o.writersCanEditPermissions = true;
   }
   buildCounterRaster--;
   return o;
@@ -1732,32 +1904,35 @@
   if (buildCounterRaster < 3) {
     checkAcquisitionTime(o.acquisitionTime);
     unittest.expect(o.attribution, unittest.equals('foo'));
-    checkUnnamed125(o.bbox);
+    checkUnnamed128(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.draftAccessList, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed126(o.files);
+    checkUnnamed129(o.files);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.maskType, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
     unittest.expect(o.rasterType, unittest.equals('foo'));
     checkTags(o.tags);
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterRaster--;
 }
 
-buildUnnamed127() {
+buildUnnamed130() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed127(core.List<core.double> o) {
+checkUnnamed130(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
@@ -1769,19 +1944,22 @@
   buildCounterRasterCollection++;
   if (buildCounterRasterCollection < 3) {
     o.attribution = "foo";
-    o.bbox = buildUnnamed127();
+    o.bbox = buildUnnamed130();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.description = "foo";
     o.draftAccessList = "foo";
     o.etag = "foo";
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.mosaic = true;
     o.name = "foo";
     o.processingStatus = "foo";
     o.projectId = "foo";
     o.rasterType = "foo";
     o.tags = buildTags();
+    o.writersCanEditPermissions = true;
   }
   buildCounterRasterCollection--;
   return o;
@@ -1791,31 +1969,34 @@
   buildCounterRasterCollection++;
   if (buildCounterRasterCollection < 3) {
     unittest.expect(o.attribution, unittest.equals('foo'));
-    checkUnnamed127(o.bbox);
+    checkUnnamed130(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.draftAccessList, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.mosaic, unittest.isTrue);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
     unittest.expect(o.rasterType, unittest.equals('foo'));
     checkTags(o.tags);
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterRasterCollection--;
 }
 
-buildUnnamed128() {
+buildUnnamed131() {
   var o = new core.List<api.RasterCollection>();
   o.add(buildRasterCollection());
   o.add(buildRasterCollection());
   return o;
 }
 
-checkUnnamed128(core.List<api.RasterCollection> o) {
+checkUnnamed131(core.List<api.RasterCollection> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRasterCollection(o[0]);
   checkRasterCollection(o[1]);
@@ -1827,7 +2008,7 @@
   buildCounterRasterCollectionsListResponse++;
   if (buildCounterRasterCollectionsListResponse < 3) {
     o.nextPageToken = "foo";
-    o.rasterCollections = buildUnnamed128();
+    o.rasterCollections = buildUnnamed131();
   }
   buildCounterRasterCollectionsListResponse--;
   return o;
@@ -1837,32 +2018,32 @@
   buildCounterRasterCollectionsListResponse++;
   if (buildCounterRasterCollectionsListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed128(o.rasterCollections);
+    checkUnnamed131(o.rasterCollections);
   }
   buildCounterRasterCollectionsListResponse--;
 }
 
-buildUnnamed129() {
+buildUnnamed132() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed129(core.List<core.double> o) {
+checkUnnamed132(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed130() {
+buildUnnamed133() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed130(core.List<core.String> o) {
+checkUnnamed133(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1873,7 +2054,7 @@
   var o = new api.RasterCollectionsRaster();
   buildCounterRasterCollectionsRaster++;
   if (buildCounterRasterCollectionsRaster < 3) {
-    o.bbox = buildUnnamed129();
+    o.bbox = buildUnnamed132();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
     o.description = "foo";
     o.id = "foo";
@@ -1881,7 +2062,7 @@
     o.name = "foo";
     o.projectId = "foo";
     o.rasterType = "foo";
-    o.tags = buildUnnamed130();
+    o.tags = buildUnnamed133();
   }
   buildCounterRasterCollectionsRaster--;
   return o;
@@ -1890,7 +2071,7 @@
 checkRasterCollectionsRaster(api.RasterCollectionsRaster o) {
   buildCounterRasterCollectionsRaster++;
   if (buildCounterRasterCollectionsRaster < 3) {
-    checkUnnamed129(o.bbox);
+    checkUnnamed132(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
@@ -1898,19 +2079,19 @@
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
     unittest.expect(o.rasterType, unittest.equals('foo'));
-    checkUnnamed130(o.tags);
+    checkUnnamed133(o.tags);
   }
   buildCounterRasterCollectionsRaster--;
 }
 
-buildUnnamed131() {
+buildUnnamed134() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed131(core.List<core.String> o) {
+checkUnnamed134(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1921,7 +2102,7 @@
   var o = new api.RasterCollectionsRasterBatchDeleteRequest();
   buildCounterRasterCollectionsRasterBatchDeleteRequest++;
   if (buildCounterRasterCollectionsRasterBatchDeleteRequest < 3) {
-    o.ids = buildUnnamed131();
+    o.ids = buildUnnamed134();
   }
   buildCounterRasterCollectionsRasterBatchDeleteRequest--;
   return o;
@@ -1930,7 +2111,7 @@
 checkRasterCollectionsRasterBatchDeleteRequest(api.RasterCollectionsRasterBatchDeleteRequest o) {
   buildCounterRasterCollectionsRasterBatchDeleteRequest++;
   if (buildCounterRasterCollectionsRasterBatchDeleteRequest < 3) {
-    checkUnnamed131(o.ids);
+    checkUnnamed134(o.ids);
   }
   buildCounterRasterCollectionsRasterBatchDeleteRequest--;
 }
@@ -1952,14 +2133,14 @@
   buildCounterRasterCollectionsRastersBatchDeleteResponse--;
 }
 
-buildUnnamed132() {
+buildUnnamed135() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed132(core.List<core.String> o) {
+checkUnnamed135(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1970,7 +2151,7 @@
   var o = new api.RasterCollectionsRastersBatchInsertRequest();
   buildCounterRasterCollectionsRastersBatchInsertRequest++;
   if (buildCounterRasterCollectionsRastersBatchInsertRequest < 3) {
-    o.ids = buildUnnamed132();
+    o.ids = buildUnnamed135();
   }
   buildCounterRasterCollectionsRastersBatchInsertRequest--;
   return o;
@@ -1979,7 +2160,7 @@
 checkRasterCollectionsRastersBatchInsertRequest(api.RasterCollectionsRastersBatchInsertRequest o) {
   buildCounterRasterCollectionsRastersBatchInsertRequest++;
   if (buildCounterRasterCollectionsRastersBatchInsertRequest < 3) {
-    checkUnnamed132(o.ids);
+    checkUnnamed135(o.ids);
   }
   buildCounterRasterCollectionsRastersBatchInsertRequest--;
 }
@@ -2001,14 +2182,14 @@
   buildCounterRasterCollectionsRastersBatchInsertResponse--;
 }
 
-buildUnnamed133() {
+buildUnnamed136() {
   var o = new core.List<api.RasterCollectionsRaster>();
   o.add(buildRasterCollectionsRaster());
   o.add(buildRasterCollectionsRaster());
   return o;
 }
 
-checkUnnamed133(core.List<api.RasterCollectionsRaster> o) {
+checkUnnamed136(core.List<api.RasterCollectionsRaster> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRasterCollectionsRaster(o[0]);
   checkRasterCollectionsRaster(o[1]);
@@ -2020,7 +2201,7 @@
   buildCounterRasterCollectionsRastersListResponse++;
   if (buildCounterRasterCollectionsRastersListResponse < 3) {
     o.nextPageToken = "foo";
-    o.rasters = buildUnnamed133();
+    o.rasters = buildUnnamed136();
   }
   buildCounterRasterCollectionsRastersListResponse--;
   return o;
@@ -2030,19 +2211,19 @@
   buildCounterRasterCollectionsRastersListResponse++;
   if (buildCounterRasterCollectionsRastersListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed133(o.rasters);
+    checkUnnamed136(o.rasters);
   }
   buildCounterRasterCollectionsRastersListResponse--;
 }
 
-buildUnnamed134() {
+buildUnnamed137() {
   var o = new core.List<api.Raster>();
   o.add(buildRaster());
   o.add(buildRaster());
   return o;
 }
 
-checkUnnamed134(core.List<api.Raster> o) {
+checkUnnamed137(core.List<api.Raster> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRaster(o[0]);
   checkRaster(o[1]);
@@ -2054,7 +2235,7 @@
   buildCounterRastersListResponse++;
   if (buildCounterRastersListResponse < 3) {
     o.nextPageToken = "foo";
-    o.rasters = buildUnnamed134();
+    o.rasters = buildUnnamed137();
   }
   buildCounterRastersListResponse--;
   return o;
@@ -2064,7 +2245,7 @@
   buildCounterRastersListResponse++;
   if (buildCounterRastersListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed134(o.rasters);
+    checkUnnamed137(o.rasters);
   }
   buildCounterRastersListResponse--;
 }
@@ -2117,14 +2298,14 @@
   buildCounterScalingFunction--;
 }
 
-buildUnnamed135() {
+buildUnnamed138() {
   var o = new core.List<api.TableColumn>();
   o.add(buildTableColumn());
   o.add(buildTableColumn());
   return o;
 }
 
-checkUnnamed135(core.List<api.TableColumn> o) {
+checkUnnamed138(core.List<api.TableColumn> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTableColumn(o[0]);
   checkTableColumn(o[1]);
@@ -2135,7 +2316,7 @@
   var o = new api.Schema();
   buildCounterSchema++;
   if (buildCounterSchema < 3) {
-    o.columns = buildUnnamed135();
+    o.columns = buildUnnamed138();
     o.primaryGeometry = "foo";
     o.primaryKey = "foo";
   }
@@ -2146,7 +2327,7 @@
 checkSchema(api.Schema o) {
   buildCounterSchema++;
   if (buildCounterSchema < 3) {
-    checkUnnamed135(o.columns);
+    checkUnnamed138(o.columns);
     unittest.expect(o.primaryGeometry, unittest.equals('foo'));
     unittest.expect(o.primaryKey, unittest.equals('foo'));
   }
@@ -2174,27 +2355,27 @@
   buildCounterSizeRange--;
 }
 
-buildUnnamed136() {
+buildUnnamed139() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed136(core.List<core.double> o) {
+checkUnnamed139(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed137() {
+buildUnnamed140() {
   var o = new core.List<api.File>();
   o.add(buildFile());
   o.add(buildFile());
   return o;
 }
 
-checkUnnamed137(core.List<api.File> o) {
+checkUnnamed140(core.List<api.File> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFile(o[0]);
   checkFile(o[1]);
@@ -2205,14 +2386,16 @@
   var o = new api.Table();
   buildCounterTable++;
   if (buildCounterTable < 3) {
-    o.bbox = buildUnnamed136();
+    o.bbox = buildUnnamed139();
     o.creationTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.creatorEmail = "foo";
     o.description = "foo";
     o.draftAccessList = "foo";
     o.etag = "foo";
-    o.files = buildUnnamed137();
+    o.files = buildUnnamed140();
     o.id = "foo";
     o.lastModifiedTime = core.DateTime.parse("2002-02-27T14:01:02");
+    o.lastModifierEmail = "foo";
     o.name = "foo";
     o.processingStatus = "foo";
     o.projectId = "foo";
@@ -2220,6 +2403,7 @@
     o.schema = buildSchema();
     o.sourceEncoding = "foo";
     o.tags = buildTags();
+    o.writersCanEditPermissions = true;
   }
   buildCounterTable--;
   return o;
@@ -2228,14 +2412,16 @@
 checkTable(api.Table o) {
   buildCounterTable++;
   if (buildCounterTable < 3) {
-    checkUnnamed136(o.bbox);
+    checkUnnamed139(o.bbox);
     unittest.expect(o.creationTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.creatorEmail, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.draftAccessList, unittest.equals('foo'));
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed137(o.files);
+    checkUnnamed140(o.files);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.lastModifiedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
+    unittest.expect(o.lastModifierEmail, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.processingStatus, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
@@ -2243,6 +2429,7 @@
     checkSchema(o.schema);
     unittest.expect(o.sourceEncoding, unittest.equals('foo'));
     checkTags(o.tags);
+    unittest.expect(o.writersCanEditPermissions, unittest.isTrue);
   }
   buildCounterTable--;
 }
@@ -2268,14 +2455,14 @@
   buildCounterTableColumn--;
 }
 
-buildUnnamed138() {
+buildUnnamed141() {
   var o = new core.List<api.Table>();
   o.add(buildTable());
   o.add(buildTable());
   return o;
 }
 
-checkUnnamed138(core.List<api.Table> o) {
+checkUnnamed141(core.List<api.Table> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTable(o[0]);
   checkTable(o[1]);
@@ -2287,7 +2474,7 @@
   buildCounterTablesListResponse++;
   if (buildCounterTablesListResponse < 3) {
     o.nextPageToken = "foo";
-    o.tables = buildUnnamed138();
+    o.tables = buildUnnamed141();
   }
   buildCounterTablesListResponse--;
   return o;
@@ -2297,7 +2484,7 @@
   buildCounterTablesListResponse++;
   if (buildCounterTablesListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed138(o.tables);
+    checkUnnamed141(o.tables);
   }
   buildCounterTablesListResponse--;
 }
@@ -2336,14 +2523,14 @@
   buildCounterValueRange--;
 }
 
-buildUnnamed139() {
+buildUnnamed142() {
   var o = new core.List<api.DisplayRule>();
   o.add(buildDisplayRule());
   o.add(buildDisplayRule());
   return o;
 }
 
-checkUnnamed139(core.List<api.DisplayRule> o) {
+checkUnnamed142(core.List<api.DisplayRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDisplayRule(o[0]);
   checkDisplayRule(o[1]);
@@ -2354,7 +2541,7 @@
   var o = new api.VectorStyle();
   buildCounterVectorStyle++;
   if (buildCounterVectorStyle < 3) {
-    o.displayRules = buildUnnamed139();
+    o.displayRules = buildUnnamed142();
     o.featureInfo = buildFeatureInfo();
     o.type = "foo";
   }
@@ -2365,7 +2552,7 @@
 checkVectorStyle(api.VectorStyle o) {
   buildCounterVectorStyle++;
   if (buildCounterVectorStyle < 3) {
-    checkUnnamed139(o.displayRules);
+    checkUnnamed142(o.displayRules);
     checkFeatureInfo(o.featureInfo);
     unittest.expect(o.type, unittest.equals('foo'));
   }
@@ -2791,6 +2978,60 @@
   });
 
 
+  unittest.group("obj-schema-Permission", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermission();
+      var od = new api.Permission.fromJson(o.toJson());
+      checkPermission(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-PermissionsBatchDeleteRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermissionsBatchDeleteRequest();
+      var od = new api.PermissionsBatchDeleteRequest.fromJson(o.toJson());
+      checkPermissionsBatchDeleteRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-PermissionsBatchDeleteResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermissionsBatchDeleteResponse();
+      var od = new api.PermissionsBatchDeleteResponse.fromJson(o.toJson());
+      checkPermissionsBatchDeleteResponse(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-PermissionsBatchUpdateRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermissionsBatchUpdateRequest();
+      var od = new api.PermissionsBatchUpdateRequest.fromJson(o.toJson());
+      checkPermissionsBatchUpdateRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-PermissionsBatchUpdateResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermissionsBatchUpdateResponse();
+      var od = new api.PermissionsBatchUpdateResponse.fromJson(o.toJson());
+      checkPermissionsBatchUpdateResponse(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-PermissionsListResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildPermissionsListResponse();
+      var od = new api.PermissionsListResponse.fromJson(o.toJson());
+      checkPermissionsListResponse(od);
+    });
+  });
+
+
   unittest.group("obj-schema-PointStyle", () {
     unittest.test("to-json--from-json", () {
       var o = buildPointStyle();
@@ -3081,8 +3322,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("assets/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3140,8 +3383,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("assets"));
         pathOffset += 6;
 
@@ -3203,8 +3448,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("assets/"));
         pathOffset += 7;
         index = path.indexOf("/parents", pathOffset);
@@ -3249,6 +3496,63 @@
   });
 
 
+  unittest.group("resource-AssetsPermissionsResourceApi", () {
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.AssetsPermissionsResourceApi res = new api.MapsengineApi(mock).assets.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("assets/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-LayersResourceApi", () {
     unittest.test("method--cancelProcessing", () {
 
@@ -3260,8 +3564,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/cancelProcessing", pathOffset);
@@ -3315,8 +3621,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("layers"));
         pathOffset += 6;
 
@@ -3360,8 +3668,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3406,8 +3716,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3454,8 +3766,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/published", pathOffset);
@@ -3517,8 +3831,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("layers"));
         pathOffset += 6;
 
@@ -3576,8 +3892,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("layers/published"));
         pathOffset += 16;
 
@@ -3627,8 +3945,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3672,8 +3992,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/process", pathOffset);
@@ -3724,8 +4046,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/publish", pathOffset);
@@ -3776,8 +4100,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/unpublish", pathOffset);
@@ -3833,8 +4159,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
         pathOffset += 7;
         index = path.indexOf("/parents", pathOffset);
@@ -3879,6 +4207,177 @@
   });
 
 
+  unittest.group("resource-LayersPermissionsResourceApi", () {
+    unittest.test("method--batchDelete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.LayersPermissionsResourceApi res = new api.MapsengineApi(mock).layers.permissions;
+      var arg_request = buildPermissionsBatchDeleteRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchDeleteRequest.fromJson(json);
+        checkPermissionsBatchDeleteRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions/batchDelete", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchDelete"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchDeleteResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchDelete(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchDeleteResponse response) {
+        checkPermissionsBatchDeleteResponse(response);
+      })));
+    });
+
+    unittest.test("method--batchUpdate", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.LayersPermissionsResourceApi res = new api.MapsengineApi(mock).layers.permissions;
+      var arg_request = buildPermissionsBatchUpdateRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchUpdateRequest.fromJson(json);
+        checkPermissionsBatchUpdateRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions/batchUpdate", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchUpdate"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchUpdateResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchUpdate(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchUpdateResponse response) {
+        checkPermissionsBatchUpdateResponse(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.LayersPermissionsResourceApi res = new api.MapsengineApi(mock).layers.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("layers/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-MapsResourceApi", () {
     unittest.test("method--create", () {
 
@@ -3893,8 +4392,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 4), unittest.equals("maps"));
         pathOffset += 4;
 
@@ -3937,8 +4438,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3983,8 +4486,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4031,8 +4536,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         index = path.indexOf("/published", pathOffset);
@@ -4094,8 +4601,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 4), unittest.equals("maps"));
         pathOffset += 4;
 
@@ -4153,8 +4662,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("maps/published"));
         pathOffset += 14;
 
@@ -4204,8 +4715,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4250,8 +4763,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         index = path.indexOf("/publish", pathOffset);
@@ -4302,8 +4817,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
         pathOffset += 5;
         index = path.indexOf("/unpublish", pathOffset);
@@ -4346,6 +4863,177 @@
   });
 
 
+  unittest.group("resource-MapsPermissionsResourceApi", () {
+    unittest.test("method--batchDelete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.MapsPermissionsResourceApi res = new api.MapsengineApi(mock).maps.permissions;
+      var arg_request = buildPermissionsBatchDeleteRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchDeleteRequest.fromJson(json);
+        checkPermissionsBatchDeleteRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
+        pathOffset += 5;
+        index = path.indexOf("/permissions/batchDelete", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchDelete"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchDeleteResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchDelete(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchDeleteResponse response) {
+        checkPermissionsBatchDeleteResponse(response);
+      })));
+    });
+
+    unittest.test("method--batchUpdate", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.MapsPermissionsResourceApi res = new api.MapsengineApi(mock).maps.permissions;
+      var arg_request = buildPermissionsBatchUpdateRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchUpdateRequest.fromJson(json);
+        checkPermissionsBatchUpdateRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
+        pathOffset += 5;
+        index = path.indexOf("/permissions/batchUpdate", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchUpdate"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchUpdateResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchUpdate(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchUpdateResponse response) {
+        checkPermissionsBatchUpdateResponse(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.MapsPermissionsResourceApi res = new api.MapsengineApi(mock).maps.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("maps/"));
+        pathOffset += 5;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-ProjectsResourceApi", () {
     unittest.test("method--list", () {
 
@@ -4356,8 +5044,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("projects"));
         pathOffset += 8;
 
@@ -4410,8 +5100,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/icons", pathOffset);
@@ -4464,8 +5156,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/icons/", pathOffset);
@@ -4520,8 +5214,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/icons", pathOffset);
@@ -4577,8 +5273,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/cancelProcessing", pathOffset);
@@ -4631,8 +5329,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("rasterCollections"));
         pathOffset += 17;
 
@@ -4675,8 +5375,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4720,8 +5422,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4779,8 +5483,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("rasterCollections"));
         pathOffset += 17;
 
@@ -4840,8 +5546,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -4885,8 +5593,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/process", pathOffset);
@@ -4942,8 +5652,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/parents", pathOffset);
@@ -4988,6 +5700,177 @@
   });
 
 
+  unittest.group("resource-RasterCollectionsPermissionsResourceApi", () {
+    unittest.test("method--batchDelete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RasterCollectionsPermissionsResourceApi res = new api.MapsengineApi(mock).rasterCollections.permissions;
+      var arg_request = buildPermissionsBatchDeleteRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchDeleteRequest.fromJson(json);
+        checkPermissionsBatchDeleteRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
+        pathOffset += 18;
+        index = path.indexOf("/permissions/batchDelete", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchDelete"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchDeleteResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchDelete(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchDeleteResponse response) {
+        checkPermissionsBatchDeleteResponse(response);
+      })));
+    });
+
+    unittest.test("method--batchUpdate", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RasterCollectionsPermissionsResourceApi res = new api.MapsengineApi(mock).rasterCollections.permissions;
+      var arg_request = buildPermissionsBatchUpdateRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchUpdateRequest.fromJson(json);
+        checkPermissionsBatchUpdateRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
+        pathOffset += 18;
+        index = path.indexOf("/permissions/batchUpdate", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchUpdate"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchUpdateResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchUpdate(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchUpdateResponse response) {
+        checkPermissionsBatchUpdateResponse(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RasterCollectionsPermissionsResourceApi res = new api.MapsengineApi(mock).rasterCollections.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
+        pathOffset += 18;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-RasterCollectionsRastersResourceApi", () {
     unittest.test("method--batchDelete", () {
 
@@ -5003,8 +5886,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/rasters/batchDelete", pathOffset);
@@ -5058,8 +5943,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/rasters/batchInsert", pathOffset);
@@ -5120,8 +6007,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("rasterCollections/"));
         pathOffset += 18;
         index = path.indexOf("/rasters", pathOffset);
@@ -5186,8 +6075,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5231,8 +6122,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5290,8 +6183,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("rasters"));
         pathOffset += 7;
 
@@ -5351,8 +6246,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5396,8 +6293,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         index = path.indexOf("/process", pathOffset);
@@ -5450,8 +6349,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("rasters/upload"));
         pathOffset += 14;
 
@@ -5501,8 +6402,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         index = path.indexOf("/files", pathOffset);
@@ -5557,8 +6460,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
         pathOffset += 8;
         index = path.indexOf("/parents", pathOffset);
@@ -5603,6 +6508,177 @@
   });
 
 
+  unittest.group("resource-RastersPermissionsResourceApi", () {
+    unittest.test("method--batchDelete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RastersPermissionsResourceApi res = new api.MapsengineApi(mock).rasters.permissions;
+      var arg_request = buildPermissionsBatchDeleteRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchDeleteRequest.fromJson(json);
+        checkPermissionsBatchDeleteRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
+        pathOffset += 8;
+        index = path.indexOf("/permissions/batchDelete", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchDelete"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchDeleteResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchDelete(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchDeleteResponse response) {
+        checkPermissionsBatchDeleteResponse(response);
+      })));
+    });
+
+    unittest.test("method--batchUpdate", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RastersPermissionsResourceApi res = new api.MapsengineApi(mock).rasters.permissions;
+      var arg_request = buildPermissionsBatchUpdateRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchUpdateRequest.fromJson(json);
+        checkPermissionsBatchUpdateRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
+        pathOffset += 8;
+        index = path.indexOf("/permissions/batchUpdate", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchUpdate"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchUpdateResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchUpdate(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchUpdateResponse response) {
+        checkPermissionsBatchUpdateResponse(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.RastersPermissionsResourceApi res = new api.MapsengineApi(mock).rasters.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("rasters/"));
+        pathOffset += 8;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
   unittest.group("resource-TablesResourceApi", () {
     unittest.test("method--create", () {
 
@@ -5617,8 +6693,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("tables"));
         pathOffset += 6;
 
@@ -5661,8 +6739,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5707,8 +6787,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5767,8 +6849,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("tables"));
         pathOffset += 6;
 
@@ -5828,8 +6912,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -5873,8 +6959,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/process", pathOffset);
@@ -5927,8 +7015,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("tables/upload"));
         pathOffset += 13;
 
@@ -5979,8 +7069,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/features/batchDelete", pathOffset);
@@ -6032,8 +7124,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/features/batchInsert", pathOffset);
@@ -6085,8 +7179,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/features/batchPatch", pathOffset);
@@ -6137,8 +7233,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/features/", pathOffset);
@@ -6202,8 +7300,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/features", pathOffset);
@@ -6269,8 +7369,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/files", pathOffset);
@@ -6325,8 +7427,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/mapsengine/v1/"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
         pathOffset += 7;
         index = path.indexOf("/parents", pathOffset);
@@ -6371,5 +7475,176 @@
   });
 
 
+  unittest.group("resource-TablesPermissionsResourceApi", () {
+    unittest.test("method--batchDelete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.TablesPermissionsResourceApi res = new api.MapsengineApi(mock).tables.permissions;
+      var arg_request = buildPermissionsBatchDeleteRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchDeleteRequest.fromJson(json);
+        checkPermissionsBatchDeleteRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions/batchDelete", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchDelete"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchDeleteResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchDelete(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchDeleteResponse response) {
+        checkPermissionsBatchDeleteResponse(response);
+      })));
+    });
+
+    unittest.test("method--batchUpdate", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.TablesPermissionsResourceApi res = new api.MapsengineApi(mock).tables.permissions;
+      var arg_request = buildPermissionsBatchUpdateRequest();
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.PermissionsBatchUpdateRequest.fromJson(json);
+        checkPermissionsBatchUpdateRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions/batchUpdate", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("/permissions/batchUpdate"));
+        pathOffset += 24;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsBatchUpdateResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.batchUpdate(arg_request, arg_id).then(unittest.expectAsync(((api.PermissionsBatchUpdateResponse response) {
+        checkPermissionsBatchUpdateResponse(response);
+      })));
+    });
+
+    unittest.test("method--list", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.TablesPermissionsResourceApi res = new api.MapsengineApi(mock).tables.permissions;
+      var arg_id = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("mapsengine/v1/"));
+        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("tables/"));
+        pathOffset += 7;
+        index = path.indexOf("/permissions", pathOffset);
+        unittest.expect(index >= 0, unittest.isTrue);
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
+        pathOffset = index;
+        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/permissions"));
+        pathOffset += 12;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildPermissionsListResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.list(arg_id).then(unittest.expectAsync(((api.PermissionsListResponse response) {
+        checkPermissionsListResponse(response);
+      })));
+    });
+
+  });
+
+
 }
 
diff --git a/generated/googleapis/test/mirror/v1_test.dart b/generated/googleapis/test/mirror/v1_test.dart
index 7f051f1..b617075 100644
--- a/generated/googleapis/test/mirror/v1_test.dart
+++ b/generated/googleapis/test/mirror/v1_test.dart
@@ -16,40 +16,40 @@
 
 
 
-buildUnnamed743() {
+buildUnnamed771() {
   var o = new core.List<api.AuthToken>();
   o.add(buildAuthToken());
   o.add(buildAuthToken());
   return o;
 }
 
-checkUnnamed743(core.List<api.AuthToken> o) {
+checkUnnamed771(core.List<api.AuthToken> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAuthToken(o[0]);
   checkAuthToken(o[1]);
 }
 
-buildUnnamed744() {
+buildUnnamed772() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed744(core.List<core.String> o) {
+checkUnnamed772(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed745() {
+buildUnnamed773() {
   var o = new core.List<api.UserData>();
   o.add(buildUserData());
   o.add(buildUserData());
   return o;
 }
 
-checkUnnamed745(core.List<api.UserData> o) {
+checkUnnamed773(core.List<api.UserData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserData(o[0]);
   checkUserData(o[1]);
@@ -60,10 +60,10 @@
   var o = new api.Account();
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
-    o.authTokens = buildUnnamed743();
-    o.features = buildUnnamed744();
+    o.authTokens = buildUnnamed771();
+    o.features = buildUnnamed772();
     o.password = "foo";
-    o.userData = buildUnnamed745();
+    o.userData = buildUnnamed773();
   }
   buildCounterAccount--;
   return o;
@@ -72,10 +72,10 @@
 checkAccount(api.Account o) {
   buildCounterAccount++;
   if (buildCounterAccount < 3) {
-    checkUnnamed743(o.authTokens);
-    checkUnnamed744(o.features);
+    checkUnnamed771(o.authTokens);
+    checkUnnamed772(o.features);
     unittest.expect(o.password, unittest.equals('foo'));
-    checkUnnamed745(o.userData);
+    checkUnnamed773(o.userData);
   }
   buildCounterAccount--;
 }
@@ -105,14 +105,14 @@
   buildCounterAttachment--;
 }
 
-buildUnnamed746() {
+buildUnnamed774() {
   var o = new core.List<api.Attachment>();
   o.add(buildAttachment());
   o.add(buildAttachment());
   return o;
 }
 
-checkUnnamed746(core.List<api.Attachment> o) {
+checkUnnamed774(core.List<api.Attachment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAttachment(o[0]);
   checkAttachment(o[1]);
@@ -123,7 +123,7 @@
   var o = new api.AttachmentsListResponse();
   buildCounterAttachmentsListResponse++;
   if (buildCounterAttachmentsListResponse < 3) {
-    o.items = buildUnnamed746();
+    o.items = buildUnnamed774();
     o.kind = "foo";
   }
   buildCounterAttachmentsListResponse--;
@@ -133,7 +133,7 @@
 checkAttachmentsListResponse(api.AttachmentsListResponse o) {
   buildCounterAttachmentsListResponse++;
   if (buildCounterAttachmentsListResponse < 3) {
-    checkUnnamed746(o.items);
+    checkUnnamed774(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAttachmentsListResponse--;
@@ -179,53 +179,53 @@
   buildCounterCommand--;
 }
 
-buildUnnamed747() {
+buildUnnamed775() {
   var o = new core.List<api.Command>();
   o.add(buildCommand());
   o.add(buildCommand());
   return o;
 }
 
-checkUnnamed747(core.List<api.Command> o) {
+checkUnnamed775(core.List<api.Command> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommand(o[0]);
   checkCommand(o[1]);
 }
 
-buildUnnamed748() {
+buildUnnamed776() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed748(core.List<core.String> o) {
+checkUnnamed776(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed749() {
+buildUnnamed777() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed749(core.List<core.String> o) {
+checkUnnamed777(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed750() {
+buildUnnamed778() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed750(core.List<core.String> o) {
+checkUnnamed778(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -236,15 +236,15 @@
   var o = new api.Contact();
   buildCounterContact++;
   if (buildCounterContact < 3) {
-    o.acceptCommands = buildUnnamed747();
-    o.acceptTypes = buildUnnamed748();
+    o.acceptCommands = buildUnnamed775();
+    o.acceptTypes = buildUnnamed776();
     o.displayName = "foo";
     o.id = "foo";
-    o.imageUrls = buildUnnamed749();
+    o.imageUrls = buildUnnamed777();
     o.kind = "foo";
     o.phoneNumber = "foo";
     o.priority = 42;
-    o.sharingFeatures = buildUnnamed750();
+    o.sharingFeatures = buildUnnamed778();
     o.source = "foo";
     o.speakableName = "foo";
     o.type = "foo";
@@ -256,15 +256,15 @@
 checkContact(api.Contact o) {
   buildCounterContact++;
   if (buildCounterContact < 3) {
-    checkUnnamed747(o.acceptCommands);
-    checkUnnamed748(o.acceptTypes);
+    checkUnnamed775(o.acceptCommands);
+    checkUnnamed776(o.acceptTypes);
     unittest.expect(o.displayName, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed749(o.imageUrls);
+    checkUnnamed777(o.imageUrls);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.phoneNumber, unittest.equals('foo'));
     unittest.expect(o.priority, unittest.equals(42));
-    checkUnnamed750(o.sharingFeatures);
+    checkUnnamed778(o.sharingFeatures);
     unittest.expect(o.source, unittest.equals('foo'));
     unittest.expect(o.speakableName, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
@@ -272,14 +272,14 @@
   buildCounterContact--;
 }
 
-buildUnnamed751() {
+buildUnnamed779() {
   var o = new core.List<api.Contact>();
   o.add(buildContact());
   o.add(buildContact());
   return o;
 }
 
-checkUnnamed751(core.List<api.Contact> o) {
+checkUnnamed779(core.List<api.Contact> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkContact(o[0]);
   checkContact(o[1]);
@@ -290,7 +290,7 @@
   var o = new api.ContactsListResponse();
   buildCounterContactsListResponse++;
   if (buildCounterContactsListResponse < 3) {
-    o.items = buildUnnamed751();
+    o.items = buildUnnamed779();
     o.kind = "foo";
   }
   buildCounterContactsListResponse--;
@@ -300,7 +300,7 @@
 checkContactsListResponse(api.ContactsListResponse o) {
   buildCounterContactsListResponse++;
   if (buildCounterContactsListResponse < 3) {
-    checkUnnamed751(o.items);
+    checkUnnamed779(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterContactsListResponse--;
@@ -339,14 +339,14 @@
   buildCounterLocation--;
 }
 
-buildUnnamed752() {
+buildUnnamed780() {
   var o = new core.List<api.Location>();
   o.add(buildLocation());
   o.add(buildLocation());
   return o;
 }
 
-checkUnnamed752(core.List<api.Location> o) {
+checkUnnamed780(core.List<api.Location> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLocation(o[0]);
   checkLocation(o[1]);
@@ -357,7 +357,7 @@
   var o = new api.LocationsListResponse();
   buildCounterLocationsListResponse++;
   if (buildCounterLocationsListResponse < 3) {
-    o.items = buildUnnamed752();
+    o.items = buildUnnamed780();
     o.kind = "foo";
   }
   buildCounterLocationsListResponse--;
@@ -367,20 +367,20 @@
 checkLocationsListResponse(api.LocationsListResponse o) {
   buildCounterLocationsListResponse++;
   if (buildCounterLocationsListResponse < 3) {
-    checkUnnamed752(o.items);
+    checkUnnamed780(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterLocationsListResponse--;
 }
 
-buildUnnamed753() {
+buildUnnamed781() {
   var o = new core.List<api.MenuValue>();
   o.add(buildMenuValue());
   o.add(buildMenuValue());
   return o;
 }
 
-checkUnnamed753(core.List<api.MenuValue> o) {
+checkUnnamed781(core.List<api.MenuValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMenuValue(o[0]);
   checkMenuValue(o[1]);
@@ -392,10 +392,11 @@
   buildCounterMenuItem++;
   if (buildCounterMenuItem < 3) {
     o.action = "foo";
+    o.contextualCommand = "foo";
     o.id = "foo";
     o.payload = "foo";
     o.removeWhenSelected = true;
-    o.values = buildUnnamed753();
+    o.values = buildUnnamed781();
   }
   buildCounterMenuItem--;
   return o;
@@ -405,10 +406,11 @@
   buildCounterMenuItem++;
   if (buildCounterMenuItem < 3) {
     unittest.expect(o.action, unittest.equals('foo'));
+    unittest.expect(o.contextualCommand, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.payload, unittest.equals('foo'));
     unittest.expect(o.removeWhenSelected, unittest.isTrue);
-    checkUnnamed753(o.values);
+    checkUnnamed781(o.values);
   }
   buildCounterMenuItem--;
 }
@@ -436,14 +438,14 @@
   buildCounterMenuValue--;
 }
 
-buildUnnamed754() {
+buildUnnamed782() {
   var o = new core.List<api.UserAction>();
   o.add(buildUserAction());
   o.add(buildUserAction());
   return o;
 }
 
-checkUnnamed754(core.List<api.UserAction> o) {
+checkUnnamed782(core.List<api.UserAction> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUserAction(o[0]);
   checkUserAction(o[1]);
@@ -457,7 +459,7 @@
     o.collection = "foo";
     o.itemId = "foo";
     o.operation = "foo";
-    o.userActions = buildUnnamed754();
+    o.userActions = buildUnnamed782();
     o.userToken = "foo";
     o.verifyToken = "foo";
   }
@@ -471,7 +473,7 @@
     unittest.expect(o.collection, unittest.equals('foo'));
     unittest.expect(o.itemId, unittest.equals('foo'));
     unittest.expect(o.operation, unittest.equals('foo'));
-    checkUnnamed754(o.userActions);
+    checkUnnamed782(o.userActions);
     unittest.expect(o.userToken, unittest.equals('foo'));
     unittest.expect(o.verifyToken, unittest.equals('foo'));
   }
@@ -522,14 +524,14 @@
   buildCounterSetting--;
 }
 
-buildUnnamed755() {
+buildUnnamed783() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed755(core.List<core.String> o) {
+checkUnnamed783(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -545,7 +547,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.notification = buildNotification();
-    o.operation = buildUnnamed755();
+    o.operation = buildUnnamed783();
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
     o.userToken = "foo";
     o.verifyToken = "foo";
@@ -562,7 +564,7 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     checkNotification(o.notification);
-    checkUnnamed755(o.operation);
+    checkUnnamed783(o.operation);
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.userToken, unittest.equals('foo'));
     unittest.expect(o.verifyToken, unittest.equals('foo'));
@@ -570,14 +572,14 @@
   buildCounterSubscription--;
 }
 
-buildUnnamed756() {
+buildUnnamed784() {
   var o = new core.List<api.Subscription>();
   o.add(buildSubscription());
   o.add(buildSubscription());
   return o;
 }
 
-checkUnnamed756(core.List<api.Subscription> o) {
+checkUnnamed784(core.List<api.Subscription> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSubscription(o[0]);
   checkSubscription(o[1]);
@@ -588,7 +590,7 @@
   var o = new api.SubscriptionsListResponse();
   buildCounterSubscriptionsListResponse++;
   if (buildCounterSubscriptionsListResponse < 3) {
-    o.items = buildUnnamed756();
+    o.items = buildUnnamed784();
     o.kind = "foo";
   }
   buildCounterSubscriptionsListResponse--;
@@ -598,46 +600,46 @@
 checkSubscriptionsListResponse(api.SubscriptionsListResponse o) {
   buildCounterSubscriptionsListResponse++;
   if (buildCounterSubscriptionsListResponse < 3) {
-    checkUnnamed756(o.items);
+    checkUnnamed784(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterSubscriptionsListResponse--;
 }
 
-buildUnnamed757() {
+buildUnnamed785() {
   var o = new core.List<api.Attachment>();
   o.add(buildAttachment());
   o.add(buildAttachment());
   return o;
 }
 
-checkUnnamed757(core.List<api.Attachment> o) {
+checkUnnamed785(core.List<api.Attachment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAttachment(o[0]);
   checkAttachment(o[1]);
 }
 
-buildUnnamed758() {
+buildUnnamed786() {
   var o = new core.List<api.MenuItem>();
   o.add(buildMenuItem());
   o.add(buildMenuItem());
   return o;
 }
 
-checkUnnamed758(core.List<api.MenuItem> o) {
+checkUnnamed786(core.List<api.MenuItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMenuItem(o[0]);
   checkMenuItem(o[1]);
 }
 
-buildUnnamed759() {
+buildUnnamed787() {
   var o = new core.List<api.Contact>();
   o.add(buildContact());
   o.add(buildContact());
   return o;
 }
 
-checkUnnamed759(core.List<api.Contact> o) {
+checkUnnamed787(core.List<api.Contact> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkContact(o[0]);
   checkContact(o[1]);
@@ -648,7 +650,7 @@
   var o = new api.TimelineItem();
   buildCounterTimelineItem++;
   if (buildCounterTimelineItem < 3) {
-    o.attachments = buildUnnamed757();
+    o.attachments = buildUnnamed785();
     o.bundleId = "foo";
     o.canonicalUrl = "foo";
     o.created = core.DateTime.parse("2002-02-27T14:01:02");
@@ -663,10 +665,10 @@
     o.isPinned = true;
     o.kind = "foo";
     o.location = buildLocation();
-    o.menuItems = buildUnnamed758();
+    o.menuItems = buildUnnamed786();
     o.notification = buildNotificationConfig();
     o.pinScore = 42;
-    o.recipients = buildUnnamed759();
+    o.recipients = buildUnnamed787();
     o.selfLink = "foo";
     o.sourceItemId = "foo";
     o.speakableText = "foo";
@@ -682,7 +684,7 @@
 checkTimelineItem(api.TimelineItem o) {
   buildCounterTimelineItem++;
   if (buildCounterTimelineItem < 3) {
-    checkUnnamed757(o.attachments);
+    checkUnnamed785(o.attachments);
     unittest.expect(o.bundleId, unittest.equals('foo'));
     unittest.expect(o.canonicalUrl, unittest.equals('foo'));
     unittest.expect(o.created, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -697,10 +699,10 @@
     unittest.expect(o.isPinned, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkLocation(o.location);
-    checkUnnamed758(o.menuItems);
+    checkUnnamed786(o.menuItems);
     checkNotificationConfig(o.notification);
     unittest.expect(o.pinScore, unittest.equals(42));
-    checkUnnamed759(o.recipients);
+    checkUnnamed787(o.recipients);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.sourceItemId, unittest.equals('foo'));
     unittest.expect(o.speakableText, unittest.equals('foo'));
@@ -712,14 +714,14 @@
   buildCounterTimelineItem--;
 }
 
-buildUnnamed760() {
+buildUnnamed788() {
   var o = new core.List<api.TimelineItem>();
   o.add(buildTimelineItem());
   o.add(buildTimelineItem());
   return o;
 }
 
-checkUnnamed760(core.List<api.TimelineItem> o) {
+checkUnnamed788(core.List<api.TimelineItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTimelineItem(o[0]);
   checkTimelineItem(o[1]);
@@ -730,7 +732,7 @@
   var o = new api.TimelineListResponse();
   buildCounterTimelineListResponse++;
   if (buildCounterTimelineListResponse < 3) {
-    o.items = buildUnnamed760();
+    o.items = buildUnnamed788();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -741,7 +743,7 @@
 checkTimelineListResponse(api.TimelineListResponse o) {
   buildCounterTimelineListResponse++;
   if (buildCounterTimelineListResponse < 3) {
-    checkUnnamed760(o.items);
+    checkUnnamed788(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -989,8 +991,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("accounts/"));
         pathOffset += 9;
         index = path.indexOf("/", pathOffset);
@@ -1054,8 +1058,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("contacts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1099,8 +1105,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("contacts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1149,8 +1157,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("contacts"));
         pathOffset += 8;
 
@@ -1192,8 +1202,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("contacts"));
         pathOffset += 8;
 
@@ -1240,8 +1252,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("contacts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1291,8 +1305,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("contacts/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1342,8 +1358,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("locations/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1388,8 +1406,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("locations"));
         pathOffset += 9;
 
@@ -1436,8 +1456,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("settings/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1487,8 +1509,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("subscriptions/"));
         pathOffset += 14;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1535,8 +1559,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -1578,8 +1604,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -1626,8 +1654,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("subscriptions/"));
         pathOffset += 14;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1677,8 +1707,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1722,8 +1754,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1774,8 +1808,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("timeline"));
         pathOffset += 8;
 
@@ -1824,8 +1860,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("timeline"));
         pathOffset += 8;
 
@@ -1879,8 +1917,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1932,8 +1972,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1984,8 +2026,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         index = path.indexOf("/attachments/", pathOffset);
@@ -2039,8 +2083,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         index = path.indexOf("/attachments/", pathOffset);
@@ -2095,8 +2141,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         index = path.indexOf("/attachments", pathOffset);
@@ -2146,8 +2194,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/mirror/v1/"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("mirror/v1/"));
+        pathOffset += 10;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("timeline/"));
         pathOffset += 9;
         index = path.indexOf("/attachments", pathOffset);
diff --git a/generated/googleapis/test/orkut/v2_test.dart b/generated/googleapis/test/orkut/v2_test.dart
index c36a3fc..ff06d99 100644
--- a/generated/googleapis/test/orkut/v2_test.dart
+++ b/generated/googleapis/test/orkut/v2_test.dart
@@ -37,14 +37,14 @@
   buildCounterAclItems--;
 }
 
-buildUnnamed140() {
+buildUnnamed143() {
   var o = new core.List<api.AclItems>();
   o.add(buildAclItems());
   o.add(buildAclItems());
   return o;
 }
 
-checkUnnamed140(core.List<api.AclItems> o) {
+checkUnnamed143(core.List<api.AclItems> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAclItems(o[0]);
   checkAclItems(o[1]);
@@ -56,7 +56,7 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     o.description = "foo";
-    o.items = buildUnnamed140();
+    o.items = buildUnnamed143();
     o.kind = "foo";
     o.totalParticipants = 42;
   }
@@ -68,47 +68,47 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed140(o.items);
+    checkUnnamed143(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.totalParticipants, unittest.equals(42));
   }
   buildCounterAcl--;
 }
 
-buildUnnamed141() {
+buildUnnamed144() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed141(core.List<api.OrkutLinkResource> o) {
+checkUnnamed144(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
 }
 
-buildUnnamed142() {
+buildUnnamed145() {
   var o = new core.List<api.OrkutActivityobjectsResource>();
   o.add(buildOrkutActivityobjectsResource());
   o.add(buildOrkutActivityobjectsResource());
   return o;
 }
 
-checkUnnamed142(core.List<api.OrkutActivityobjectsResource> o) {
+checkUnnamed145(core.List<api.OrkutActivityobjectsResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutActivityobjectsResource(o[0]);
   checkOrkutActivityobjectsResource(o[1]);
 }
 
-buildUnnamed143() {
+buildUnnamed146() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed143(core.List<api.Comment> o) {
+checkUnnamed146(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -119,7 +119,7 @@
   var o = new api.ActivityObjectReplies();
   buildCounterActivityObjectReplies++;
   if (buildCounterActivityObjectReplies < 3) {
-    o.items = buildUnnamed143();
+    o.items = buildUnnamed146();
     o.totalItems = "foo";
     o.url = "foo";
   }
@@ -130,7 +130,7 @@
 checkActivityObjectReplies(api.ActivityObjectReplies o) {
   buildCounterActivityObjectReplies++;
   if (buildCounterActivityObjectReplies < 3) {
-    checkUnnamed143(o.items);
+    checkUnnamed146(o.items);
     unittest.expect(o.totalItems, unittest.equals('foo'));
     unittest.expect(o.url, unittest.equals('foo'));
   }
@@ -143,7 +143,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     o.content = "foo";
-    o.items = buildUnnamed142();
+    o.items = buildUnnamed145();
     o.objectType = "foo";
     o.replies = buildActivityObjectReplies();
   }
@@ -155,7 +155,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     unittest.expect(o.content, unittest.equals('foo'));
-    checkUnnamed142(o.items);
+    checkUnnamed145(o.items);
     unittest.expect(o.objectType, unittest.equals('foo'));
     checkActivityObjectReplies(o.replies);
   }
@@ -171,7 +171,7 @@
     o.actor = buildOrkutAuthorResource();
     o.id = "foo";
     o.kind = "foo";
-    o.links = buildUnnamed141();
+    o.links = buildUnnamed144();
     o.object = buildActivityObject();
     o.published = core.DateTime.parse("2002-02-27T14:01:02");
     o.title = "foo";
@@ -189,7 +189,7 @@
     checkOrkutAuthorResource(o.actor);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed141(o.links);
+    checkUnnamed144(o.links);
     checkActivityObject(o.object);
     unittest.expect(o.published, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.title, unittest.equals('foo'));
@@ -199,14 +199,14 @@
   buildCounterActivity--;
 }
 
-buildUnnamed144() {
+buildUnnamed147() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed144(core.List<api.Activity> o) {
+checkUnnamed147(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -217,7 +217,7 @@
   var o = new api.ActivityList();
   buildCounterActivityList++;
   if (buildCounterActivityList < 3) {
-    o.items = buildUnnamed144();
+    o.items = buildUnnamed147();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -228,7 +228,7 @@
 checkActivityList(api.ActivityList o) {
   buildCounterActivityList++;
   if (buildCounterActivityList < 3) {
-    checkUnnamed144(o.items);
+    checkUnnamed147(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -270,14 +270,14 @@
   buildCounterBadge--;
 }
 
-buildUnnamed145() {
+buildUnnamed148() {
   var o = new core.List<api.Badge>();
   o.add(buildBadge());
   o.add(buildBadge());
   return o;
 }
 
-checkUnnamed145(core.List<api.Badge> o) {
+checkUnnamed148(core.List<api.Badge> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBadge(o[0]);
   checkBadge(o[1]);
@@ -288,7 +288,7 @@
   var o = new api.BadgeList();
   buildCounterBadgeList++;
   if (buildCounterBadgeList < 3) {
-    o.items = buildUnnamed145();
+    o.items = buildUnnamed148();
     o.kind = "foo";
   }
   buildCounterBadgeList--;
@@ -298,7 +298,7 @@
 checkBadgeList(api.BadgeList o) {
   buildCounterBadgeList++;
   if (buildCounterBadgeList < 3) {
-    checkUnnamed145(o.items);
+    checkUnnamed148(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBadgeList--;
@@ -329,14 +329,14 @@
   buildCounterCommentInReplyTo--;
 }
 
-buildUnnamed146() {
+buildUnnamed149() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed146(core.List<api.OrkutLinkResource> o) {
+checkUnnamed149(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
@@ -352,7 +352,7 @@
     o.id = "foo";
     o.inReplyTo = buildCommentInReplyTo();
     o.kind = "foo";
-    o.links = buildUnnamed146();
+    o.links = buildUnnamed149();
     o.published = core.DateTime.parse("2002-02-27T14:01:02");
   }
   buildCounterComment--;
@@ -367,20 +367,20 @@
     unittest.expect(o.id, unittest.equals('foo'));
     checkCommentInReplyTo(o.inReplyTo);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed146(o.links);
+    checkUnnamed149(o.links);
     unittest.expect(o.published, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
   }
   buildCounterComment--;
 }
 
-buildUnnamed147() {
+buildUnnamed150() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed147(core.List<api.Comment> o) {
+checkUnnamed150(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -391,7 +391,7 @@
   var o = new api.CommentList();
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    o.items = buildUnnamed147();
+    o.items = buildUnnamed150();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.previousPageToken = "foo";
@@ -403,7 +403,7 @@
 checkCommentList(api.CommentList o) {
   buildCounterCommentList++;
   if (buildCounterCommentList < 3) {
-    checkUnnamed147(o.items);
+    checkUnnamed150(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.previousPageToken, unittest.equals('foo'));
@@ -411,40 +411,40 @@
   buildCounterCommentList--;
 }
 
-buildUnnamed148() {
+buildUnnamed151() {
   var o = new core.List<api.OrkutAuthorResource>();
   o.add(buildOrkutAuthorResource());
   o.add(buildOrkutAuthorResource());
   return o;
 }
 
-checkUnnamed148(core.List<api.OrkutAuthorResource> o) {
+checkUnnamed151(core.List<api.OrkutAuthorResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutAuthorResource(o[0]);
   checkOrkutAuthorResource(o[1]);
 }
 
-buildUnnamed149() {
+buildUnnamed152() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed149(core.List<api.OrkutLinkResource> o) {
+checkUnnamed152(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
 }
 
-buildUnnamed150() {
+buildUnnamed153() {
   var o = new core.List<api.OrkutAuthorResource>();
   o.add(buildOrkutAuthorResource());
   o.add(buildOrkutAuthorResource());
   return o;
 }
 
-checkUnnamed150(core.List<api.OrkutAuthorResource> o) {
+checkUnnamed153(core.List<api.OrkutAuthorResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutAuthorResource(o[0]);
   checkOrkutAuthorResource(o[1]);
@@ -456,16 +456,16 @@
   buildCounterCommunity++;
   if (buildCounterCommunity < 3) {
     o.category = "foo";
-    o.coOwners = buildUnnamed148();
+    o.coOwners = buildUnnamed151();
     o.creationDate = core.DateTime.parse("2002-02-27T14:01:02");
     o.description = "foo";
     o.id = 42;
     o.kind = "foo";
     o.language = "foo";
-    o.links = buildUnnamed149();
+    o.links = buildUnnamed152();
     o.location = "foo";
     o.memberCount = 42;
-    o.moderators = buildUnnamed150();
+    o.moderators = buildUnnamed153();
     o.name = "foo";
     o.owner = buildOrkutAuthorResource();
     o.photoUrl = "foo";
@@ -478,16 +478,16 @@
   buildCounterCommunity++;
   if (buildCounterCommunity < 3) {
     unittest.expect(o.category, unittest.equals('foo'));
-    checkUnnamed148(o.coOwners);
+    checkUnnamed151(o.coOwners);
     unittest.expect(o.creationDate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.language, unittest.equals('foo'));
-    checkUnnamed149(o.links);
+    checkUnnamed152(o.links);
     unittest.expect(o.location, unittest.equals('foo'));
     unittest.expect(o.memberCount, unittest.equals(42));
-    checkUnnamed150(o.moderators);
+    checkUnnamed153(o.moderators);
     unittest.expect(o.name, unittest.equals('foo'));
     checkOrkutAuthorResource(o.owner);
     unittest.expect(o.photoUrl, unittest.equals('foo'));
@@ -495,14 +495,14 @@
   buildCounterCommunity--;
 }
 
-buildUnnamed151() {
+buildUnnamed154() {
   var o = new core.List<api.Community>();
   o.add(buildCommunity());
   o.add(buildCommunity());
   return o;
 }
 
-checkUnnamed151(core.List<api.Community> o) {
+checkUnnamed154(core.List<api.Community> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunity(o[0]);
   checkCommunity(o[1]);
@@ -513,7 +513,7 @@
   var o = new api.CommunityList();
   buildCounterCommunityList++;
   if (buildCounterCommunityList < 3) {
-    o.items = buildUnnamed151();
+    o.items = buildUnnamed154();
     o.kind = "foo";
   }
   buildCounterCommunityList--;
@@ -523,7 +523,7 @@
 checkCommunityList(api.CommunityList o) {
   buildCounterCommunityList++;
   if (buildCounterCommunityList < 3) {
-    checkUnnamed151(o.items);
+    checkUnnamed154(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterCommunityList--;
@@ -552,14 +552,14 @@
   buildCounterCommunityMembers--;
 }
 
-buildUnnamed152() {
+buildUnnamed155() {
   var o = new core.List<api.CommunityMembers>();
   o.add(buildCommunityMembers());
   o.add(buildCommunityMembers());
   return o;
 }
 
-checkUnnamed152(core.List<api.CommunityMembers> o) {
+checkUnnamed155(core.List<api.CommunityMembers> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityMembers(o[0]);
   checkCommunityMembers(o[1]);
@@ -571,7 +571,7 @@
   buildCounterCommunityMembersList++;
   if (buildCounterCommunityMembersList < 3) {
     o.firstPageToken = "foo";
-    o.items = buildUnnamed152();
+    o.items = buildUnnamed155();
     o.kind = "foo";
     o.lastPageToken = "foo";
     o.nextPageToken = "foo";
@@ -585,7 +585,7 @@
   buildCounterCommunityMembersList++;
   if (buildCounterCommunityMembersList < 3) {
     unittest.expect(o.firstPageToken, unittest.equals('foo'));
-    checkUnnamed152(o.items);
+    checkUnnamed155(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastPageToken, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -633,14 +633,14 @@
   buildCounterCommunityMembershipStatus--;
 }
 
-buildUnnamed153() {
+buildUnnamed156() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed153(core.List<api.OrkutLinkResource> o) {
+checkUnnamed156(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
@@ -657,7 +657,7 @@
     o.id = "foo";
     o.isSpam = true;
     o.kind = "foo";
-    o.links = buildUnnamed153();
+    o.links = buildUnnamed156();
     o.subject = "foo";
   }
   buildCounterCommunityMessage--;
@@ -673,20 +673,20 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.isSpam, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed153(o.links);
+    checkUnnamed156(o.links);
     unittest.expect(o.subject, unittest.equals('foo'));
   }
   buildCounterCommunityMessage--;
 }
 
-buildUnnamed154() {
+buildUnnamed157() {
   var o = new core.List<api.CommunityMessage>();
   o.add(buildCommunityMessage());
   o.add(buildCommunityMessage());
   return o;
 }
 
-checkUnnamed154(core.List<api.CommunityMessage> o) {
+checkUnnamed157(core.List<api.CommunityMessage> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityMessage(o[0]);
   checkCommunityMessage(o[1]);
@@ -698,7 +698,7 @@
   buildCounterCommunityMessageList++;
   if (buildCounterCommunityMessageList < 3) {
     o.firstPageToken = "foo";
-    o.items = buildUnnamed154();
+    o.items = buildUnnamed157();
     o.kind = "foo";
     o.lastPageToken = "foo";
     o.nextPageToken = "foo";
@@ -712,7 +712,7 @@
   buildCounterCommunityMessageList++;
   if (buildCounterCommunityMessageList < 3) {
     unittest.expect(o.firstPageToken, unittest.equals('foo'));
-    checkUnnamed154(o.items);
+    checkUnnamed157(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastPageToken, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -740,40 +740,40 @@
   buildCounterCommunityPollImage--;
 }
 
-buildUnnamed155() {
+buildUnnamed158() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed155(core.List<api.OrkutLinkResource> o) {
+checkUnnamed158(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
 }
 
-buildUnnamed156() {
+buildUnnamed159() {
   var o = new core.List<api.OrkutCommunitypolloptionResource>();
   o.add(buildOrkutCommunitypolloptionResource());
   o.add(buildOrkutCommunitypolloptionResource());
   return o;
 }
 
-checkUnnamed156(core.List<api.OrkutCommunitypolloptionResource> o) {
+checkUnnamed159(core.List<api.OrkutCommunitypolloptionResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutCommunitypolloptionResource(o[0]);
   checkOrkutCommunitypolloptionResource(o[1]);
 }
 
-buildUnnamed157() {
+buildUnnamed160() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed157(core.List<core.int> o) {
+checkUnnamed160(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
@@ -801,11 +801,11 @@
     o.isVotingAllowedForNonMembers = true;
     o.kind = "foo";
     o.lastUpdate = core.DateTime.parse("2002-02-27T14:01:02");
-    o.links = buildUnnamed155();
-    o.options = buildUnnamed156();
+    o.links = buildUnnamed158();
+    o.options = buildUnnamed159();
     o.question = "foo";
     o.totalNumberOfVotes = 42;
-    o.votedOptions = buildUnnamed157();
+    o.votedOptions = buildUnnamed160();
   }
   buildCounterCommunityPoll--;
   return o;
@@ -831,11 +831,11 @@
     unittest.expect(o.isVotingAllowedForNonMembers, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastUpdate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed155(o.links);
-    checkUnnamed156(o.options);
+    checkUnnamed158(o.links);
+    checkUnnamed159(o.options);
     unittest.expect(o.question, unittest.equals('foo'));
     unittest.expect(o.totalNumberOfVotes, unittest.equals(42));
-    checkUnnamed157(o.votedOptions);
+    checkUnnamed160(o.votedOptions);
   }
   buildCounterCommunityPoll--;
 }
@@ -867,14 +867,14 @@
   buildCounterCommunityPollComment--;
 }
 
-buildUnnamed158() {
+buildUnnamed161() {
   var o = new core.List<api.CommunityPollComment>();
   o.add(buildCommunityPollComment());
   o.add(buildCommunityPollComment());
   return o;
 }
 
-checkUnnamed158(core.List<api.CommunityPollComment> o) {
+checkUnnamed161(core.List<api.CommunityPollComment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityPollComment(o[0]);
   checkCommunityPollComment(o[1]);
@@ -886,7 +886,7 @@
   buildCounterCommunityPollCommentList++;
   if (buildCounterCommunityPollCommentList < 3) {
     o.firstPageToken = "foo";
-    o.items = buildUnnamed158();
+    o.items = buildUnnamed161();
     o.kind = "foo";
     o.lastPageToken = "foo";
     o.nextPageToken = "foo";
@@ -900,7 +900,7 @@
   buildCounterCommunityPollCommentList++;
   if (buildCounterCommunityPollCommentList < 3) {
     unittest.expect(o.firstPageToken, unittest.equals('foo'));
-    checkUnnamed158(o.items);
+    checkUnnamed161(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastPageToken, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -909,14 +909,14 @@
   buildCounterCommunityPollCommentList--;
 }
 
-buildUnnamed159() {
+buildUnnamed162() {
   var o = new core.List<api.CommunityPoll>();
   o.add(buildCommunityPoll());
   o.add(buildCommunityPoll());
   return o;
 }
 
-checkUnnamed159(core.List<api.CommunityPoll> o) {
+checkUnnamed162(core.List<api.CommunityPoll> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityPoll(o[0]);
   checkCommunityPoll(o[1]);
@@ -928,7 +928,7 @@
   buildCounterCommunityPollList++;
   if (buildCounterCommunityPollList < 3) {
     o.firstPageToken = "foo";
-    o.items = buildUnnamed159();
+    o.items = buildUnnamed162();
     o.kind = "foo";
     o.lastPageToken = "foo";
     o.nextPageToken = "foo";
@@ -942,7 +942,7 @@
   buildCounterCommunityPollList++;
   if (buildCounterCommunityPollList < 3) {
     unittest.expect(o.firstPageToken, unittest.equals('foo'));
-    checkUnnamed159(o.items);
+    checkUnnamed162(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastPageToken, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -951,14 +951,14 @@
   buildCounterCommunityPollList--;
 }
 
-buildUnnamed160() {
+buildUnnamed163() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed160(core.List<core.int> o) {
+checkUnnamed163(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
@@ -971,7 +971,7 @@
   if (buildCounterCommunityPollVote < 3) {
     o.isVotevisible = true;
     o.kind = "foo";
-    o.optionIds = buildUnnamed160();
+    o.optionIds = buildUnnamed163();
   }
   buildCounterCommunityPollVote--;
   return o;
@@ -982,32 +982,32 @@
   if (buildCounterCommunityPollVote < 3) {
     unittest.expect(o.isVotevisible, unittest.isTrue);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed160(o.optionIds);
+    checkUnnamed163(o.optionIds);
   }
   buildCounterCommunityPollVote--;
 }
 
-buildUnnamed161() {
+buildUnnamed164() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed161(core.List<api.OrkutLinkResource> o) {
+checkUnnamed164(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
 }
 
-buildUnnamed162() {
+buildUnnamed165() {
   var o = new core.List<api.CommunityMessage>();
   o.add(buildCommunityMessage());
   o.add(buildCommunityMessage());
   return o;
 }
 
-checkUnnamed162(core.List<api.CommunityMessage> o) {
+checkUnnamed165(core.List<api.CommunityMessage> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityMessage(o[0]);
   checkCommunityMessage(o[1]);
@@ -1025,8 +1025,8 @@
     o.kind = "foo";
     o.lastUpdate = core.DateTime.parse("2002-02-27T14:01:02");
     o.latestMessageSnippet = "foo";
-    o.links = buildUnnamed161();
-    o.messages = buildUnnamed162();
+    o.links = buildUnnamed164();
+    o.messages = buildUnnamed165();
     o.numberOfReplies = 42;
     o.title = "foo";
   }
@@ -1044,22 +1044,22 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastUpdate, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.latestMessageSnippet, unittest.equals('foo'));
-    checkUnnamed161(o.links);
-    checkUnnamed162(o.messages);
+    checkUnnamed164(o.links);
+    checkUnnamed165(o.messages);
     unittest.expect(o.numberOfReplies, unittest.equals(42));
     unittest.expect(o.title, unittest.equals('foo'));
   }
   buildCounterCommunityTopic--;
 }
 
-buildUnnamed163() {
+buildUnnamed166() {
   var o = new core.List<api.CommunityTopic>();
   o.add(buildCommunityTopic());
   o.add(buildCommunityTopic());
   return o;
 }
 
-checkUnnamed163(core.List<api.CommunityTopic> o) {
+checkUnnamed166(core.List<api.CommunityTopic> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommunityTopic(o[0]);
   checkCommunityTopic(o[1]);
@@ -1071,7 +1071,7 @@
   buildCounterCommunityTopicList++;
   if (buildCounterCommunityTopicList < 3) {
     o.firstPageToken = "foo";
-    o.items = buildUnnamed163();
+    o.items = buildUnnamed166();
     o.kind = "foo";
     o.lastPageToken = "foo";
     o.nextPageToken = "foo";
@@ -1085,7 +1085,7 @@
   buildCounterCommunityTopicList++;
   if (buildCounterCommunityTopicList < 3) {
     unittest.expect(o.firstPageToken, unittest.equals('foo'));
-    checkUnnamed163(o.items);
+    checkUnnamed166(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastPageToken, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -1094,14 +1094,14 @@
   buildCounterCommunityTopicList--;
 }
 
-buildUnnamed164() {
+buildUnnamed167() {
   var o = new core.List<api.OrkutCounterResource>();
   o.add(buildOrkutCounterResource());
   o.add(buildOrkutCounterResource());
   return o;
 }
 
-checkUnnamed164(core.List<api.OrkutCounterResource> o) {
+checkUnnamed167(core.List<api.OrkutCounterResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutCounterResource(o[0]);
   checkOrkutCounterResource(o[1]);
@@ -1112,7 +1112,7 @@
   var o = new api.Counters();
   buildCounterCounters++;
   if (buildCounterCounters < 3) {
-    o.items = buildUnnamed164();
+    o.items = buildUnnamed167();
     o.kind = "foo";
   }
   buildCounterCounters--;
@@ -1122,20 +1122,20 @@
 checkCounters(api.Counters o) {
   buildCounterCounters++;
   if (buildCounterCounters < 3) {
-    checkUnnamed164(o.items);
+    checkUnnamed167(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterCounters--;
 }
 
-buildUnnamed165() {
+buildUnnamed168() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed165(core.List<api.OrkutLinkResource> o) {
+checkUnnamed168(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
@@ -1150,7 +1150,7 @@
     o.content = "foo";
     o.displayName = "foo";
     o.id = "foo";
-    o.links = buildUnnamed165();
+    o.links = buildUnnamed168();
     o.objectType = "foo";
     o.person = buildOrkutActivitypersonResource();
   }
@@ -1165,7 +1165,7 @@
     unittest.expect(o.content, unittest.equals('foo'));
     unittest.expect(o.displayName, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed165(o.links);
+    checkUnnamed168(o.links);
     unittest.expect(o.objectType, unittest.equals('foo'));
     checkOrkutActivitypersonResource(o.person);
   }
@@ -1377,14 +1377,14 @@
   buildCounterOrkutLinkResource--;
 }
 
-buildUnnamed166() {
+buildUnnamed169() {
   var o = new core.List<api.OrkutLinkResource>();
   o.add(buildOrkutLinkResource());
   o.add(buildOrkutLinkResource());
   return o;
 }
 
-checkUnnamed166(core.List<api.OrkutLinkResource> o) {
+checkUnnamed169(core.List<api.OrkutLinkResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOrkutLinkResource(o[0]);
   checkOrkutLinkResource(o[1]);
@@ -1396,7 +1396,7 @@
   buildCounterVisibility++;
   if (buildCounterVisibility < 3) {
     o.kind = "foo";
-    o.links = buildUnnamed166();
+    o.links = buildUnnamed169();
     o.visibility = "foo";
   }
   buildCounterVisibility--;
@@ -1407,7 +1407,7 @@
   buildCounterVisibility++;
   if (buildCounterVisibility < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed166(o.links);
+    checkUnnamed169(o.links);
     unittest.expect(o.visibility, unittest.equals('foo'));
   }
   buildCounterVisibility--;
@@ -1769,8 +1769,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/acl/", pathOffset);
@@ -1825,8 +1827,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1874,8 +1878,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/activities/", pathOffset);
@@ -1935,8 +1941,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/visibility", pathOffset);
@@ -1990,8 +1998,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/visibility", pathOffset);
@@ -2045,8 +2055,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/visibility", pathOffset);
@@ -2101,8 +2113,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/badges/", pathOffset);
@@ -2155,8 +2169,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/badges", pathOffset);
@@ -2210,8 +2226,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("comments/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2256,8 +2274,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("comments/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2308,8 +2328,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/comments", pathOffset);
@@ -2363,8 +2385,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/comments", pathOffset);
@@ -2423,8 +2447,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2474,8 +2500,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/communities", pathOffset);
@@ -2533,8 +2561,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/followers/", pathOffset);
@@ -2586,8 +2616,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/followers/", pathOffset);
@@ -2645,8 +2677,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/members/", pathOffset);
@@ -2699,8 +2733,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/members/", pathOffset);
@@ -2755,8 +2791,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/members/", pathOffset);
@@ -2813,8 +2851,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/members", pathOffset);
@@ -2874,8 +2914,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics/", pathOffset);
@@ -2938,8 +2980,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics/", pathOffset);
@@ -3000,8 +3044,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics/", pathOffset);
@@ -3070,8 +3116,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/polls/", pathOffset);
@@ -3132,8 +3180,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/polls/", pathOffset);
@@ -3202,8 +3252,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/polls/", pathOffset);
@@ -3266,8 +3318,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/polls/", pathOffset);
@@ -3324,8 +3378,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/polls", pathOffset);
@@ -3383,8 +3439,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/related", pathOffset);
@@ -3440,8 +3498,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics/", pathOffset);
@@ -3494,8 +3554,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics/", pathOffset);
@@ -3554,8 +3616,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics", pathOffset);
@@ -3609,8 +3673,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("communities/"));
         pathOffset += 12;
         index = path.indexOf("/topics", pathOffset);
@@ -3667,8 +3733,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/counters", pathOffset);
@@ -3725,8 +3793,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/orkut/v2/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("orkut/v2/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("activities/scraps"));
         pathOffset += 17;
 
diff --git a/generated/googleapis/test/pagespeedonline/v1_test.dart b/generated/googleapis/test/pagespeedonline/v1_test.dart
index e6f3dde..066590e 100644
--- a/generated/googleapis/test/pagespeedonline/v1_test.dart
+++ b/generated/googleapis/test/pagespeedonline/v1_test.dart
@@ -37,14 +37,14 @@
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs--;
 }
 
-buildUnnamed944() {
+buildUnnamed972() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs());
   return o;
 }
 
-checkUnnamed944(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs> o) {
+checkUnnamed972(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs(o[1]);
@@ -55,7 +55,7 @@
   var o = new api.ResultFormattedResultsRuleResultsValueUrlBlocksHeader();
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader < 3) {
-    o.args = buildUnnamed944();
+    o.args = buildUnnamed972();
     o.format = "foo";
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader--;
@@ -65,7 +65,7 @@
 checkResultFormattedResultsRuleResultsValueUrlBlocksHeader(api.ResultFormattedResultsRuleResultsValueUrlBlocksHeader o) {
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader < 3) {
-    checkUnnamed944(o.args);
+    checkUnnamed972(o.args);
     unittest.expect(o.format, unittest.equals('foo'));
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksHeader--;
@@ -92,14 +92,14 @@
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs--;
 }
 
-buildUnnamed945() {
+buildUnnamed973() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs());
   return o;
 }
 
-checkUnnamed945(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs> o) {
+checkUnnamed973(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs(o[1]);
@@ -110,7 +110,7 @@
   var o = new api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails();
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails < 3) {
-    o.args = buildUnnamed945();
+    o.args = buildUnnamed973();
     o.format = "foo";
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails--;
@@ -120,20 +120,20 @@
 checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails(api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails o) {
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails < 3) {
-    checkUnnamed945(o.args);
+    checkUnnamed973(o.args);
     unittest.expect(o.format, unittest.equals('foo'));
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails--;
 }
 
-buildUnnamed946() {
+buildUnnamed974() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails());
   return o;
 }
 
-checkUnnamed946(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails> o) {
+checkUnnamed974(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails(o[1]);
@@ -160,14 +160,14 @@
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs--;
 }
 
-buildUnnamed947() {
+buildUnnamed975() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs());
   return o;
 }
 
-checkUnnamed947(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs> o) {
+checkUnnamed975(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs(o[1]);
@@ -178,7 +178,7 @@
   var o = new api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult();
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult < 3) {
-    o.args = buildUnnamed947();
+    o.args = buildUnnamed975();
     o.format = "foo";
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult--;
@@ -188,7 +188,7 @@
 checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult(api.ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult o) {
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult < 3) {
-    checkUnnamed947(o.args);
+    checkUnnamed975(o.args);
     unittest.expect(o.format, unittest.equals('foo'));
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult--;
@@ -199,7 +199,7 @@
   var o = new api.ResultFormattedResultsRuleResultsValueUrlBlocksUrls();
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls < 3) {
-    o.details = buildUnnamed946();
+    o.details = buildUnnamed974();
     o.result = buildResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult();
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls--;
@@ -209,20 +209,20 @@
 checkResultFormattedResultsRuleResultsValueUrlBlocksUrls(api.ResultFormattedResultsRuleResultsValueUrlBlocksUrls o) {
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls < 3) {
-    checkUnnamed946(o.details);
+    checkUnnamed974(o.details);
     checkResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult(o.result);
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocksUrls--;
 }
 
-buildUnnamed948() {
+buildUnnamed976() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrls>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrls());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocksUrls());
   return o;
 }
 
-checkUnnamed948(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrls> o) {
+checkUnnamed976(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocksUrls> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrls(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocksUrls(o[1]);
@@ -234,7 +234,7 @@
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocks++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocks < 3) {
     o.header = buildResultFormattedResultsRuleResultsValueUrlBlocksHeader();
-    o.urls = buildUnnamed948();
+    o.urls = buildUnnamed976();
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocks--;
   return o;
@@ -244,19 +244,19 @@
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocks++;
   if (buildCounterResultFormattedResultsRuleResultsValueUrlBlocks < 3) {
     checkResultFormattedResultsRuleResultsValueUrlBlocksHeader(o.header);
-    checkUnnamed948(o.urls);
+    checkUnnamed976(o.urls);
   }
   buildCounterResultFormattedResultsRuleResultsValueUrlBlocks--;
 }
 
-buildUnnamed949() {
+buildUnnamed977() {
   var o = new core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocks>();
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocks());
   o.add(buildResultFormattedResultsRuleResultsValueUrlBlocks());
   return o;
 }
 
-checkUnnamed949(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocks> o) {
+checkUnnamed977(core.List<api.ResultFormattedResultsRuleResultsValueUrlBlocks> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValueUrlBlocks(o[0]);
   checkResultFormattedResultsRuleResultsValueUrlBlocks(o[1]);
@@ -269,7 +269,7 @@
   if (buildCounterResultFormattedResultsRuleResultsValue < 3) {
     o.localizedRuleName = "foo";
     o.ruleImpact = 42.0;
-    o.urlBlocks = buildUnnamed949();
+    o.urlBlocks = buildUnnamed977();
   }
   buildCounterResultFormattedResultsRuleResultsValue--;
   return o;
@@ -280,19 +280,19 @@
   if (buildCounterResultFormattedResultsRuleResultsValue < 3) {
     unittest.expect(o.localizedRuleName, unittest.equals('foo'));
     unittest.expect(o.ruleImpact, unittest.equals(42.0));
-    checkUnnamed949(o.urlBlocks);
+    checkUnnamed977(o.urlBlocks);
   }
   buildCounterResultFormattedResultsRuleResultsValue--;
 }
 
-buildUnnamed950() {
+buildUnnamed978() {
   var o = new core.Map<core.String, api.ResultFormattedResultsRuleResultsValue>();
   o["x"] = buildResultFormattedResultsRuleResultsValue();
   o["y"] = buildResultFormattedResultsRuleResultsValue();
   return o;
 }
 
-checkUnnamed950(core.Map<core.String, api.ResultFormattedResultsRuleResultsValue> o) {
+checkUnnamed978(core.Map<core.String, api.ResultFormattedResultsRuleResultsValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultFormattedResultsRuleResultsValue(o["x"]);
   checkResultFormattedResultsRuleResultsValue(o["y"]);
@@ -304,7 +304,7 @@
   buildCounterResultFormattedResults++;
   if (buildCounterResultFormattedResults < 3) {
     o.locale = "foo";
-    o.ruleResults = buildUnnamed950();
+    o.ruleResults = buildUnnamed978();
   }
   buildCounterResultFormattedResults--;
   return o;
@@ -314,19 +314,19 @@
   buildCounterResultFormattedResults++;
   if (buildCounterResultFormattedResults < 3) {
     unittest.expect(o.locale, unittest.equals('foo'));
-    checkUnnamed950(o.ruleResults);
+    checkUnnamed978(o.ruleResults);
   }
   buildCounterResultFormattedResults--;
 }
 
-buildUnnamed951() {
+buildUnnamed979() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed951(core.List<core.String> o) {
+checkUnnamed979(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -428,7 +428,7 @@
   if (buildCounterResult < 3) {
     o.formattedResults = buildResultFormattedResults();
     o.id = "foo";
-    o.invalidRules = buildUnnamed951();
+    o.invalidRules = buildUnnamed979();
     o.kind = "foo";
     o.pageStats = buildResultPageStats();
     o.responseCode = 42;
@@ -446,7 +446,7 @@
   if (buildCounterResult < 3) {
     checkResultFormattedResults(o.formattedResults);
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed951(o.invalidRules);
+    checkUnnamed979(o.invalidRules);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkResultPageStats(o.pageStats);
     unittest.expect(o.responseCode, unittest.equals(42));
@@ -458,14 +458,14 @@
   buildCounterResult--;
 }
 
-buildUnnamed952() {
+buildUnnamed980() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed952(core.List<core.String> o) {
+checkUnnamed980(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -607,7 +607,7 @@
       var arg_url = "foo";
       var arg_filterThirdPartyResources = true;
       var arg_locale = "foo";
-      var arg_rule = buildUnnamed952();
+      var arg_rule = buildUnnamed980();
       var arg_screenshot = true;
       var arg_strategy = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
@@ -615,8 +615,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/pagespeedonline/v1/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("pagespeedonline/v1/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("runPagespeed"));
         pathOffset += 12;
 
diff --git a/generated/googleapis/test/plus/v1_test.dart b/generated/googleapis/test/plus/v1_test.dart
index eb1782c..d8fdd7d 100644
--- a/generated/googleapis/test/plus/v1_test.dart
+++ b/generated/googleapis/test/plus/v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed167() {
+buildUnnamed170() {
   var o = new core.List<api.PlusAclentryResource>();
   o.add(buildPlusAclentryResource());
   o.add(buildPlusAclentryResource());
   return o;
 }
 
-checkUnnamed167(core.List<api.PlusAclentryResource> o) {
+checkUnnamed170(core.List<api.PlusAclentryResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPlusAclentryResource(o[0]);
   checkPlusAclentryResource(o[1]);
@@ -35,7 +35,7 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     o.description = "foo";
-    o.items = buildUnnamed167();
+    o.items = buildUnnamed170();
     o.kind = "foo";
   }
   buildCounterAcl--;
@@ -46,7 +46,7 @@
   buildCounterAcl++;
   if (buildCounterAcl < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed167(o.items);
+    checkUnnamed170(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAcl--;
@@ -282,14 +282,14 @@
   buildCounterActivityObjectAttachmentsThumbnails--;
 }
 
-buildUnnamed168() {
+buildUnnamed171() {
   var o = new core.List<api.ActivityObjectAttachmentsThumbnails>();
   o.add(buildActivityObjectAttachmentsThumbnails());
   o.add(buildActivityObjectAttachmentsThumbnails());
   return o;
 }
 
-checkUnnamed168(core.List<api.ActivityObjectAttachmentsThumbnails> o) {
+checkUnnamed171(core.List<api.ActivityObjectAttachmentsThumbnails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityObjectAttachmentsThumbnails(o[0]);
   checkActivityObjectAttachmentsThumbnails(o[1]);
@@ -307,7 +307,7 @@
     o.id = "foo";
     o.image = buildActivityObjectAttachmentsImage();
     o.objectType = "foo";
-    o.thumbnails = buildUnnamed168();
+    o.thumbnails = buildUnnamed171();
     o.url = "foo";
   }
   buildCounterActivityObjectAttachments--;
@@ -324,20 +324,20 @@
     unittest.expect(o.id, unittest.equals('foo'));
     checkActivityObjectAttachmentsImage(o.image);
     unittest.expect(o.objectType, unittest.equals('foo'));
-    checkUnnamed168(o.thumbnails);
+    checkUnnamed171(o.thumbnails);
     unittest.expect(o.url, unittest.equals('foo'));
   }
   buildCounterActivityObjectAttachments--;
 }
 
-buildUnnamed169() {
+buildUnnamed172() {
   var o = new core.List<api.ActivityObjectAttachments>();
   o.add(buildActivityObjectAttachments());
   o.add(buildActivityObjectAttachments());
   return o;
 }
 
-checkUnnamed169(core.List<api.ActivityObjectAttachments> o) {
+checkUnnamed172(core.List<api.ActivityObjectAttachments> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityObjectAttachments(o[0]);
   checkActivityObjectAttachments(o[1]);
@@ -412,7 +412,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     o.actor = buildActivityObjectActor();
-    o.attachments = buildUnnamed169();
+    o.attachments = buildUnnamed172();
     o.content = "foo";
     o.id = "foo";
     o.objectType = "foo";
@@ -430,7 +430,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     checkActivityObjectActor(o.actor);
-    checkUnnamed169(o.attachments);
+    checkUnnamed172(o.attachments);
     unittest.expect(o.content, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.objectType, unittest.equals('foo'));
@@ -519,14 +519,14 @@
   buildCounterActivity--;
 }
 
-buildUnnamed170() {
+buildUnnamed173() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed170(core.List<api.Activity> o) {
+checkUnnamed173(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -539,7 +539,7 @@
   if (buildCounterActivityFeed < 3) {
     o.etag = "foo";
     o.id = "foo";
-    o.items = buildUnnamed170();
+    o.items = buildUnnamed173();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -556,7 +556,7 @@
   if (buildCounterActivityFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed170(o.items);
+    checkUnnamed173(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -632,14 +632,14 @@
   buildCounterCommentInReplyTo--;
 }
 
-buildUnnamed171() {
+buildUnnamed174() {
   var o = new core.List<api.CommentInReplyTo>();
   o.add(buildCommentInReplyTo());
   o.add(buildCommentInReplyTo());
   return o;
 }
 
-checkUnnamed171(core.List<api.CommentInReplyTo> o) {
+checkUnnamed174(core.List<api.CommentInReplyTo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommentInReplyTo(o[0]);
   checkCommentInReplyTo(o[1]);
@@ -695,7 +695,7 @@
     o.actor = buildCommentActor();
     o.etag = "foo";
     o.id = "foo";
-    o.inReplyTo = buildUnnamed171();
+    o.inReplyTo = buildUnnamed174();
     o.kind = "foo";
     o.object = buildCommentObject();
     o.plusoners = buildCommentPlusoners();
@@ -714,7 +714,7 @@
     checkCommentActor(o.actor);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed171(o.inReplyTo);
+    checkUnnamed174(o.inReplyTo);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkCommentObject(o.object);
     checkCommentPlusoners(o.plusoners);
@@ -726,14 +726,14 @@
   buildCounterComment--;
 }
 
-buildUnnamed172() {
+buildUnnamed175() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed172(core.List<api.Comment> o) {
+checkUnnamed175(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -746,7 +746,7 @@
   if (buildCounterCommentFeed < 3) {
     o.etag = "foo";
     o.id = "foo";
-    o.items = buildUnnamed172();
+    o.items = buildUnnamed175();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -762,7 +762,7 @@
   if (buildCounterCommentFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed172(o.items);
+    checkUnnamed175(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -772,58 +772,19 @@
   buildCounterCommentFeed--;
 }
 
-buildUnnamed173() {
+buildUnnamed176() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed173(core.List<core.String> o) {
+checkUnnamed176(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed174() {
-  var o = new core.List<api.ItemScope>();
-  o.add(buildItemScope());
-  o.add(buildItemScope());
-  return o;
-}
-
-checkUnnamed174(core.List<api.ItemScope> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkItemScope(o[0]);
-  checkItemScope(o[1]);
-}
-
-buildUnnamed175() {
-  var o = new core.List<api.ItemScope>();
-  o.add(buildItemScope());
-  o.add(buildItemScope());
-  return o;
-}
-
-checkUnnamed175(core.List<api.ItemScope> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkItemScope(o[0]);
-  checkItemScope(o[1]);
-}
-
-buildUnnamed176() {
-  var o = new core.List<api.ItemScope>();
-  o.add(buildItemScope());
-  o.add(buildItemScope());
-  return o;
-}
-
-checkUnnamed176(core.List<api.ItemScope> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkItemScope(o[0]);
-  checkItemScope(o[1]);
-}
-
 buildUnnamed177() {
   var o = new core.List<api.ItemScope>();
   o.add(buildItemScope());
@@ -850,29 +811,68 @@
   checkItemScope(o[1]);
 }
 
+buildUnnamed179() {
+  var o = new core.List<api.ItemScope>();
+  o.add(buildItemScope());
+  o.add(buildItemScope());
+  return o;
+}
+
+checkUnnamed179(core.List<api.ItemScope> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkItemScope(o[0]);
+  checkItemScope(o[1]);
+}
+
+buildUnnamed180() {
+  var o = new core.List<api.ItemScope>();
+  o.add(buildItemScope());
+  o.add(buildItemScope());
+  return o;
+}
+
+checkUnnamed180(core.List<api.ItemScope> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkItemScope(o[0]);
+  checkItemScope(o[1]);
+}
+
+buildUnnamed181() {
+  var o = new core.List<api.ItemScope>();
+  o.add(buildItemScope());
+  o.add(buildItemScope());
+  return o;
+}
+
+checkUnnamed181(core.List<api.ItemScope> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkItemScope(o[0]);
+  checkItemScope(o[1]);
+}
+
 core.int buildCounterItemScope = 0;
 buildItemScope() {
   var o = new api.ItemScope();
   buildCounterItemScope++;
   if (buildCounterItemScope < 3) {
     o.about = buildItemScope();
-    o.additionalName = buildUnnamed173();
+    o.additionalName = buildUnnamed176();
     o.address = buildItemScope();
     o.addressCountry = "foo";
     o.addressLocality = "foo";
     o.addressRegion = "foo";
-    o.associatedMedia = buildUnnamed174();
+    o.associatedMedia = buildUnnamed177();
     o.attendeeCount = 42;
-    o.attendees = buildUnnamed175();
+    o.attendees = buildUnnamed178();
     o.audio = buildItemScope();
-    o.author = buildUnnamed176();
+    o.author = buildUnnamed179();
     o.bestRating = "foo";
     o.birthDate = "foo";
     o.byArtist = buildItemScope();
     o.caption = "foo";
     o.contentSize = "foo";
     o.contentUrl = "foo";
-    o.contributor = buildUnnamed177();
+    o.contributor = buildUnnamed180();
     o.dateCreated = "foo";
     o.dateModified = "foo";
     o.datePublished = "foo";
@@ -894,7 +894,7 @@
     o.longitude = 42.0;
     o.name = "foo";
     o.partOfTVSeries = buildItemScope();
-    o.performers = buildUnnamed178();
+    o.performers = buildUnnamed181();
     o.playerType = "foo";
     o.postOfficeBoxNumber = "foo";
     o.postalCode = "foo";
@@ -919,23 +919,23 @@
   buildCounterItemScope++;
   if (buildCounterItemScope < 3) {
     checkItemScope(o.about);
-    checkUnnamed173(o.additionalName);
+    checkUnnamed176(o.additionalName);
     checkItemScope(o.address);
     unittest.expect(o.addressCountry, unittest.equals('foo'));
     unittest.expect(o.addressLocality, unittest.equals('foo'));
     unittest.expect(o.addressRegion, unittest.equals('foo'));
-    checkUnnamed174(o.associatedMedia);
+    checkUnnamed177(o.associatedMedia);
     unittest.expect(o.attendeeCount, unittest.equals(42));
-    checkUnnamed175(o.attendees);
+    checkUnnamed178(o.attendees);
     checkItemScope(o.audio);
-    checkUnnamed176(o.author);
+    checkUnnamed179(o.author);
     unittest.expect(o.bestRating, unittest.equals('foo'));
     unittest.expect(o.birthDate, unittest.equals('foo'));
     checkItemScope(o.byArtist);
     unittest.expect(o.caption, unittest.equals('foo'));
     unittest.expect(o.contentSize, unittest.equals('foo'));
     unittest.expect(o.contentUrl, unittest.equals('foo'));
-    checkUnnamed177(o.contributor);
+    checkUnnamed180(o.contributor);
     unittest.expect(o.dateCreated, unittest.equals('foo'));
     unittest.expect(o.dateModified, unittest.equals('foo'));
     unittest.expect(o.datePublished, unittest.equals('foo'));
@@ -957,7 +957,7 @@
     unittest.expect(o.longitude, unittest.equals(42.0));
     unittest.expect(o.name, unittest.equals('foo'));
     checkItemScope(o.partOfTVSeries);
-    checkUnnamed178(o.performers);
+    checkUnnamed181(o.performers);
     unittest.expect(o.playerType, unittest.equals('foo'));
     unittest.expect(o.postOfficeBoxNumber, unittest.equals('foo'));
     unittest.expect(o.postalCode, unittest.equals('foo'));
@@ -1008,14 +1008,14 @@
   buildCounterMoment--;
 }
 
-buildUnnamed179() {
+buildUnnamed182() {
   var o = new core.List<api.Moment>();
   o.add(buildMoment());
   o.add(buildMoment());
   return o;
 }
 
-checkUnnamed179(core.List<api.Moment> o) {
+checkUnnamed182(core.List<api.Moment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMoment(o[0]);
   checkMoment(o[1]);
@@ -1027,7 +1027,7 @@
   buildCounterMomentsFeed++;
   if (buildCounterMomentsFeed < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed179();
+    o.items = buildUnnamed182();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -1043,7 +1043,7 @@
   buildCounterMomentsFeed++;
   if (buildCounterMomentsFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed179(o.items);
+    checkUnnamed182(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -1054,14 +1054,14 @@
   buildCounterMomentsFeed--;
 }
 
-buildUnnamed180() {
+buildUnnamed183() {
   var o = new core.List<api.Person>();
   o.add(buildPerson());
   o.add(buildPerson());
   return o;
 }
 
-checkUnnamed180(core.List<api.Person> o) {
+checkUnnamed183(core.List<api.Person> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPerson(o[0]);
   checkPerson(o[1]);
@@ -1073,7 +1073,7 @@
   buildCounterPeopleFeed++;
   if (buildCounterPeopleFeed < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed180();
+    o.items = buildUnnamed183();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1088,7 +1088,7 @@
   buildCounterPeopleFeed++;
   if (buildCounterPeopleFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed180(o.items);
+    checkUnnamed183(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1207,14 +1207,14 @@
   buildCounterPersonEmails--;
 }
 
-buildUnnamed181() {
+buildUnnamed184() {
   var o = new core.List<api.PersonEmails>();
   o.add(buildPersonEmails());
   o.add(buildPersonEmails());
   return o;
 }
 
-checkUnnamed181(core.List<api.PersonEmails> o) {
+checkUnnamed184(core.List<api.PersonEmails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonEmails(o[0]);
   checkPersonEmails(o[1]);
@@ -1305,14 +1305,14 @@
   buildCounterPersonOrganizations--;
 }
 
-buildUnnamed182() {
+buildUnnamed185() {
   var o = new core.List<api.PersonOrganizations>();
   o.add(buildPersonOrganizations());
   o.add(buildPersonOrganizations());
   return o;
 }
 
-checkUnnamed182(core.List<api.PersonOrganizations> o) {
+checkUnnamed185(core.List<api.PersonOrganizations> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonOrganizations(o[0]);
   checkPersonOrganizations(o[1]);
@@ -1339,14 +1339,14 @@
   buildCounterPersonPlacesLived--;
 }
 
-buildUnnamed183() {
+buildUnnamed186() {
   var o = new core.List<api.PersonPlacesLived>();
   o.add(buildPersonPlacesLived());
   o.add(buildPersonPlacesLived());
   return o;
 }
 
-checkUnnamed183(core.List<api.PersonPlacesLived> o) {
+checkUnnamed186(core.List<api.PersonPlacesLived> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonPlacesLived(o[0]);
   checkPersonPlacesLived(o[1]);
@@ -1375,14 +1375,14 @@
   buildCounterPersonUrls--;
 }
 
-buildUnnamed184() {
+buildUnnamed187() {
   var o = new core.List<api.PersonUrls>();
   o.add(buildPersonUrls());
   o.add(buildPersonUrls());
   return o;
 }
 
-checkUnnamed184(core.List<api.PersonUrls> o) {
+checkUnnamed187(core.List<api.PersonUrls> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonUrls(o[0]);
   checkPersonUrls(o[1]);
@@ -1402,7 +1402,7 @@
     o.currentLocation = "foo";
     o.displayName = "foo";
     o.domain = "foo";
-    o.emails = buildUnnamed181();
+    o.emails = buildUnnamed184();
     o.etag = "foo";
     o.gender = "foo";
     o.id = "foo";
@@ -1414,14 +1414,14 @@
     o.nickname = "foo";
     o.objectType = "foo";
     o.occupation = "foo";
-    o.organizations = buildUnnamed182();
-    o.placesLived = buildUnnamed183();
+    o.organizations = buildUnnamed185();
+    o.placesLived = buildUnnamed186();
     o.plusOneCount = 42;
     o.relationshipStatus = "foo";
     o.skills = "foo";
     o.tagline = "foo";
     o.url = "foo";
-    o.urls = buildUnnamed184();
+    o.urls = buildUnnamed187();
     o.verified = true;
   }
   buildCounterPerson--;
@@ -1440,7 +1440,7 @@
     unittest.expect(o.currentLocation, unittest.equals('foo'));
     unittest.expect(o.displayName, unittest.equals('foo'));
     unittest.expect(o.domain, unittest.equals('foo'));
-    checkUnnamed181(o.emails);
+    checkUnnamed184(o.emails);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.gender, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
@@ -1452,14 +1452,14 @@
     unittest.expect(o.nickname, unittest.equals('foo'));
     unittest.expect(o.objectType, unittest.equals('foo'));
     unittest.expect(o.occupation, unittest.equals('foo'));
-    checkUnnamed182(o.organizations);
-    checkUnnamed183(o.placesLived);
+    checkUnnamed185(o.organizations);
+    checkUnnamed186(o.placesLived);
     unittest.expect(o.plusOneCount, unittest.equals(42));
     unittest.expect(o.relationshipStatus, unittest.equals('foo'));
     unittest.expect(o.skills, unittest.equals('foo'));
     unittest.expect(o.tagline, unittest.equals('foo'));
     unittest.expect(o.url, unittest.equals('foo'));
-    checkUnnamed184(o.urls);
+    checkUnnamed187(o.urls);
     unittest.expect(o.verified, unittest.isTrue);
   }
   buildCounterPerson--;
@@ -1973,8 +1973,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2023,8 +2025,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/activities/", pathOffset);
@@ -2083,8 +2087,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("activities"));
         pathOffset += 10;
 
@@ -2136,8 +2142,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("comments/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2186,8 +2194,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/comments", pathOffset);
@@ -2250,8 +2260,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/moments/", pathOffset);
@@ -2310,8 +2322,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/moments/", pathOffset);
@@ -2368,8 +2382,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("moments/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2417,8 +2433,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2468,8 +2486,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/people/", pathOffset);
@@ -2528,8 +2548,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/people/", pathOffset);
@@ -2587,8 +2609,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/plus/v1/"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("plus/v1/"));
+        pathOffset += 8;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("people"));
         pathOffset += 6;
 
diff --git a/generated/googleapis/test/plusdomains/v1_test.dart b/generated/googleapis/test/plusdomains/v1_test.dart
index d77399d..690b693 100644
--- a/generated/googleapis/test/plusdomains/v1_test.dart
+++ b/generated/googleapis/test/plusdomains/v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed637() {
+buildUnnamed665() {
   var o = new core.List<api.PlusDomainsAclentryResource>();
   o.add(buildPlusDomainsAclentryResource());
   o.add(buildPlusDomainsAclentryResource());
   return o;
 }
 
-checkUnnamed637(core.List<api.PlusDomainsAclentryResource> o) {
+checkUnnamed665(core.List<api.PlusDomainsAclentryResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPlusDomainsAclentryResource(o[0]);
   checkPlusDomainsAclentryResource(o[1]);
@@ -36,7 +36,7 @@
   if (buildCounterAcl < 3) {
     o.description = "foo";
     o.domainRestricted = true;
-    o.items = buildUnnamed637();
+    o.items = buildUnnamed665();
     o.kind = "foo";
   }
   buildCounterAcl--;
@@ -48,7 +48,7 @@
   if (buildCounterAcl < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.domainRestricted, unittest.isTrue);
-    checkUnnamed637(o.items);
+    checkUnnamed665(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterAcl--;
@@ -255,14 +255,14 @@
   buildCounterActivityObjectAttachmentsPreviewThumbnails--;
 }
 
-buildUnnamed638() {
+buildUnnamed666() {
   var o = new core.List<api.ActivityObjectAttachmentsPreviewThumbnails>();
   o.add(buildActivityObjectAttachmentsPreviewThumbnails());
   o.add(buildActivityObjectAttachmentsPreviewThumbnails());
   return o;
 }
 
-checkUnnamed638(core.List<api.ActivityObjectAttachmentsPreviewThumbnails> o) {
+checkUnnamed666(core.List<api.ActivityObjectAttachmentsPreviewThumbnails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityObjectAttachmentsPreviewThumbnails(o[0]);
   checkActivityObjectAttachmentsPreviewThumbnails(o[1]);
@@ -316,14 +316,14 @@
   buildCounterActivityObjectAttachmentsThumbnails--;
 }
 
-buildUnnamed639() {
+buildUnnamed667() {
   var o = new core.List<api.ActivityObjectAttachmentsThumbnails>();
   o.add(buildActivityObjectAttachmentsThumbnails());
   o.add(buildActivityObjectAttachmentsThumbnails());
   return o;
 }
 
-checkUnnamed639(core.List<api.ActivityObjectAttachmentsThumbnails> o) {
+checkUnnamed667(core.List<api.ActivityObjectAttachmentsThumbnails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityObjectAttachmentsThumbnails(o[0]);
   checkActivityObjectAttachmentsThumbnails(o[1]);
@@ -341,8 +341,8 @@
     o.id = "foo";
     o.image = buildActivityObjectAttachmentsImage();
     o.objectType = "foo";
-    o.previewThumbnails = buildUnnamed638();
-    o.thumbnails = buildUnnamed639();
+    o.previewThumbnails = buildUnnamed666();
+    o.thumbnails = buildUnnamed667();
     o.url = "foo";
   }
   buildCounterActivityObjectAttachments--;
@@ -359,21 +359,21 @@
     unittest.expect(o.id, unittest.equals('foo'));
     checkActivityObjectAttachmentsImage(o.image);
     unittest.expect(o.objectType, unittest.equals('foo'));
-    checkUnnamed638(o.previewThumbnails);
-    checkUnnamed639(o.thumbnails);
+    checkUnnamed666(o.previewThumbnails);
+    checkUnnamed667(o.thumbnails);
     unittest.expect(o.url, unittest.equals('foo'));
   }
   buildCounterActivityObjectAttachments--;
 }
 
-buildUnnamed640() {
+buildUnnamed668() {
   var o = new core.List<api.ActivityObjectAttachments>();
   o.add(buildActivityObjectAttachments());
   o.add(buildActivityObjectAttachments());
   return o;
 }
 
-checkUnnamed640(core.List<api.ActivityObjectAttachments> o) {
+checkUnnamed668(core.List<api.ActivityObjectAttachments> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivityObjectAttachments(o[0]);
   checkActivityObjectAttachments(o[1]);
@@ -475,7 +475,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     o.actor = buildActivityObjectActor();
-    o.attachments = buildUnnamed640();
+    o.attachments = buildUnnamed668();
     o.content = "foo";
     o.id = "foo";
     o.objectType = "foo";
@@ -494,7 +494,7 @@
   buildCounterActivityObject++;
   if (buildCounterActivityObject < 3) {
     checkActivityObjectActor(o.actor);
-    checkUnnamed640(o.attachments);
+    checkUnnamed668(o.attachments);
     unittest.expect(o.content, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.objectType, unittest.equals('foo'));
@@ -584,14 +584,14 @@
   buildCounterActivity--;
 }
 
-buildUnnamed641() {
+buildUnnamed669() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed641(core.List<api.Activity> o) {
+checkUnnamed669(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -604,7 +604,7 @@
   if (buildCounterActivityFeed < 3) {
     o.etag = "foo";
     o.id = "foo";
-    o.items = buildUnnamed641();
+    o.items = buildUnnamed669();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -621,7 +621,7 @@
   if (buildCounterActivityFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed641(o.items);
+    checkUnnamed669(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -659,14 +659,14 @@
   buildCounterAudience--;
 }
 
-buildUnnamed642() {
+buildUnnamed670() {
   var o = new core.List<api.Audience>();
   o.add(buildAudience());
   o.add(buildAudience());
   return o;
 }
 
-checkUnnamed642(core.List<api.Audience> o) {
+checkUnnamed670(core.List<api.Audience> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAudience(o[0]);
   checkAudience(o[1]);
@@ -678,7 +678,7 @@
   buildCounterAudiencesFeed++;
   if (buildCounterAudiencesFeed < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed642();
+    o.items = buildUnnamed670();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.totalItems = 42;
@@ -691,7 +691,7 @@
   buildCounterAudiencesFeed++;
   if (buildCounterAudiencesFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed642(o.items);
+    checkUnnamed670(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.totalItems, unittest.equals(42));
@@ -749,14 +749,14 @@
   buildCounterCircle--;
 }
 
-buildUnnamed643() {
+buildUnnamed671() {
   var o = new core.List<api.Circle>();
   o.add(buildCircle());
   o.add(buildCircle());
   return o;
 }
 
-checkUnnamed643(core.List<api.Circle> o) {
+checkUnnamed671(core.List<api.Circle> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCircle(o[0]);
   checkCircle(o[1]);
@@ -768,7 +768,7 @@
   buildCounterCircleFeed++;
   if (buildCounterCircleFeed < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed643();
+    o.items = buildUnnamed671();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -784,7 +784,7 @@
   buildCounterCircleFeed++;
   if (buildCounterCircleFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed643(o.items);
+    checkUnnamed671(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -860,14 +860,14 @@
   buildCounterCommentInReplyTo--;
 }
 
-buildUnnamed644() {
+buildUnnamed672() {
   var o = new core.List<api.CommentInReplyTo>();
   o.add(buildCommentInReplyTo());
   o.add(buildCommentInReplyTo());
   return o;
 }
 
-checkUnnamed644(core.List<api.CommentInReplyTo> o) {
+checkUnnamed672(core.List<api.CommentInReplyTo> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCommentInReplyTo(o[0]);
   checkCommentInReplyTo(o[1]);
@@ -923,7 +923,7 @@
     o.actor = buildCommentActor();
     o.etag = "foo";
     o.id = "foo";
-    o.inReplyTo = buildUnnamed644();
+    o.inReplyTo = buildUnnamed672();
     o.kind = "foo";
     o.object = buildCommentObject();
     o.plusoners = buildCommentPlusoners();
@@ -942,7 +942,7 @@
     checkCommentActor(o.actor);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed644(o.inReplyTo);
+    checkUnnamed672(o.inReplyTo);
     unittest.expect(o.kind, unittest.equals('foo'));
     checkCommentObject(o.object);
     checkCommentPlusoners(o.plusoners);
@@ -954,14 +954,14 @@
   buildCounterComment--;
 }
 
-buildUnnamed645() {
+buildUnnamed673() {
   var o = new core.List<api.Comment>();
   o.add(buildComment());
   o.add(buildComment());
   return o;
 }
 
-checkUnnamed645(core.List<api.Comment> o) {
+checkUnnamed673(core.List<api.Comment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComment(o[0]);
   checkComment(o[1]);
@@ -974,7 +974,7 @@
   if (buildCounterCommentFeed < 3) {
     o.etag = "foo";
     o.id = "foo";
-    o.items = buildUnnamed645();
+    o.items = buildUnnamed673();
     o.kind = "foo";
     o.nextLink = "foo";
     o.nextPageToken = "foo";
@@ -990,7 +990,7 @@
   if (buildCounterCommentFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed645(o.items);
+    checkUnnamed673(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextLink, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -1063,14 +1063,14 @@
   buildCounterMediaExif--;
 }
 
-buildUnnamed646() {
+buildUnnamed674() {
   var o = new core.List<api.Videostream>();
   o.add(buildVideostream());
   o.add(buildVideostream());
   return o;
 }
 
-checkUnnamed646(core.List<api.Videostream> o) {
+checkUnnamed674(core.List<api.Videostream> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideostream(o[0]);
   checkVideostream(o[1]);
@@ -1092,7 +1092,7 @@
     o.mediaUrl = "foo";
     o.published = core.DateTime.parse("2002-02-27T14:01:02");
     o.sizeBytes = "foo";
-    o.streams = buildUnnamed646();
+    o.streams = buildUnnamed674();
     o.summary = "foo";
     o.updated = core.DateTime.parse("2002-02-27T14:01:02");
     o.url = "foo";
@@ -1118,7 +1118,7 @@
     unittest.expect(o.mediaUrl, unittest.equals('foo'));
     unittest.expect(o.published, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.sizeBytes, unittest.equals('foo'));
-    checkUnnamed646(o.streams);
+    checkUnnamed674(o.streams);
     unittest.expect(o.summary, unittest.equals('foo'));
     unittest.expect(o.updated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.url, unittest.equals('foo'));
@@ -1129,14 +1129,14 @@
   buildCounterMedia--;
 }
 
-buildUnnamed647() {
+buildUnnamed675() {
   var o = new core.List<api.Person>();
   o.add(buildPerson());
   o.add(buildPerson());
   return o;
 }
 
-checkUnnamed647(core.List<api.Person> o) {
+checkUnnamed675(core.List<api.Person> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPerson(o[0]);
   checkPerson(o[1]);
@@ -1148,7 +1148,7 @@
   buildCounterPeopleFeed++;
   if (buildCounterPeopleFeed < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed647();
+    o.items = buildUnnamed675();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -1163,7 +1163,7 @@
   buildCounterPeopleFeed++;
   if (buildCounterPeopleFeed < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed647(o.items);
+    checkUnnamed675(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -1261,14 +1261,14 @@
   buildCounterPersonEmails--;
 }
 
-buildUnnamed648() {
+buildUnnamed676() {
   var o = new core.List<api.PersonEmails>();
   o.add(buildPersonEmails());
   o.add(buildPersonEmails());
   return o;
 }
 
-checkUnnamed648(core.List<api.PersonEmails> o) {
+checkUnnamed676(core.List<api.PersonEmails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonEmails(o[0]);
   checkPersonEmails(o[1]);
@@ -1359,14 +1359,14 @@
   buildCounterPersonOrganizations--;
 }
 
-buildUnnamed649() {
+buildUnnamed677() {
   var o = new core.List<api.PersonOrganizations>();
   o.add(buildPersonOrganizations());
   o.add(buildPersonOrganizations());
   return o;
 }
 
-checkUnnamed649(core.List<api.PersonOrganizations> o) {
+checkUnnamed677(core.List<api.PersonOrganizations> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonOrganizations(o[0]);
   checkPersonOrganizations(o[1]);
@@ -1393,14 +1393,14 @@
   buildCounterPersonPlacesLived--;
 }
 
-buildUnnamed650() {
+buildUnnamed678() {
   var o = new core.List<api.PersonPlacesLived>();
   o.add(buildPersonPlacesLived());
   o.add(buildPersonPlacesLived());
   return o;
 }
 
-checkUnnamed650(core.List<api.PersonPlacesLived> o) {
+checkUnnamed678(core.List<api.PersonPlacesLived> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonPlacesLived(o[0]);
   checkPersonPlacesLived(o[1]);
@@ -1429,14 +1429,14 @@
   buildCounterPersonUrls--;
 }
 
-buildUnnamed651() {
+buildUnnamed679() {
   var o = new core.List<api.PersonUrls>();
   o.add(buildPersonUrls());
   o.add(buildPersonUrls());
   return o;
 }
 
-checkUnnamed651(core.List<api.PersonUrls> o) {
+checkUnnamed679(core.List<api.PersonUrls> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPersonUrls(o[0]);
   checkPersonUrls(o[1]);
@@ -1455,7 +1455,7 @@
     o.currentLocation = "foo";
     o.displayName = "foo";
     o.domain = "foo";
-    o.emails = buildUnnamed648();
+    o.emails = buildUnnamed676();
     o.etag = "foo";
     o.gender = "foo";
     o.id = "foo";
@@ -1466,14 +1466,14 @@
     o.nickname = "foo";
     o.objectType = "foo";
     o.occupation = "foo";
-    o.organizations = buildUnnamed649();
-    o.placesLived = buildUnnamed650();
+    o.organizations = buildUnnamed677();
+    o.placesLived = buildUnnamed678();
     o.plusOneCount = 42;
     o.relationshipStatus = "foo";
     o.skills = "foo";
     o.tagline = "foo";
     o.url = "foo";
-    o.urls = buildUnnamed651();
+    o.urls = buildUnnamed679();
     o.verified = true;
   }
   buildCounterPerson--;
@@ -1491,7 +1491,7 @@
     unittest.expect(o.currentLocation, unittest.equals('foo'));
     unittest.expect(o.displayName, unittest.equals('foo'));
     unittest.expect(o.domain, unittest.equals('foo'));
-    checkUnnamed648(o.emails);
+    checkUnnamed676(o.emails);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.gender, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
@@ -1502,14 +1502,14 @@
     unittest.expect(o.nickname, unittest.equals('foo'));
     unittest.expect(o.objectType, unittest.equals('foo'));
     unittest.expect(o.occupation, unittest.equals('foo'));
-    checkUnnamed649(o.organizations);
-    checkUnnamed650(o.placesLived);
+    checkUnnamed677(o.organizations);
+    checkUnnamed678(o.placesLived);
     unittest.expect(o.plusOneCount, unittest.equals(42));
     unittest.expect(o.relationshipStatus, unittest.equals('foo'));
     unittest.expect(o.skills, unittest.equals('foo'));
     unittest.expect(o.tagline, unittest.equals('foo'));
     unittest.expect(o.url, unittest.equals('foo'));
-    checkUnnamed651(o.urls);
+    checkUnnamed679(o.urls);
     unittest.expect(o.verified, unittest.isTrue);
   }
   buildCounterPerson--;
@@ -1630,53 +1630,53 @@
   buildCounterVideostream--;
 }
 
-buildUnnamed652() {
+buildUnnamed680() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed652(core.List<core.String> o) {
+checkUnnamed680(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed653() {
+buildUnnamed681() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed653(core.List<core.String> o) {
+checkUnnamed681(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed654() {
+buildUnnamed682() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed654(core.List<core.String> o) {
+checkUnnamed682(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed655() {
+buildUnnamed683() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed655(core.List<core.String> o) {
+checkUnnamed683(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2172,8 +2172,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2224,8 +2226,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/activities", pathOffset);
@@ -2279,8 +2283,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/activities/", pathOffset);
@@ -2341,8 +2347,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/audiences", pathOffset);
@@ -2393,15 +2401,17 @@
       var mock = new common_test.HttpServerMock();
       api.CirclesResourceApi res = new api.PlusDomainsApi(mock).circles;
       var arg_circleId = "foo";
-      var arg_email = buildUnnamed652();
-      var arg_userId = buildUnnamed653();
+      var arg_email = buildUnnamed680();
+      var arg_userId = buildUnnamed681();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         index = path.indexOf("/people", pathOffset);
@@ -2453,8 +2463,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2504,8 +2516,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/circles", pathOffset);
@@ -2557,8 +2571,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/circles", pathOffset);
@@ -2614,8 +2630,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2661,8 +2679,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2701,15 +2721,17 @@
       var mock = new common_test.HttpServerMock();
       api.CirclesResourceApi res = new api.PlusDomainsApi(mock).circles;
       var arg_circleId = "foo";
-      var arg_email = buildUnnamed654();
-      var arg_userId = buildUnnamed655();
+      var arg_email = buildUnnamed682();
+      var arg_userId = buildUnnamed683();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         index = path.indexOf("/people", pathOffset);
@@ -2763,8 +2785,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2814,8 +2838,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("comments/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2865,8 +2891,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/comments", pathOffset);
@@ -2919,8 +2947,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/comments", pathOffset);
@@ -2984,8 +3014,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/media/", pathOffset);
@@ -3042,8 +3074,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3093,8 +3127,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("people/"));
         pathOffset += 7;
         index = path.indexOf("/people/", pathOffset);
@@ -3153,8 +3189,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("activities/"));
         pathOffset += 11;
         index = path.indexOf("/people/", pathOffset);
@@ -3211,8 +3249,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/plusDomains/v1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("plusDomains/v1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("circles/"));
         pathOffset += 8;
         index = path.indexOf("/people", pathOffset);
diff --git a/generated/googleapis/test/prediction/v1_6_test.dart b/generated/googleapis/test/prediction/v1_6_test.dart
index 184f97d..4f0e790 100644
--- a/generated/googleapis/test/prediction/v1_6_test.dart
+++ b/generated/googleapis/test/prediction/v1_6_test.dart
@@ -37,14 +37,14 @@
   buildCounterAnalyzeDataDescriptionFeaturesCategoricalValues--;
 }
 
-buildUnnamed765() {
+buildUnnamed793() {
   var o = new core.List<api.AnalyzeDataDescriptionFeaturesCategoricalValues>();
   o.add(buildAnalyzeDataDescriptionFeaturesCategoricalValues());
   o.add(buildAnalyzeDataDescriptionFeaturesCategoricalValues());
   return o;
 }
 
-checkUnnamed765(core.List<api.AnalyzeDataDescriptionFeaturesCategoricalValues> o) {
+checkUnnamed793(core.List<api.AnalyzeDataDescriptionFeaturesCategoricalValues> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnalyzeDataDescriptionFeaturesCategoricalValues(o[0]);
   checkAnalyzeDataDescriptionFeaturesCategoricalValues(o[1]);
@@ -56,7 +56,7 @@
   buildCounterAnalyzeDataDescriptionFeaturesCategorical++;
   if (buildCounterAnalyzeDataDescriptionFeaturesCategorical < 3) {
     o.count = "foo";
-    o.values = buildUnnamed765();
+    o.values = buildUnnamed793();
   }
   buildCounterAnalyzeDataDescriptionFeaturesCategorical--;
   return o;
@@ -66,7 +66,7 @@
   buildCounterAnalyzeDataDescriptionFeaturesCategorical++;
   if (buildCounterAnalyzeDataDescriptionFeaturesCategorical < 3) {
     unittest.expect(o.count, unittest.equals('foo'));
-    checkUnnamed765(o.values);
+    checkUnnamed793(o.values);
   }
   buildCounterAnalyzeDataDescriptionFeaturesCategorical--;
 }
@@ -138,14 +138,14 @@
   buildCounterAnalyzeDataDescriptionFeatures--;
 }
 
-buildUnnamed766() {
+buildUnnamed794() {
   var o = new core.List<api.AnalyzeDataDescriptionFeatures>();
   o.add(buildAnalyzeDataDescriptionFeatures());
   o.add(buildAnalyzeDataDescriptionFeatures());
   return o;
 }
 
-checkUnnamed766(core.List<api.AnalyzeDataDescriptionFeatures> o) {
+checkUnnamed794(core.List<api.AnalyzeDataDescriptionFeatures> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnalyzeDataDescriptionFeatures(o[0]);
   checkAnalyzeDataDescriptionFeatures(o[1]);
@@ -195,14 +195,14 @@
   buildCounterAnalyzeDataDescriptionOutputFeatureText--;
 }
 
-buildUnnamed767() {
+buildUnnamed795() {
   var o = new core.List<api.AnalyzeDataDescriptionOutputFeatureText>();
   o.add(buildAnalyzeDataDescriptionOutputFeatureText());
   o.add(buildAnalyzeDataDescriptionOutputFeatureText());
   return o;
 }
 
-checkUnnamed767(core.List<api.AnalyzeDataDescriptionOutputFeatureText> o) {
+checkUnnamed795(core.List<api.AnalyzeDataDescriptionOutputFeatureText> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAnalyzeDataDescriptionOutputFeatureText(o[0]);
   checkAnalyzeDataDescriptionOutputFeatureText(o[1]);
@@ -214,7 +214,7 @@
   buildCounterAnalyzeDataDescriptionOutputFeature++;
   if (buildCounterAnalyzeDataDescriptionOutputFeature < 3) {
     o.numeric = buildAnalyzeDataDescriptionOutputFeatureNumeric();
-    o.text = buildUnnamed767();
+    o.text = buildUnnamed795();
   }
   buildCounterAnalyzeDataDescriptionOutputFeature--;
   return o;
@@ -224,7 +224,7 @@
   buildCounterAnalyzeDataDescriptionOutputFeature++;
   if (buildCounterAnalyzeDataDescriptionOutputFeature < 3) {
     checkAnalyzeDataDescriptionOutputFeatureNumeric(o.numeric);
-    checkUnnamed767(o.text);
+    checkUnnamed795(o.text);
   }
   buildCounterAnalyzeDataDescriptionOutputFeature--;
 }
@@ -234,7 +234,7 @@
   var o = new api.AnalyzeDataDescription();
   buildCounterAnalyzeDataDescription++;
   if (buildCounterAnalyzeDataDescription < 3) {
-    o.features = buildUnnamed766();
+    o.features = buildUnnamed794();
     o.outputFeature = buildAnalyzeDataDescriptionOutputFeature();
   }
   buildCounterAnalyzeDataDescription--;
@@ -244,72 +244,72 @@
 checkAnalyzeDataDescription(api.AnalyzeDataDescription o) {
   buildCounterAnalyzeDataDescription++;
   if (buildCounterAnalyzeDataDescription < 3) {
-    checkUnnamed766(o.features);
+    checkUnnamed794(o.features);
     checkAnalyzeDataDescriptionOutputFeature(o.outputFeature);
   }
   buildCounterAnalyzeDataDescription--;
 }
 
-buildUnnamed768() {
+buildUnnamed796() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed768(core.Map<core.String, core.String> o) {
+checkUnnamed796(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
 }
 
-buildUnnamed769() {
+buildUnnamed797() {
   var o = new core.List<core.Map<core.String, core.String>>();
-  o.add(buildUnnamed768());
-  o.add(buildUnnamed768());
+  o.add(buildUnnamed796());
+  o.add(buildUnnamed796());
   return o;
 }
 
-checkUnnamed769(core.List<core.Map<core.String, core.String>> o) {
+checkUnnamed797(core.List<core.Map<core.String, core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed768(o[0]);
-  checkUnnamed768(o[1]);
+  checkUnnamed796(o[0]);
+  checkUnnamed796(o[1]);
 }
 
-buildUnnamed770() {
+buildUnnamed798() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed770(core.Map<core.String, core.String> o) {
+checkUnnamed798(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
 }
 
-buildUnnamed771() {
+buildUnnamed799() {
   var o = new core.Map<core.String, core.Map<core.String, core.String>>();
-  o["x"] = buildUnnamed770();
-  o["y"] = buildUnnamed770();
+  o["x"] = buildUnnamed798();
+  o["y"] = buildUnnamed798();
   return o;
 }
 
-checkUnnamed771(core.Map<core.String, core.Map<core.String, core.String>> o) {
+checkUnnamed799(core.Map<core.String, core.Map<core.String, core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed770(o["x"]);
-  checkUnnamed770(o["y"]);
+  checkUnnamed798(o["x"]);
+  checkUnnamed798(o["y"]);
 }
 
-buildUnnamed772() {
+buildUnnamed800() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed772(core.Map<core.String, core.String> o) {
+checkUnnamed800(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -320,8 +320,8 @@
   var o = new api.AnalyzeModelDescription();
   buildCounterAnalyzeModelDescription++;
   if (buildCounterAnalyzeModelDescription < 3) {
-    o.confusionMatrix = buildUnnamed771();
-    o.confusionMatrixRowTotals = buildUnnamed772();
+    o.confusionMatrix = buildUnnamed799();
+    o.confusionMatrixRowTotals = buildUnnamed800();
     o.modelinfo = buildInsert2();
   }
   buildCounterAnalyzeModelDescription--;
@@ -331,8 +331,8 @@
 checkAnalyzeModelDescription(api.AnalyzeModelDescription o) {
   buildCounterAnalyzeModelDescription++;
   if (buildCounterAnalyzeModelDescription < 3) {
-    checkUnnamed771(o.confusionMatrix);
-    checkUnnamed772(o.confusionMatrixRowTotals);
+    checkUnnamed799(o.confusionMatrix);
+    checkUnnamed800(o.confusionMatrixRowTotals);
     checkInsert2(o.modelinfo);
   }
   buildCounterAnalyzeModelDescription--;
@@ -344,7 +344,7 @@
   buildCounterAnalyze++;
   if (buildCounterAnalyze < 3) {
     o.dataDescription = buildAnalyzeDataDescription();
-    o.errors = buildUnnamed769();
+    o.errors = buildUnnamed797();
     o.id = "foo";
     o.kind = "foo";
     o.modelDescription = buildAnalyzeModelDescription();
@@ -358,7 +358,7 @@
   buildCounterAnalyze++;
   if (buildCounterAnalyze < 3) {
     checkAnalyzeDataDescription(o.dataDescription);
-    checkUnnamed769(o.errors);
+    checkUnnamed797(o.errors);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     checkAnalyzeModelDescription(o.modelDescription);
@@ -367,14 +367,14 @@
   buildCounterAnalyze--;
 }
 
-buildUnnamed773() {
+buildUnnamed801() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed773(core.List<core.Object> o) {
+checkUnnamed801(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
@@ -385,7 +385,7 @@
   var o = new api.InputInput();
   buildCounterInputInput++;
   if (buildCounterInputInput < 3) {
-    o.csvInstance = buildUnnamed773();
+    o.csvInstance = buildUnnamed801();
   }
   buildCounterInputInput--;
   return o;
@@ -394,7 +394,7 @@
 checkInputInput(api.InputInput o) {
   buildCounterInputInput++;
   if (buildCounterInputInput < 3) {
-    checkUnnamed773(o.csvInstance);
+    checkUnnamed801(o.csvInstance);
   }
   buildCounterInputInput--;
 }
@@ -418,14 +418,14 @@
   buildCounterInput--;
 }
 
-buildUnnamed774() {
+buildUnnamed802() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed774(core.List<core.Object> o) {
+checkUnnamed802(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted3 = (o[0]) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); unittest.expect(casted3["list"], unittest.equals([1, 2, 3])); unittest.expect(casted3["bool"], unittest.equals(true)); unittest.expect(casted3["string"], unittest.equals('foo')); 
   var casted4 = (o[1]) as core.Map; unittest.expect(casted4, unittest.hasLength(3)); unittest.expect(casted4["list"], unittest.equals([1, 2, 3])); unittest.expect(casted4["bool"], unittest.equals(true)); unittest.expect(casted4["string"], unittest.equals('foo')); 
@@ -436,7 +436,7 @@
   var o = new api.InsertTrainingInstances();
   buildCounterInsertTrainingInstances++;
   if (buildCounterInsertTrainingInstances < 3) {
-    o.csvInstance = buildUnnamed774();
+    o.csvInstance = buildUnnamed802();
     o.output = "foo";
   }
   buildCounterInsertTrainingInstances--;
@@ -446,49 +446,49 @@
 checkInsertTrainingInstances(api.InsertTrainingInstances o) {
   buildCounterInsertTrainingInstances++;
   if (buildCounterInsertTrainingInstances < 3) {
-    checkUnnamed774(o.csvInstance);
+    checkUnnamed802(o.csvInstance);
     unittest.expect(o.output, unittest.equals('foo'));
   }
   buildCounterInsertTrainingInstances--;
 }
 
-buildUnnamed775() {
+buildUnnamed803() {
   var o = new core.List<api.InsertTrainingInstances>();
   o.add(buildInsertTrainingInstances());
   o.add(buildInsertTrainingInstances());
   return o;
 }
 
-checkUnnamed775(core.List<api.InsertTrainingInstances> o) {
+checkUnnamed803(core.List<api.InsertTrainingInstances> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInsertTrainingInstances(o[0]);
   checkInsertTrainingInstances(o[1]);
 }
 
-buildUnnamed776() {
+buildUnnamed804() {
   var o = new core.Map<core.String, core.double>();
   o["x"] = 42.0;
   o["y"] = 42.0;
   return o;
 }
 
-checkUnnamed776(core.Map<core.String, core.double> o) {
+checkUnnamed804(core.Map<core.String, core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals(42.0));
   unittest.expect(o["y"], unittest.equals(42.0));
 }
 
-buildUnnamed777() {
+buildUnnamed805() {
   var o = new core.List<core.Map<core.String, core.double>>();
-  o.add(buildUnnamed776());
-  o.add(buildUnnamed776());
+  o.add(buildUnnamed804());
+  o.add(buildUnnamed804());
   return o;
 }
 
-checkUnnamed777(core.List<core.Map<core.String, core.double>> o) {
+checkUnnamed805(core.List<core.Map<core.String, core.double>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed776(o[0]);
-  checkUnnamed776(o[1]);
+  checkUnnamed804(o[0]);
+  checkUnnamed804(o[1]);
 }
 
 core.int buildCounterInsert = 0;
@@ -502,8 +502,8 @@
     o.storageDataLocation = "foo";
     o.storagePMMLLocation = "foo";
     o.storagePMMLModelLocation = "foo";
-    o.trainingInstances = buildUnnamed775();
-    o.utility = buildUnnamed777();
+    o.trainingInstances = buildUnnamed803();
+    o.utility = buildUnnamed805();
   }
   buildCounterInsert--;
   return o;
@@ -518,8 +518,8 @@
     unittest.expect(o.storageDataLocation, unittest.equals('foo'));
     unittest.expect(o.storagePMMLLocation, unittest.equals('foo'));
     unittest.expect(o.storagePMMLModelLocation, unittest.equals('foo'));
-    checkUnnamed775(o.trainingInstances);
-    checkUnnamed777(o.utility);
+    checkUnnamed803(o.trainingInstances);
+    checkUnnamed805(o.utility);
   }
   buildCounterInsert--;
 }
@@ -592,14 +592,14 @@
   buildCounterInsert2--;
 }
 
-buildUnnamed778() {
+buildUnnamed806() {
   var o = new core.List<api.Insert2>();
   o.add(buildInsert2());
   o.add(buildInsert2());
   return o;
 }
 
-checkUnnamed778(core.List<api.Insert2> o) {
+checkUnnamed806(core.List<api.Insert2> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInsert2(o[0]);
   checkInsert2(o[1]);
@@ -610,7 +610,7 @@
   var o = new api.List();
   buildCounterList++;
   if (buildCounterList < 3) {
-    o.items = buildUnnamed778();
+    o.items = buildUnnamed806();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -622,7 +622,7 @@
 checkList(api.List o) {
   buildCounterList++;
   if (buildCounterList < 3) {
-    checkUnnamed778(o.items);
+    checkUnnamed806(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -651,14 +651,14 @@
   buildCounterOutputOutputMulti--;
 }
 
-buildUnnamed779() {
+buildUnnamed807() {
   var o = new core.List<api.OutputOutputMulti>();
   o.add(buildOutputOutputMulti());
   o.add(buildOutputOutputMulti());
   return o;
 }
 
-checkUnnamed779(core.List<api.OutputOutputMulti> o) {
+checkUnnamed807(core.List<api.OutputOutputMulti> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOutputOutputMulti(o[0]);
   checkOutputOutputMulti(o[1]);
@@ -672,8 +672,8 @@
     o.id = "foo";
     o.kind = "foo";
     o.outputLabel = "foo";
-    o.outputMulti = buildUnnamed779();
-    o.outputValue = 42.0;
+    o.outputMulti = buildUnnamed807();
+    o.outputValue = "foo";
     o.selfLink = "foo";
   }
   buildCounterOutput--;
@@ -686,21 +686,21 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.outputLabel, unittest.equals('foo'));
-    checkUnnamed779(o.outputMulti);
-    unittest.expect(o.outputValue, unittest.equals(42.0));
+    checkUnnamed807(o.outputMulti);
+    unittest.expect(o.outputValue, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
   }
   buildCounterOutput--;
 }
 
-buildUnnamed780() {
+buildUnnamed808() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed780(core.List<core.Object> o) {
+checkUnnamed808(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted5 = (o[0]) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect(casted5["list"], unittest.equals([1, 2, 3])); unittest.expect(casted5["bool"], unittest.equals(true)); unittest.expect(casted5["string"], unittest.equals('foo')); 
   var casted6 = (o[1]) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); unittest.expect(casted6["list"], unittest.equals([1, 2, 3])); unittest.expect(casted6["bool"], unittest.equals(true)); unittest.expect(casted6["string"], unittest.equals('foo')); 
@@ -711,7 +711,7 @@
   var o = new api.Update();
   buildCounterUpdate++;
   if (buildCounterUpdate < 3) {
-    o.csvInstance = buildUnnamed780();
+    o.csvInstance = buildUnnamed808();
     o.output = "foo";
   }
   buildCounterUpdate--;
@@ -721,7 +721,7 @@
 checkUpdate(api.Update o) {
   buildCounterUpdate++;
   if (buildCounterUpdate < 3) {
-    checkUnnamed780(o.csvInstance);
+    checkUnnamed808(o.csvInstance);
     unittest.expect(o.output, unittest.equals('foo'));
   }
   buildCounterUpdate--;
@@ -934,22 +934,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/hostedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/hostedmodels/"));
-        pathOffset += 14;
-        index = path.indexOf("/predict", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_hostedModelName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/predict"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -995,22 +981,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/trainedmodels/"));
-        pathOffset += 15;
-        index = path.indexOf("/analyze", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/analyze"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1052,18 +1024,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/trainedmodels/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1103,18 +1065,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/trainedmodels/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1159,15 +1111,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/trainedmodels"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1210,15 +1155,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/list", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("/trainedmodels/list"));
-        pathOffset += 19;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1266,22 +1204,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/trainedmodels/"));
-        pathOffset += 15;
-        index = path.indexOf("/predict", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/predict"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1327,18 +1251,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/prediction/v1.6/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/trainedmodels/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/trainedmodels/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_id"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis/test/qpxexpress/v1_test.dart b/generated/googleapis/test/qpxexpress/v1_test.dart
index 465ca75..daea4bc 100644
--- a/generated/googleapis/test/qpxexpress/v1_test.dart
+++ b/generated/googleapis/test/qpxexpress/v1_test.dart
@@ -1173,8 +1173,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/qpxExpress/v1/trips/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("qpxExpress/v1/trips/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("search"));
         pathOffset += 6;
 
diff --git a/generated/googleapis/test/reseller/v1_test.dart b/generated/googleapis/test/reseller/v1_test.dart
index 3919a86..8045341 100644
--- a/generated/googleapis/test/reseller/v1_test.dart
+++ b/generated/googleapis/test/reseller/v1_test.dart
@@ -282,14 +282,14 @@
   buildCounterSubscription--;
 }
 
-buildUnnamed932() {
+buildUnnamed960() {
   var o = new core.List<api.Subscription>();
   o.add(buildSubscription());
   o.add(buildSubscription());
   return o;
 }
 
-checkUnnamed932(core.List<api.Subscription> o) {
+checkUnnamed960(core.List<api.Subscription> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSubscription(o[0]);
   checkSubscription(o[1]);
@@ -302,7 +302,7 @@
   if (buildCounterSubscriptions < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.subscriptions = buildUnnamed932();
+    o.subscriptions = buildUnnamed960();
   }
   buildCounterSubscriptions--;
   return o;
@@ -313,7 +313,7 @@
   if (buildCounterSubscriptions < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed932(o.subscriptions);
+    checkUnnamed960(o.subscriptions);
   }
   buildCounterSubscriptions--;
 }
@@ -430,8 +430,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -481,8 +483,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("customers"));
         pathOffset += 9;
 
@@ -530,8 +534,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -581,8 +587,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -637,8 +645,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
@@ -700,8 +710,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
@@ -763,8 +775,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
@@ -823,8 +837,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
@@ -877,8 +893,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
@@ -936,8 +954,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions", pathOffset);
@@ -992,8 +1012,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -1042,8 +1064,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/apps/reseller/v1/"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("apps/reseller/v1/"));
+        pathOffset += 17;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("customers/"));
         pathOffset += 10;
         index = path.indexOf("/subscriptions/", pathOffset);
diff --git a/generated/googleapis/test/siteverification/v1_test.dart b/generated/googleapis/test/siteverification/v1_test.dart
index 4d847be..4373116 100644
--- a/generated/googleapis/test/siteverification/v1_test.dart
+++ b/generated/googleapis/test/siteverification/v1_test.dart
@@ -79,14 +79,14 @@
   buildCounterSiteVerificationWebResourceGettokenResponse--;
 }
 
-buildUnnamed185() {
+buildUnnamed188() {
   var o = new core.List<api.SiteVerificationWebResourceResource>();
   o.add(buildSiteVerificationWebResourceResource());
   o.add(buildSiteVerificationWebResourceResource());
   return o;
 }
 
-checkUnnamed185(core.List<api.SiteVerificationWebResourceResource> o) {
+checkUnnamed188(core.List<api.SiteVerificationWebResourceResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSiteVerificationWebResourceResource(o[0]);
   checkSiteVerificationWebResourceResource(o[1]);
@@ -97,7 +97,7 @@
   var o = new api.SiteVerificationWebResourceListResponse();
   buildCounterSiteVerificationWebResourceListResponse++;
   if (buildCounterSiteVerificationWebResourceListResponse < 3) {
-    o.items = buildUnnamed185();
+    o.items = buildUnnamed188();
   }
   buildCounterSiteVerificationWebResourceListResponse--;
   return o;
@@ -106,19 +106,19 @@
 checkSiteVerificationWebResourceListResponse(api.SiteVerificationWebResourceListResponse o) {
   buildCounterSiteVerificationWebResourceListResponse++;
   if (buildCounterSiteVerificationWebResourceListResponse < 3) {
-    checkUnnamed185(o.items);
+    checkUnnamed188(o.items);
   }
   buildCounterSiteVerificationWebResourceListResponse--;
 }
 
-buildUnnamed186() {
+buildUnnamed189() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed186(core.List<core.String> o) {
+checkUnnamed189(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -151,7 +151,7 @@
   buildCounterSiteVerificationWebResourceResource++;
   if (buildCounterSiteVerificationWebResourceResource < 3) {
     o.id = "foo";
-    o.owners = buildUnnamed186();
+    o.owners = buildUnnamed189();
     o.site = buildSiteVerificationWebResourceResourceSite();
   }
   buildCounterSiteVerificationWebResourceResource--;
@@ -162,7 +162,7 @@
   buildCounterSiteVerificationWebResourceResource++;
   if (buildCounterSiteVerificationWebResourceResource < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed186(o.owners);
+    checkUnnamed189(o.owners);
     checkSiteVerificationWebResourceResourceSite(o.site);
   }
   buildCounterSiteVerificationWebResourceResource--;
@@ -235,8 +235,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("webResource/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -280,8 +282,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("webResource/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -330,8 +334,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("token"));
         pathOffset += 5;
 
@@ -378,8 +384,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("webResource"));
         pathOffset += 11;
 
@@ -422,8 +430,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("webResource"));
         pathOffset += 11;
 
@@ -470,8 +480,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("webResource/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -521,8 +533,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("/siteVerification/v1/"));
-        pathOffset += 21;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("siteVerification/v1/"));
+        pathOffset += 20;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("webResource/"));
         pathOffset += 12;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
diff --git a/generated/googleapis/test/storage/v1_test.dart b/generated/googleapis/test/storage/v1_test.dart
index 257a7fe..078671d 100644
--- a/generated/googleapis/test/storage/v1_test.dart
+++ b/generated/googleapis/test/storage/v1_test.dart
@@ -16,53 +16,53 @@
 
 
 
-buildUnnamed482() {
+buildUnnamed510() {
   var o = new core.List<api.BucketAccessControl>();
   o.add(buildBucketAccessControl());
   o.add(buildBucketAccessControl());
   return o;
 }
 
-checkUnnamed482(core.List<api.BucketAccessControl> o) {
+checkUnnamed510(core.List<api.BucketAccessControl> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucketAccessControl(o[0]);
   checkBucketAccessControl(o[1]);
 }
 
-buildUnnamed483() {
+buildUnnamed511() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed483(core.List<core.String> o) {
+checkUnnamed511(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed484() {
+buildUnnamed512() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed484(core.List<core.String> o) {
+checkUnnamed512(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed485() {
+buildUnnamed513() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed485(core.List<core.String> o) {
+checkUnnamed513(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -74,9 +74,9 @@
   buildCounterBucketCors++;
   if (buildCounterBucketCors < 3) {
     o.maxAgeSeconds = 42;
-    o.method = buildUnnamed483();
-    o.origin = buildUnnamed484();
-    o.responseHeader = buildUnnamed485();
+    o.method = buildUnnamed511();
+    o.origin = buildUnnamed512();
+    o.responseHeader = buildUnnamed513();
   }
   buildCounterBucketCors--;
   return o;
@@ -86,34 +86,34 @@
   buildCounterBucketCors++;
   if (buildCounterBucketCors < 3) {
     unittest.expect(o.maxAgeSeconds, unittest.equals(42));
-    checkUnnamed483(o.method);
-    checkUnnamed484(o.origin);
-    checkUnnamed485(o.responseHeader);
+    checkUnnamed511(o.method);
+    checkUnnamed512(o.origin);
+    checkUnnamed513(o.responseHeader);
   }
   buildCounterBucketCors--;
 }
 
-buildUnnamed486() {
+buildUnnamed514() {
   var o = new core.List<api.BucketCors>();
   o.add(buildBucketCors());
   o.add(buildBucketCors());
   return o;
 }
 
-checkUnnamed486(core.List<api.BucketCors> o) {
+checkUnnamed514(core.List<api.BucketCors> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucketCors(o[0]);
   checkBucketCors(o[1]);
 }
 
-buildUnnamed487() {
+buildUnnamed515() {
   var o = new core.List<api.ObjectAccessControl>();
   o.add(buildObjectAccessControl());
   o.add(buildObjectAccessControl());
   return o;
 }
 
-checkUnnamed487(core.List<api.ObjectAccessControl> o) {
+checkUnnamed515(core.List<api.ObjectAccessControl> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkObjectAccessControl(o[0]);
   checkObjectAccessControl(o[1]);
@@ -184,14 +184,14 @@
   buildCounterBucketLifecycleRule--;
 }
 
-buildUnnamed488() {
+buildUnnamed516() {
   var o = new core.List<api.BucketLifecycleRule>();
   o.add(buildBucketLifecycleRule());
   o.add(buildBucketLifecycleRule());
   return o;
 }
 
-checkUnnamed488(core.List<api.BucketLifecycleRule> o) {
+checkUnnamed516(core.List<api.BucketLifecycleRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucketLifecycleRule(o[0]);
   checkBucketLifecycleRule(o[1]);
@@ -202,7 +202,7 @@
   var o = new api.BucketLifecycle();
   buildCounterBucketLifecycle++;
   if (buildCounterBucketLifecycle < 3) {
-    o.rule = buildUnnamed488();
+    o.rule = buildUnnamed516();
   }
   buildCounterBucketLifecycle--;
   return o;
@@ -211,7 +211,7 @@
 checkBucketLifecycle(api.BucketLifecycle o) {
   buildCounterBucketLifecycle++;
   if (buildCounterBucketLifecycle < 3) {
-    checkUnnamed488(o.rule);
+    checkUnnamed516(o.rule);
   }
   buildCounterBucketLifecycle--;
 }
@@ -303,9 +303,9 @@
   var o = new api.Bucket();
   buildCounterBucket++;
   if (buildCounterBucket < 3) {
-    o.acl = buildUnnamed482();
-    o.cors = buildUnnamed486();
-    o.defaultObjectAcl = buildUnnamed487();
+    o.acl = buildUnnamed510();
+    o.cors = buildUnnamed514();
+    o.defaultObjectAcl = buildUnnamed515();
     o.etag = "foo";
     o.id = "foo";
     o.kind = "foo";
@@ -329,9 +329,9 @@
 checkBucket(api.Bucket o) {
   buildCounterBucket++;
   if (buildCounterBucket < 3) {
-    checkUnnamed482(o.acl);
-    checkUnnamed486(o.cors);
-    checkUnnamed487(o.defaultObjectAcl);
+    checkUnnamed510(o.acl);
+    checkUnnamed514(o.cors);
+    checkUnnamed515(o.defaultObjectAcl);
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -411,14 +411,14 @@
   buildCounterBucketAccessControl--;
 }
 
-buildUnnamed489() {
+buildUnnamed517() {
   var o = new core.List<api.BucketAccessControl>();
   o.add(buildBucketAccessControl());
   o.add(buildBucketAccessControl());
   return o;
 }
 
-checkUnnamed489(core.List<api.BucketAccessControl> o) {
+checkUnnamed517(core.List<api.BucketAccessControl> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucketAccessControl(o[0]);
   checkBucketAccessControl(o[1]);
@@ -429,7 +429,7 @@
   var o = new api.BucketAccessControls();
   buildCounterBucketAccessControls++;
   if (buildCounterBucketAccessControls < 3) {
-    o.items = buildUnnamed489();
+    o.items = buildUnnamed517();
     o.kind = "foo";
   }
   buildCounterBucketAccessControls--;
@@ -439,20 +439,20 @@
 checkBucketAccessControls(api.BucketAccessControls o) {
   buildCounterBucketAccessControls++;
   if (buildCounterBucketAccessControls < 3) {
-    checkUnnamed489(o.items);
+    checkUnnamed517(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBucketAccessControls--;
 }
 
-buildUnnamed490() {
+buildUnnamed518() {
   var o = new core.List<api.Bucket>();
   o.add(buildBucket());
   o.add(buildBucket());
   return o;
 }
 
-checkUnnamed490(core.List<api.Bucket> o) {
+checkUnnamed518(core.List<api.Bucket> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBucket(o[0]);
   checkBucket(o[1]);
@@ -463,7 +463,7 @@
   var o = new api.Buckets();
   buildCounterBuckets++;
   if (buildCounterBuckets < 3) {
-    o.items = buildUnnamed490();
+    o.items = buildUnnamed518();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -474,21 +474,21 @@
 checkBuckets(api.Buckets o) {
   buildCounterBuckets++;
   if (buildCounterBuckets < 3) {
-    checkUnnamed490(o.items);
+    checkUnnamed518(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterBuckets--;
 }
 
-buildUnnamed491() {
+buildUnnamed519() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed491(core.Map<core.String, core.String> o) {
+checkUnnamed519(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -503,7 +503,7 @@
     o.expiration = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.params = buildUnnamed491();
+    o.params = buildUnnamed519();
     o.payload = true;
     o.resourceId = "foo";
     o.resourceUri = "foo";
@@ -521,7 +521,7 @@
     unittest.expect(o.expiration, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed491(o.params);
+    checkUnnamed519(o.params);
     unittest.expect(o.payload, unittest.isTrue);
     unittest.expect(o.resourceId, unittest.equals('foo'));
     unittest.expect(o.resourceUri, unittest.equals('foo'));
@@ -573,14 +573,14 @@
   buildCounterComposeRequestSourceObjects--;
 }
 
-buildUnnamed492() {
+buildUnnamed520() {
   var o = new core.List<api.ComposeRequestSourceObjects>();
   o.add(buildComposeRequestSourceObjects());
   o.add(buildComposeRequestSourceObjects());
   return o;
 }
 
-checkUnnamed492(core.List<api.ComposeRequestSourceObjects> o) {
+checkUnnamed520(core.List<api.ComposeRequestSourceObjects> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkComposeRequestSourceObjects(o[0]);
   checkComposeRequestSourceObjects(o[1]);
@@ -593,7 +593,7 @@
   if (buildCounterComposeRequest < 3) {
     o.destination = buildObject();
     o.kind = "foo";
-    o.sourceObjects = buildUnnamed492();
+    o.sourceObjects = buildUnnamed520();
   }
   buildCounterComposeRequest--;
   return o;
@@ -604,32 +604,32 @@
   if (buildCounterComposeRequest < 3) {
     checkObject(o.destination);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed492(o.sourceObjects);
+    checkUnnamed520(o.sourceObjects);
   }
   buildCounterComposeRequest--;
 }
 
-buildUnnamed493() {
+buildUnnamed521() {
   var o = new core.List<api.ObjectAccessControl>();
   o.add(buildObjectAccessControl());
   o.add(buildObjectAccessControl());
   return o;
 }
 
-checkUnnamed493(core.List<api.ObjectAccessControl> o) {
+checkUnnamed521(core.List<api.ObjectAccessControl> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkObjectAccessControl(o[0]);
   checkObjectAccessControl(o[1]);
 }
 
-buildUnnamed494() {
+buildUnnamed522() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed494(core.Map<core.String, core.String> o) {
+checkUnnamed522(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -661,7 +661,7 @@
   var o = new api.Object();
   buildCounterObject++;
   if (buildCounterObject < 3) {
-    o.acl = buildUnnamed493();
+    o.acl = buildUnnamed521();
     o.bucket = "foo";
     o.cacheControl = "foo";
     o.componentCount = 42;
@@ -676,7 +676,7 @@
     o.kind = "foo";
     o.md5Hash = "foo";
     o.mediaLink = "foo";
-    o.metadata = buildUnnamed494();
+    o.metadata = buildUnnamed522();
     o.metageneration = "foo";
     o.name = "foo";
     o.owner = buildObjectOwner();
@@ -693,7 +693,7 @@
 checkObject(api.Object o) {
   buildCounterObject++;
   if (buildCounterObject < 3) {
-    checkUnnamed493(o.acl);
+    checkUnnamed521(o.acl);
     unittest.expect(o.bucket, unittest.equals('foo'));
     unittest.expect(o.cacheControl, unittest.equals('foo'));
     unittest.expect(o.componentCount, unittest.equals(42));
@@ -708,7 +708,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.md5Hash, unittest.equals('foo'));
     unittest.expect(o.mediaLink, unittest.equals('foo'));
-    checkUnnamed494(o.metadata);
+    checkUnnamed522(o.metadata);
     unittest.expect(o.metageneration, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     checkObjectOwner(o.owner);
@@ -785,14 +785,14 @@
   buildCounterObjectAccessControl--;
 }
 
-buildUnnamed495() {
+buildUnnamed523() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed495(core.List<core.Object> o) {
+checkUnnamed523(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
@@ -803,7 +803,7 @@
   var o = new api.ObjectAccessControls();
   buildCounterObjectAccessControls++;
   if (buildCounterObjectAccessControls < 3) {
-    o.items = buildUnnamed495();
+    o.items = buildUnnamed523();
     o.kind = "foo";
   }
   buildCounterObjectAccessControls--;
@@ -813,33 +813,33 @@
 checkObjectAccessControls(api.ObjectAccessControls o) {
   buildCounterObjectAccessControls++;
   if (buildCounterObjectAccessControls < 3) {
-    checkUnnamed495(o.items);
+    checkUnnamed523(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterObjectAccessControls--;
 }
 
-buildUnnamed496() {
+buildUnnamed524() {
   var o = new core.List<api.Object>();
   o.add(buildObject());
   o.add(buildObject());
   return o;
 }
 
-checkUnnamed496(core.List<api.Object> o) {
+checkUnnamed524(core.List<api.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkObject(o[0]);
   checkObject(o[1]);
 }
 
-buildUnnamed497() {
+buildUnnamed525() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed497(core.List<core.String> o) {
+checkUnnamed525(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -850,10 +850,10 @@
   var o = new api.Objects();
   buildCounterObjects++;
   if (buildCounterObjects < 3) {
-    o.items = buildUnnamed496();
+    o.items = buildUnnamed524();
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.prefixes = buildUnnamed497();
+    o.prefixes = buildUnnamed525();
   }
   buildCounterObjects--;
   return o;
@@ -862,10 +862,10 @@
 checkObjects(api.Objects o) {
   buildCounterObjects++;
   if (buildCounterObjects < 3) {
-    checkUnnamed496(o.items);
+    checkUnnamed524(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed497(o.prefixes);
+    checkUnnamed525(o.prefixes);
   }
   buildCounterObjects--;
 }
@@ -1100,8 +1100,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl/", pathOffset);
@@ -1153,8 +1155,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl/", pathOffset);
@@ -1211,8 +1215,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl", pathOffset);
@@ -1262,8 +1268,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl", pathOffset);
@@ -1318,8 +1326,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl/", pathOffset);
@@ -1377,8 +1387,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/acl/", pathOffset);
@@ -1437,8 +1449,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1487,8 +1501,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1543,8 +1559,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("b"));
         pathOffset += 1;
 
@@ -1593,8 +1611,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("b"));
         pathOffset += 1;
 
@@ -1649,8 +1669,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1708,8 +1730,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -1766,8 +1790,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("channels/stop"));
         pathOffset += 13;
 
@@ -1813,8 +1839,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl/", pathOffset);
@@ -1866,8 +1894,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl/", pathOffset);
@@ -1924,8 +1954,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl", pathOffset);
@@ -1977,8 +2009,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl", pathOffset);
@@ -2035,8 +2069,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl/", pathOffset);
@@ -2094,8 +2130,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/defaultObjectAcl/", pathOffset);
@@ -2155,8 +2193,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2218,8 +2258,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2286,8 +2328,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2347,8 +2391,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2413,8 +2459,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2482,8 +2530,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2558,8 +2608,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2639,8 +2691,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2724,8 +2778,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2790,8 +2846,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -2864,8 +2922,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o", pathOffset);
@@ -2929,8 +2989,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o", pathOffset);
@@ -2998,8 +3060,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -3073,8 +3137,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/", pathOffset);
@@ -3144,8 +3210,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/storage/v1/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("storage/v1/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("b/"));
         pathOffset += 2;
         index = path.indexOf("/o/watch", pathOffset);
diff --git a/generated/googleapis/test/tasks/v1_test.dart b/generated/googleapis/test/tasks/v1_test.dart
index e819c22..5315b51 100644
--- a/generated/googleapis/test/tasks/v1_test.dart
+++ b/generated/googleapis/test/tasks/v1_test.dart
@@ -39,14 +39,14 @@
   buildCounterTaskLinks--;
 }
 
-buildUnnamed1010() {
+buildUnnamed1038() {
   var o = new core.List<api.TaskLinks>();
   o.add(buildTaskLinks());
   o.add(buildTaskLinks());
   return o;
 }
 
-checkUnnamed1010(core.List<api.TaskLinks> o) {
+checkUnnamed1038(core.List<api.TaskLinks> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTaskLinks(o[0]);
   checkTaskLinks(o[1]);
@@ -64,7 +64,7 @@
     o.hidden = true;
     o.id = "foo";
     o.kind = "foo";
-    o.links = buildUnnamed1010();
+    o.links = buildUnnamed1038();
     o.notes = "foo";
     o.parent = "foo";
     o.position = "foo";
@@ -87,7 +87,7 @@
     unittest.expect(o.hidden, unittest.isTrue);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1010(o.links);
+    checkUnnamed1038(o.links);
     unittest.expect(o.notes, unittest.equals('foo'));
     unittest.expect(o.parent, unittest.equals('foo'));
     unittest.expect(o.position, unittest.equals('foo'));
@@ -128,14 +128,14 @@
   buildCounterTaskList--;
 }
 
-buildUnnamed1011() {
+buildUnnamed1039() {
   var o = new core.List<api.TaskList>();
   o.add(buildTaskList());
   o.add(buildTaskList());
   return o;
 }
 
-checkUnnamed1011(core.List<api.TaskList> o) {
+checkUnnamed1039(core.List<api.TaskList> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTaskList(o[0]);
   checkTaskList(o[1]);
@@ -147,7 +147,7 @@
   buildCounterTaskLists++;
   if (buildCounterTaskLists < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed1011();
+    o.items = buildUnnamed1039();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -159,21 +159,21 @@
   buildCounterTaskLists++;
   if (buildCounterTaskLists < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed1011(o.items);
+    checkUnnamed1039(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterTaskLists--;
 }
 
-buildUnnamed1012() {
+buildUnnamed1040() {
   var o = new core.List<api.Task>();
   o.add(buildTask());
   o.add(buildTask());
   return o;
 }
 
-checkUnnamed1012(core.List<api.Task> o) {
+checkUnnamed1040(core.List<api.Task> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTask(o[0]);
   checkTask(o[1]);
@@ -185,7 +185,7 @@
   buildCounterTasks++;
   if (buildCounterTasks < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed1012();
+    o.items = buildUnnamed1040();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -197,7 +197,7 @@
   buildCounterTasks++;
   if (buildCounterTasks < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed1012(o.items);
+    checkUnnamed1040(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -262,8 +262,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("users/@me/lists/"));
         pathOffset += 16;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -307,8 +309,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("users/@me/lists/"));
         pathOffset += 16;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -357,8 +361,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("users/@me/lists"));
         pathOffset += 15;
 
@@ -402,8 +408,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("users/@me/lists"));
         pathOffset += 15;
 
@@ -452,8 +460,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("users/@me/lists/"));
         pathOffset += 16;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -503,8 +513,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("users/@me/lists/"));
         pathOffset += 16;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -554,8 +566,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/clear", pathOffset);
@@ -604,8 +618,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks/", pathOffset);
@@ -657,8 +673,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks/", pathOffset);
@@ -717,8 +735,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks", pathOffset);
@@ -780,8 +800,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks", pathOffset);
@@ -844,8 +866,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks/", pathOffset);
@@ -909,8 +933,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks/", pathOffset);
@@ -968,8 +994,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/tasks/v1/"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("tasks/v1/"));
+        pathOffset += 9;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("lists/"));
         pathOffset += 6;
         index = path.indexOf("/tasks/", pathOffset);
diff --git a/generated/googleapis/test/translate/v2_test.dart b/generated/googleapis/test/translate/v2_test.dart
index 23f58af..1d84cce 100644
--- a/generated/googleapis/test/translate/v2_test.dart
+++ b/generated/googleapis/test/translate/v2_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed434() {
+buildUnnamed459() {
   var o = new core.List<api.DetectionsResource>();
   o.add(buildDetectionsResource());
   o.add(buildDetectionsResource());
   return o;
 }
 
-checkUnnamed434(core.List<api.DetectionsResource> o) {
+checkUnnamed459(core.List<api.DetectionsResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDetectionsResource(o[0]);
   checkDetectionsResource(o[1]);
@@ -34,7 +34,7 @@
   var o = new api.DetectionsListResponse();
   buildCounterDetectionsListResponse++;
   if (buildCounterDetectionsListResponse < 3) {
-    o.detections = buildUnnamed434();
+    o.detections = buildUnnamed459();
   }
   buildCounterDetectionsListResponse--;
   return o;
@@ -43,7 +43,7 @@
 checkDetectionsListResponse(api.DetectionsListResponse o) {
   buildCounterDetectionsListResponse++;
   if (buildCounterDetectionsListResponse < 3) {
-    checkUnnamed434(o.detections);
+    checkUnnamed459(o.detections);
   }
   buildCounterDetectionsListResponse--;
 }
@@ -84,14 +84,14 @@
   checkDetectionsResourceElement(o[1]);
 }
 
-buildUnnamed435() {
+buildUnnamed460() {
   var o = new core.List<api.LanguagesResource>();
   o.add(buildLanguagesResource());
   o.add(buildLanguagesResource());
   return o;
 }
 
-checkUnnamed435(core.List<api.LanguagesResource> o) {
+checkUnnamed460(core.List<api.LanguagesResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLanguagesResource(o[0]);
   checkLanguagesResource(o[1]);
@@ -102,7 +102,7 @@
   var o = new api.LanguagesListResponse();
   buildCounterLanguagesListResponse++;
   if (buildCounterLanguagesListResponse < 3) {
-    o.languages = buildUnnamed435();
+    o.languages = buildUnnamed460();
   }
   buildCounterLanguagesListResponse--;
   return o;
@@ -111,7 +111,7 @@
 checkLanguagesListResponse(api.LanguagesListResponse o) {
   buildCounterLanguagesListResponse++;
   if (buildCounterLanguagesListResponse < 3) {
-    checkUnnamed435(o.languages);
+    checkUnnamed460(o.languages);
   }
   buildCounterLanguagesListResponse--;
 }
@@ -137,14 +137,14 @@
   buildCounterLanguagesResource--;
 }
 
-buildUnnamed436() {
+buildUnnamed461() {
   var o = new core.List<api.TranslationsResource>();
   o.add(buildTranslationsResource());
   o.add(buildTranslationsResource());
   return o;
 }
 
-checkUnnamed436(core.List<api.TranslationsResource> o) {
+checkUnnamed461(core.List<api.TranslationsResource> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTranslationsResource(o[0]);
   checkTranslationsResource(o[1]);
@@ -155,7 +155,7 @@
   var o = new api.TranslationsListResponse();
   buildCounterTranslationsListResponse++;
   if (buildCounterTranslationsListResponse < 3) {
-    o.translations = buildUnnamed436();
+    o.translations = buildUnnamed461();
   }
   buildCounterTranslationsListResponse--;
   return o;
@@ -164,7 +164,7 @@
 checkTranslationsListResponse(api.TranslationsListResponse o) {
   buildCounterTranslationsListResponse++;
   if (buildCounterTranslationsListResponse < 3) {
-    checkUnnamed436(o.translations);
+    checkUnnamed461(o.translations);
   }
   buildCounterTranslationsListResponse--;
 }
@@ -190,40 +190,40 @@
   buildCounterTranslationsResource--;
 }
 
-buildUnnamed437() {
+buildUnnamed462() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed437(core.List<core.String> o) {
+checkUnnamed462(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed438() {
+buildUnnamed463() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed438(core.List<core.String> o) {
+checkUnnamed463(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed439() {
+buildUnnamed464() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed439(core.List<core.String> o) {
+checkUnnamed464(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -299,14 +299,16 @@
 
       var mock = new common_test.HttpServerMock();
       api.DetectionsResourceApi res = new api.TranslateApi(mock).detections;
-      var arg_q = buildUnnamed437();
+      var arg_q = buildUnnamed462();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/language/translate/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("language/translate/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("v2/detect"));
         pathOffset += 9;
 
@@ -354,8 +356,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/language/translate/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("language/translate/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("v2/languages"));
         pathOffset += 12;
 
@@ -397,9 +401,9 @@
 
       var mock = new common_test.HttpServerMock();
       api.TranslationsResourceApi res = new api.TranslateApi(mock).translations;
-      var arg_q = buildUnnamed438();
+      var arg_q = buildUnnamed463();
       var arg_target = "foo";
-      var arg_cid = buildUnnamed439();
+      var arg_cid = buildUnnamed464();
       var arg_format = "foo";
       var arg_source = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
@@ -407,8 +411,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/language/translate/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("language/translate/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 2), unittest.equals("v2"));
         pathOffset += 2;
 
diff --git a/generated/googleapis/test/urlshortener/v1_test.dart b/generated/googleapis/test/urlshortener/v1_test.dart
index 914418a..d8326f5 100644
--- a/generated/googleapis/test/urlshortener/v1_test.dart
+++ b/generated/googleapis/test/urlshortener/v1_test.dart
@@ -16,53 +16,53 @@
 
 
 
-buildUnnamed440() {
+buildUnnamed465() {
   var o = new core.List<api.StringCount>();
   o.add(buildStringCount());
   o.add(buildStringCount());
   return o;
 }
 
-checkUnnamed440(core.List<api.StringCount> o) {
+checkUnnamed465(core.List<api.StringCount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStringCount(o[0]);
   checkStringCount(o[1]);
 }
 
-buildUnnamed441() {
+buildUnnamed466() {
   var o = new core.List<api.StringCount>();
   o.add(buildStringCount());
   o.add(buildStringCount());
   return o;
 }
 
-checkUnnamed441(core.List<api.StringCount> o) {
+checkUnnamed466(core.List<api.StringCount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStringCount(o[0]);
   checkStringCount(o[1]);
 }
 
-buildUnnamed442() {
+buildUnnamed467() {
   var o = new core.List<api.StringCount>();
   o.add(buildStringCount());
   o.add(buildStringCount());
   return o;
 }
 
-checkUnnamed442(core.List<api.StringCount> o) {
+checkUnnamed467(core.List<api.StringCount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStringCount(o[0]);
   checkStringCount(o[1]);
 }
 
-buildUnnamed443() {
+buildUnnamed468() {
   var o = new core.List<api.StringCount>();
   o.add(buildStringCount());
   o.add(buildStringCount());
   return o;
 }
 
-checkUnnamed443(core.List<api.StringCount> o) {
+checkUnnamed468(core.List<api.StringCount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkStringCount(o[0]);
   checkStringCount(o[1]);
@@ -73,11 +73,11 @@
   var o = new api.AnalyticsSnapshot();
   buildCounterAnalyticsSnapshot++;
   if (buildCounterAnalyticsSnapshot < 3) {
-    o.browsers = buildUnnamed440();
-    o.countries = buildUnnamed441();
+    o.browsers = buildUnnamed465();
+    o.countries = buildUnnamed466();
     o.longUrlClicks = "foo";
-    o.platforms = buildUnnamed442();
-    o.referrers = buildUnnamed443();
+    o.platforms = buildUnnamed467();
+    o.referrers = buildUnnamed468();
     o.shortUrlClicks = "foo";
   }
   buildCounterAnalyticsSnapshot--;
@@ -87,11 +87,11 @@
 checkAnalyticsSnapshot(api.AnalyticsSnapshot o) {
   buildCounterAnalyticsSnapshot++;
   if (buildCounterAnalyticsSnapshot < 3) {
-    checkUnnamed440(o.browsers);
-    checkUnnamed441(o.countries);
+    checkUnnamed465(o.browsers);
+    checkUnnamed466(o.countries);
     unittest.expect(o.longUrlClicks, unittest.equals('foo'));
-    checkUnnamed442(o.platforms);
-    checkUnnamed443(o.referrers);
+    checkUnnamed467(o.platforms);
+    checkUnnamed468(o.referrers);
     unittest.expect(o.shortUrlClicks, unittest.equals('foo'));
   }
   buildCounterAnalyticsSnapshot--;
@@ -174,14 +174,14 @@
   buildCounterUrl--;
 }
 
-buildUnnamed444() {
+buildUnnamed469() {
   var o = new core.List<api.Url>();
   o.add(buildUrl());
   o.add(buildUrl());
   return o;
 }
 
-checkUnnamed444(core.List<api.Url> o) {
+checkUnnamed469(core.List<api.Url> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkUrl(o[0]);
   checkUrl(o[1]);
@@ -192,7 +192,7 @@
   var o = new api.UrlHistory();
   buildCounterUrlHistory++;
   if (buildCounterUrlHistory < 3) {
-    o.items = buildUnnamed444();
+    o.items = buildUnnamed469();
     o.itemsPerPage = 42;
     o.kind = "foo";
     o.nextPageToken = "foo";
@@ -205,7 +205,7 @@
 checkUrlHistory(api.UrlHistory o) {
   buildCounterUrlHistory++;
   if (buildCounterUrlHistory < 3) {
-    checkUnnamed444(o.items);
+    checkUnnamed469(o.items);
     unittest.expect(o.itemsPerPage, unittest.equals(42));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
@@ -273,8 +273,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/urlshortener/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("urlshortener/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("url"));
         pathOffset += 3;
 
@@ -322,8 +324,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/urlshortener/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("urlshortener/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("url"));
         pathOffset += 3;
 
@@ -367,8 +371,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/urlshortener/v1/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("urlshortener/v1/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("url/history"));
         pathOffset += 11;
 
diff --git a/generated/googleapis/test/webfonts/v1_test.dart b/generated/googleapis/test/webfonts/v1_test.dart
index 426eeac..dc7c9e3 100644
--- a/generated/googleapis/test/webfonts/v1_test.dart
+++ b/generated/googleapis/test/webfonts/v1_test.dart
@@ -16,40 +16,40 @@
 
 
 
-buildUnnamed761() {
+buildUnnamed789() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed761(core.Map<core.String, core.String> o) {
+checkUnnamed789(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
 }
 
-buildUnnamed762() {
+buildUnnamed790() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed762(core.List<core.String> o) {
+checkUnnamed790(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed763() {
+buildUnnamed791() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed763(core.List<core.String> o) {
+checkUnnamed791(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -62,11 +62,11 @@
   if (buildCounterWebfont < 3) {
     o.category = "foo";
     o.family = "foo";
-    o.files = buildUnnamed761();
+    o.files = buildUnnamed789();
     o.kind = "foo";
     o.lastModified = core.DateTime.parse("2002-02-27T14:01:02Z");
-    o.subsets = buildUnnamed762();
-    o.variants = buildUnnamed763();
+    o.subsets = buildUnnamed790();
+    o.variants = buildUnnamed791();
     o.version = "foo";
   }
   buildCounterWebfont--;
@@ -78,24 +78,24 @@
   if (buildCounterWebfont < 3) {
     unittest.expect(o.category, unittest.equals('foo'));
     unittest.expect(o.family, unittest.equals('foo'));
-    checkUnnamed761(o.files);
+    checkUnnamed789(o.files);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.lastModified, unittest.equals(core.DateTime.parse("2002-02-27T00:00:00")));
-    checkUnnamed762(o.subsets);
-    checkUnnamed763(o.variants);
+    checkUnnamed790(o.subsets);
+    checkUnnamed791(o.variants);
     unittest.expect(o.version, unittest.equals('foo'));
   }
   buildCounterWebfont--;
 }
 
-buildUnnamed764() {
+buildUnnamed792() {
   var o = new core.List<api.Webfont>();
   o.add(buildWebfont());
   o.add(buildWebfont());
   return o;
 }
 
-checkUnnamed764(core.List<api.Webfont> o) {
+checkUnnamed792(core.List<api.Webfont> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkWebfont(o[0]);
   checkWebfont(o[1]);
@@ -106,7 +106,7 @@
   var o = new api.WebfontList();
   buildCounterWebfontList++;
   if (buildCounterWebfontList < 3) {
-    o.items = buildUnnamed764();
+    o.items = buildUnnamed792();
     o.kind = "foo";
   }
   buildCounterWebfontList--;
@@ -116,7 +116,7 @@
 checkWebfontList(api.WebfontList o) {
   buildCounterWebfontList++;
   if (buildCounterWebfontList < 3) {
-    checkUnnamed764(o.items);
+    checkUnnamed792(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterWebfontList--;
@@ -153,8 +153,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/webfonts/v1/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("webfonts/v1/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("webfonts"));
         pathOffset += 8;
 
diff --git a/generated/googleapis/test/youtube/v3_test.dart b/generated/googleapis/test/youtube/v3_test.dart
index 903c8f4..0fa2da9 100644
--- a/generated/googleapis/test/youtube/v3_test.dart
+++ b/generated/googleapis/test/youtube/v3_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed341() {
+buildUnnamed364() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed341(core.List<core.String> o) {
+checkUnnamed364(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -35,7 +35,7 @@
   buildCounterAccessPolicy++;
   if (buildCounterAccessPolicy < 3) {
     o.allowed = true;
-    o.exception = buildUnnamed341();
+    o.exception = buildUnnamed364();
   }
   buildCounterAccessPolicy--;
   return o;
@@ -45,7 +45,7 @@
   buildCounterAccessPolicy++;
   if (buildCounterAccessPolicy < 3) {
     unittest.expect(o.allowed, unittest.isTrue);
-    checkUnnamed341(o.exception);
+    checkUnnamed364(o.exception);
   }
   buildCounterAccessPolicy--;
 }
@@ -234,27 +234,27 @@
   buildCounterActivityContentDetailsPlaylistItem--;
 }
 
-buildUnnamed342() {
+buildUnnamed365() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed342(core.List<core.String> o) {
+checkUnnamed365(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed343() {
+buildUnnamed366() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed343(core.List<core.String> o) {
+checkUnnamed366(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -272,8 +272,8 @@
     o.customCtaButtonText = "foo";
     o.descriptionText = "foo";
     o.destinationUrl = "foo";
-    o.forecastingUrl = buildUnnamed342();
-    o.impressionUrl = buildUnnamed343();
+    o.forecastingUrl = buildUnnamed365();
+    o.impressionUrl = buildUnnamed366();
     o.videoId = "foo";
   }
   buildCounterActivityContentDetailsPromotedItem--;
@@ -290,8 +290,8 @@
     unittest.expect(o.customCtaButtonText, unittest.equals('foo'));
     unittest.expect(o.descriptionText, unittest.equals('foo'));
     unittest.expect(o.destinationUrl, unittest.equals('foo'));
-    checkUnnamed342(o.forecastingUrl);
-    checkUnnamed343(o.impressionUrl);
+    checkUnnamed365(o.forecastingUrl);
+    checkUnnamed366(o.impressionUrl);
     unittest.expect(o.videoId, unittest.equals('foo'));
   }
   buildCounterActivityContentDetailsPromotedItem--;
@@ -385,14 +385,14 @@
   buildCounterActivityContentDetailsUpload--;
 }
 
-buildUnnamed344() {
+buildUnnamed367() {
   var o = new core.List<api.Activity>();
   o.add(buildActivity());
   o.add(buildActivity());
   return o;
 }
 
-checkUnnamed344(core.List<api.Activity> o) {
+checkUnnamed367(core.List<api.Activity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkActivity(o[0]);
   checkActivity(o[1]);
@@ -405,7 +405,7 @@
   if (buildCounterActivityListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed344();
+    o.items = buildUnnamed367();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -422,7 +422,7 @@
   if (buildCounterActivityListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed344(o.items);
+    checkUnnamed367(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -580,14 +580,14 @@
   buildCounterChannelBannerResource--;
 }
 
-buildUnnamed345() {
+buildUnnamed368() {
   var o = new core.List<api.PropertyValue>();
   o.add(buildPropertyValue());
   o.add(buildPropertyValue());
   return o;
 }
 
-checkUnnamed345(core.List<api.PropertyValue> o) {
+checkUnnamed368(core.List<api.PropertyValue> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPropertyValue(o[0]);
   checkPropertyValue(o[1]);
@@ -599,7 +599,7 @@
   buildCounterChannelBrandingSettings++;
   if (buildCounterChannelBrandingSettings < 3) {
     o.channel = buildChannelSettings();
-    o.hints = buildUnnamed345();
+    o.hints = buildUnnamed368();
     o.image = buildImageSettings();
     o.watch = buildWatchSettings();
   }
@@ -611,7 +611,7 @@
   buildCounterChannelBrandingSettings++;
   if (buildCounterChannelBrandingSettings < 3) {
     checkChannelSettings(o.channel);
-    checkUnnamed345(o.hints);
+    checkUnnamed368(o.hints);
     checkImageSettings(o.image);
     checkWatchSettings(o.watch);
   }
@@ -708,14 +708,14 @@
   buildCounterChannelConversionPing--;
 }
 
-buildUnnamed346() {
+buildUnnamed369() {
   var o = new core.List<api.ChannelConversionPing>();
   o.add(buildChannelConversionPing());
   o.add(buildChannelConversionPing());
   return o;
 }
 
-checkUnnamed346(core.List<api.ChannelConversionPing> o) {
+checkUnnamed369(core.List<api.ChannelConversionPing> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChannelConversionPing(o[0]);
   checkChannelConversionPing(o[1]);
@@ -726,7 +726,7 @@
   var o = new api.ChannelConversionPings();
   buildCounterChannelConversionPings++;
   if (buildCounterChannelConversionPings < 3) {
-    o.pings = buildUnnamed346();
+    o.pings = buildUnnamed369();
   }
   buildCounterChannelConversionPings--;
   return o;
@@ -735,19 +735,19 @@
 checkChannelConversionPings(api.ChannelConversionPings o) {
   buildCounterChannelConversionPings++;
   if (buildCounterChannelConversionPings < 3) {
-    checkUnnamed346(o.pings);
+    checkUnnamed369(o.pings);
   }
   buildCounterChannelConversionPings--;
 }
 
-buildUnnamed347() {
+buildUnnamed370() {
   var o = new core.List<api.Channel>();
   o.add(buildChannel());
   o.add(buildChannel());
   return o;
 }
 
-checkUnnamed347(core.List<api.Channel> o) {
+checkUnnamed370(core.List<api.Channel> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChannel(o[0]);
   checkChannel(o[1]);
@@ -760,7 +760,7 @@
   if (buildCounterChannelListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed347();
+    o.items = buildUnnamed370();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -777,7 +777,7 @@
   if (buildCounterChannelListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed347(o.items);
+    checkUnnamed370(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -815,27 +815,27 @@
   buildCounterChannelSection--;
 }
 
-buildUnnamed348() {
+buildUnnamed371() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed348(core.List<core.String> o) {
+checkUnnamed371(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed349() {
+buildUnnamed372() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed349(core.List<core.String> o) {
+checkUnnamed372(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -846,8 +846,8 @@
   var o = new api.ChannelSectionContentDetails();
   buildCounterChannelSectionContentDetails++;
   if (buildCounterChannelSectionContentDetails < 3) {
-    o.channels = buildUnnamed348();
-    o.playlists = buildUnnamed349();
+    o.channels = buildUnnamed371();
+    o.playlists = buildUnnamed372();
   }
   buildCounterChannelSectionContentDetails--;
   return o;
@@ -856,20 +856,20 @@
 checkChannelSectionContentDetails(api.ChannelSectionContentDetails o) {
   buildCounterChannelSectionContentDetails++;
   if (buildCounterChannelSectionContentDetails < 3) {
-    checkUnnamed348(o.channels);
-    checkUnnamed349(o.playlists);
+    checkUnnamed371(o.channels);
+    checkUnnamed372(o.playlists);
   }
   buildCounterChannelSectionContentDetails--;
 }
 
-buildUnnamed350() {
+buildUnnamed373() {
   var o = new core.List<api.ChannelSection>();
   o.add(buildChannelSection());
   o.add(buildChannelSection());
   return o;
 }
 
-checkUnnamed350(core.List<api.ChannelSection> o) {
+checkUnnamed373(core.List<api.ChannelSection> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChannelSection(o[0]);
   checkChannelSection(o[1]);
@@ -882,7 +882,7 @@
   if (buildCounterChannelSectionListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed350();
+    o.items = buildUnnamed373();
     o.kind = "foo";
     o.visitorId = "foo";
   }
@@ -895,7 +895,7 @@
   if (buildCounterChannelSectionListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed350(o.items);
+    checkUnnamed373(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.visitorId, unittest.equals('foo'));
   }
@@ -929,14 +929,14 @@
   buildCounterChannelSectionSnippet--;
 }
 
-buildUnnamed351() {
+buildUnnamed374() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed351(core.List<core.String> o) {
+checkUnnamed374(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -950,7 +950,7 @@
     o.defaultTab = "foo";
     o.description = "foo";
     o.featuredChannelsTitle = "foo";
-    o.featuredChannelsUrls = buildUnnamed351();
+    o.featuredChannelsUrls = buildUnnamed374();
     o.keywords = "foo";
     o.moderateComments = true;
     o.profileColor = "foo";
@@ -970,7 +970,7 @@
     unittest.expect(o.defaultTab, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.featuredChannelsTitle, unittest.equals('foo'));
-    checkUnnamed351(o.featuredChannelsUrls);
+    checkUnnamed374(o.featuredChannelsUrls);
     unittest.expect(o.keywords, unittest.equals('foo'));
     unittest.expect(o.moderateComments, unittest.isTrue);
     unittest.expect(o.profileColor, unittest.equals('foo'));
@@ -1056,14 +1056,14 @@
   buildCounterChannelStatus--;
 }
 
-buildUnnamed352() {
+buildUnnamed375() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed352(core.List<core.String> o) {
+checkUnnamed375(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1074,7 +1074,7 @@
   var o = new api.ChannelTopicDetails();
   buildCounterChannelTopicDetails++;
   if (buildCounterChannelTopicDetails < 3) {
-    o.topicIds = buildUnnamed352();
+    o.topicIds = buildUnnamed375();
   }
   buildCounterChannelTopicDetails--;
   return o;
@@ -1083,7 +1083,7 @@
 checkChannelTopicDetails(api.ChannelTopicDetails o) {
   buildCounterChannelTopicDetails++;
   if (buildCounterChannelTopicDetails < 3) {
-    checkUnnamed352(o.topicIds);
+    checkUnnamed375(o.topicIds);
   }
   buildCounterChannelTopicDetails--;
 }
@@ -1279,14 +1279,14 @@
   buildCounterGuideCategory--;
 }
 
-buildUnnamed353() {
+buildUnnamed376() {
   var o = new core.List<api.GuideCategory>();
   o.add(buildGuideCategory());
   o.add(buildGuideCategory());
   return o;
 }
 
-checkUnnamed353(core.List<api.GuideCategory> o) {
+checkUnnamed376(core.List<api.GuideCategory> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGuideCategory(o[0]);
   checkGuideCategory(o[1]);
@@ -1299,7 +1299,7 @@
   if (buildCounterGuideCategoryListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed353();
+    o.items = buildUnnamed376();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -1316,7 +1316,7 @@
   if (buildCounterGuideCategoryListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed353(o.items);
+    checkUnnamed376(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -1373,14 +1373,14 @@
   buildCounterI18nLanguage--;
 }
 
-buildUnnamed354() {
+buildUnnamed377() {
   var o = new core.List<api.I18nLanguage>();
   o.add(buildI18nLanguage());
   o.add(buildI18nLanguage());
   return o;
 }
 
-checkUnnamed354(core.List<api.I18nLanguage> o) {
+checkUnnamed377(core.List<api.I18nLanguage> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkI18nLanguage(o[0]);
   checkI18nLanguage(o[1]);
@@ -1393,7 +1393,7 @@
   if (buildCounterI18nLanguageListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed354();
+    o.items = buildUnnamed377();
     o.kind = "foo";
     o.visitorId = "foo";
   }
@@ -1406,7 +1406,7 @@
   if (buildCounterI18nLanguageListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed354(o.items);
+    checkUnnamed377(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.visitorId, unittest.equals('foo'));
   }
@@ -1459,14 +1459,14 @@
   buildCounterI18nRegion--;
 }
 
-buildUnnamed355() {
+buildUnnamed378() {
   var o = new core.List<api.I18nRegion>();
   o.add(buildI18nRegion());
   o.add(buildI18nRegion());
   return o;
 }
 
-checkUnnamed355(core.List<api.I18nRegion> o) {
+checkUnnamed378(core.List<api.I18nRegion> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkI18nRegion(o[0]);
   checkI18nRegion(o[1]);
@@ -1479,7 +1479,7 @@
   if (buildCounterI18nRegionListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed355();
+    o.items = buildUnnamed378();
     o.kind = "foo";
     o.visitorId = "foo";
   }
@@ -1492,7 +1492,7 @@
   if (buildCounterI18nRegionListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed355(o.items);
+    checkUnnamed378(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.visitorId, unittest.equals('foo'));
   }
@@ -1652,14 +1652,14 @@
   buildCounterInvideoPosition--;
 }
 
-buildUnnamed356() {
+buildUnnamed379() {
   var o = new core.List<api.PromotedItem>();
   o.add(buildPromotedItem());
   o.add(buildPromotedItem());
   return o;
 }
 
-checkUnnamed356(core.List<api.PromotedItem> o) {
+checkUnnamed379(core.List<api.PromotedItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPromotedItem(o[0]);
   checkPromotedItem(o[1]);
@@ -1671,7 +1671,7 @@
   buildCounterInvideoPromotion++;
   if (buildCounterInvideoPromotion < 3) {
     o.defaultTiming = buildInvideoTiming();
-    o.items = buildUnnamed356();
+    o.items = buildUnnamed379();
     o.position = buildInvideoPosition();
   }
   buildCounterInvideoPromotion--;
@@ -1682,7 +1682,7 @@
   buildCounterInvideoPromotion++;
   if (buildCounterInvideoPromotion < 3) {
     checkInvideoTiming(o.defaultTiming);
-    checkUnnamed356(o.items);
+    checkUnnamed379(o.items);
     checkInvideoPosition(o.position);
   }
   buildCounterInvideoPromotion--;
@@ -1773,14 +1773,14 @@
   buildCounterLiveBroadcastContentDetails--;
 }
 
-buildUnnamed357() {
+buildUnnamed380() {
   var o = new core.List<api.LiveBroadcast>();
   o.add(buildLiveBroadcast());
   o.add(buildLiveBroadcast());
   return o;
 }
 
-checkUnnamed357(core.List<api.LiveBroadcast> o) {
+checkUnnamed380(core.List<api.LiveBroadcast> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLiveBroadcast(o[0]);
   checkLiveBroadcast(o[1]);
@@ -1793,7 +1793,7 @@
   if (buildCounterLiveBroadcastListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed357();
+    o.items = buildUnnamed380();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -1810,7 +1810,7 @@
   if (buildCounterLiveBroadcastListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed357(o.items);
+    checkUnnamed380(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -1931,14 +1931,14 @@
   buildCounterLiveStreamContentDetails--;
 }
 
-buildUnnamed358() {
+buildUnnamed381() {
   var o = new core.List<api.LiveStream>();
   o.add(buildLiveStream());
   o.add(buildLiveStream());
   return o;
 }
 
-checkUnnamed358(core.List<api.LiveStream> o) {
+checkUnnamed381(core.List<api.LiveStream> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLiveStream(o[0]);
   checkLiveStream(o[1]);
@@ -1951,7 +1951,7 @@
   if (buildCounterLiveStreamListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed358();
+    o.items = buildUnnamed381();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -1968,7 +1968,7 @@
   if (buildCounterLiveStreamListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed358(o.items);
+    checkUnnamed381(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -2023,14 +2023,14 @@
   buildCounterLiveStreamStatus--;
 }
 
-buildUnnamed359() {
+buildUnnamed382() {
   var o = new core.List<api.LocalizedString>();
   o.add(buildLocalizedString());
   o.add(buildLocalizedString());
   return o;
 }
 
-checkUnnamed359(core.List<api.LocalizedString> o) {
+checkUnnamed382(core.List<api.LocalizedString> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLocalizedString(o[0]);
   checkLocalizedString(o[1]);
@@ -2042,7 +2042,7 @@
   buildCounterLocalizedProperty++;
   if (buildCounterLocalizedProperty < 3) {
     o.default_ = "foo";
-    o.localized = buildUnnamed359();
+    o.localized = buildUnnamed382();
   }
   buildCounterLocalizedProperty--;
   return o;
@@ -2052,7 +2052,7 @@
   buildCounterLocalizedProperty++;
   if (buildCounterLocalizedProperty < 3) {
     unittest.expect(o.default_, unittest.equals('foo'));
-    checkUnnamed359(o.localized);
+    checkUnnamed382(o.localized);
   }
   buildCounterLocalizedProperty--;
 }
@@ -2226,14 +2226,14 @@
   buildCounterPlaylistItemContentDetails--;
 }
 
-buildUnnamed360() {
+buildUnnamed383() {
   var o = new core.List<api.PlaylistItem>();
   o.add(buildPlaylistItem());
   o.add(buildPlaylistItem());
   return o;
 }
 
-checkUnnamed360(core.List<api.PlaylistItem> o) {
+checkUnnamed383(core.List<api.PlaylistItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPlaylistItem(o[0]);
   checkPlaylistItem(o[1]);
@@ -2246,7 +2246,7 @@
   if (buildCounterPlaylistItemListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed360();
+    o.items = buildUnnamed383();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -2263,7 +2263,7 @@
   if (buildCounterPlaylistItemListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed360(o.items);
+    checkUnnamed383(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -2328,14 +2328,14 @@
   buildCounterPlaylistItemStatus--;
 }
 
-buildUnnamed361() {
+buildUnnamed384() {
   var o = new core.List<api.Playlist>();
   o.add(buildPlaylist());
   o.add(buildPlaylist());
   return o;
 }
 
-checkUnnamed361(core.List<api.Playlist> o) {
+checkUnnamed384(core.List<api.Playlist> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPlaylist(o[0]);
   checkPlaylist(o[1]);
@@ -2348,7 +2348,7 @@
   if (buildCounterPlaylistListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed361();
+    o.items = buildUnnamed384();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -2365,7 +2365,7 @@
   if (buildCounterPlaylistListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed361(o.items);
+    checkUnnamed384(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -2395,14 +2395,14 @@
   buildCounterPlaylistPlayer--;
 }
 
-buildUnnamed362() {
+buildUnnamed385() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed362(core.List<core.String> o) {
+checkUnnamed385(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -2417,7 +2417,7 @@
     o.channelTitle = "foo";
     o.description = "foo";
     o.publishedAt = core.DateTime.parse("2002-02-27T14:01:02");
-    o.tags = buildUnnamed362();
+    o.tags = buildUnnamed385();
     o.thumbnails = buildThumbnailDetails();
     o.title = "foo";
   }
@@ -2432,7 +2432,7 @@
     unittest.expect(o.channelTitle, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.publishedAt, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed362(o.tags);
+    checkUnnamed385(o.tags);
     checkThumbnailDetails(o.thumbnails);
     unittest.expect(o.title, unittest.equals('foo'));
   }
@@ -2554,14 +2554,14 @@
   buildCounterResourceId--;
 }
 
-buildUnnamed363() {
+buildUnnamed386() {
   var o = new core.List<api.SearchResult>();
   o.add(buildSearchResult());
   o.add(buildSearchResult());
   return o;
 }
 
-checkUnnamed363(core.List<api.SearchResult> o) {
+checkUnnamed386(core.List<api.SearchResult> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSearchResult(o[0]);
   checkSearchResult(o[1]);
@@ -2574,7 +2574,7 @@
   if (buildCounterSearchListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed363();
+    o.items = buildUnnamed386();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -2591,7 +2591,7 @@
   if (buildCounterSearchListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed363(o.items);
+    checkUnnamed386(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -2710,14 +2710,14 @@
   buildCounterSubscriptionContentDetails--;
 }
 
-buildUnnamed364() {
+buildUnnamed387() {
   var o = new core.List<api.Subscription>();
   o.add(buildSubscription());
   o.add(buildSubscription());
   return o;
 }
 
-checkUnnamed364(core.List<api.Subscription> o) {
+checkUnnamed387(core.List<api.Subscription> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSubscription(o[0]);
   checkSubscription(o[1]);
@@ -2730,7 +2730,7 @@
   if (buildCounterSubscriptionListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed364();
+    o.items = buildUnnamed387();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -2747,7 +2747,7 @@
   if (buildCounterSubscriptionListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed364(o.items);
+    checkUnnamed387(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -2864,14 +2864,14 @@
   buildCounterThumbnailDetails--;
 }
 
-buildUnnamed365() {
+buildUnnamed388() {
   var o = new core.List<api.ThumbnailDetails>();
   o.add(buildThumbnailDetails());
   o.add(buildThumbnailDetails());
   return o;
 }
 
-checkUnnamed365(core.List<api.ThumbnailDetails> o) {
+checkUnnamed388(core.List<api.ThumbnailDetails> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkThumbnailDetails(o[0]);
   checkThumbnailDetails(o[1]);
@@ -2884,7 +2884,7 @@
   if (buildCounterThumbnailSetResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed365();
+    o.items = buildUnnamed388();
     o.kind = "foo";
     o.visitorId = "foo";
   }
@@ -2897,7 +2897,7 @@
   if (buildCounterThumbnailSetResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed365(o.items);
+    checkUnnamed388(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.visitorId, unittest.equals('foo'));
   }
@@ -3022,14 +3022,14 @@
   buildCounterVideoCategory--;
 }
 
-buildUnnamed366() {
+buildUnnamed389() {
   var o = new core.List<api.VideoCategory>();
   o.add(buildVideoCategory());
   o.add(buildVideoCategory());
   return o;
 }
 
-checkUnnamed366(core.List<api.VideoCategory> o) {
+checkUnnamed389(core.List<api.VideoCategory> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoCategory(o[0]);
   checkVideoCategory(o[1]);
@@ -3042,7 +3042,7 @@
   if (buildCounterVideoCategoryListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed366();
+    o.items = buildUnnamed389();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -3059,7 +3059,7 @@
   if (buildCounterVideoCategoryListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed366(o.items);
+    checkUnnamed389(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -3126,27 +3126,27 @@
   buildCounterVideoContentDetails--;
 }
 
-buildUnnamed367() {
+buildUnnamed390() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed367(core.List<core.String> o) {
+checkUnnamed390(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed368() {
+buildUnnamed391() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed368(core.List<core.String> o) {
+checkUnnamed391(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3157,8 +3157,8 @@
   var o = new api.VideoContentDetailsRegionRestriction();
   buildCounterVideoContentDetailsRegionRestriction++;
   if (buildCounterVideoContentDetailsRegionRestriction < 3) {
-    o.allowed = buildUnnamed367();
-    o.blocked = buildUnnamed368();
+    o.allowed = buildUnnamed390();
+    o.blocked = buildUnnamed391();
   }
   buildCounterVideoContentDetailsRegionRestriction--;
   return o;
@@ -3167,8 +3167,8 @@
 checkVideoContentDetailsRegionRestriction(api.VideoContentDetailsRegionRestriction o) {
   buildCounterVideoContentDetailsRegionRestriction++;
   if (buildCounterVideoContentDetailsRegionRestriction < 3) {
-    checkUnnamed367(o.allowed);
-    checkUnnamed368(o.blocked);
+    checkUnnamed390(o.allowed);
+    checkUnnamed391(o.blocked);
   }
   buildCounterVideoContentDetailsRegionRestriction--;
 }
@@ -3194,14 +3194,14 @@
   buildCounterVideoConversionPing--;
 }
 
-buildUnnamed369() {
+buildUnnamed392() {
   var o = new core.List<api.VideoConversionPing>();
   o.add(buildVideoConversionPing());
   o.add(buildVideoConversionPing());
   return o;
 }
 
-checkUnnamed369(core.List<api.VideoConversionPing> o) {
+checkUnnamed392(core.List<api.VideoConversionPing> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoConversionPing(o[0]);
   checkVideoConversionPing(o[1]);
@@ -3212,7 +3212,7 @@
   var o = new api.VideoConversionPings();
   buildCounterVideoConversionPings++;
   if (buildCounterVideoConversionPings < 3) {
-    o.pings = buildUnnamed369();
+    o.pings = buildUnnamed392();
   }
   buildCounterVideoConversionPings--;
   return o;
@@ -3221,32 +3221,32 @@
 checkVideoConversionPings(api.VideoConversionPings o) {
   buildCounterVideoConversionPings++;
   if (buildCounterVideoConversionPings < 3) {
-    checkUnnamed369(o.pings);
+    checkUnnamed392(o.pings);
   }
   buildCounterVideoConversionPings--;
 }
 
-buildUnnamed370() {
+buildUnnamed393() {
   var o = new core.List<api.VideoFileDetailsAudioStream>();
   o.add(buildVideoFileDetailsAudioStream());
   o.add(buildVideoFileDetailsAudioStream());
   return o;
 }
 
-checkUnnamed370(core.List<api.VideoFileDetailsAudioStream> o) {
+checkUnnamed393(core.List<api.VideoFileDetailsAudioStream> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoFileDetailsAudioStream(o[0]);
   checkVideoFileDetailsAudioStream(o[1]);
 }
 
-buildUnnamed371() {
+buildUnnamed394() {
   var o = new core.List<api.VideoFileDetailsVideoStream>();
   o.add(buildVideoFileDetailsVideoStream());
   o.add(buildVideoFileDetailsVideoStream());
   return o;
 }
 
-checkUnnamed371(core.List<api.VideoFileDetailsVideoStream> o) {
+checkUnnamed394(core.List<api.VideoFileDetailsVideoStream> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoFileDetailsVideoStream(o[0]);
   checkVideoFileDetailsVideoStream(o[1]);
@@ -3257,7 +3257,7 @@
   var o = new api.VideoFileDetails();
   buildCounterVideoFileDetails++;
   if (buildCounterVideoFileDetails < 3) {
-    o.audioStreams = buildUnnamed370();
+    o.audioStreams = buildUnnamed393();
     o.bitrateBps = "foo";
     o.container = "foo";
     o.creationTime = "foo";
@@ -3266,7 +3266,7 @@
     o.fileSize = "foo";
     o.fileType = "foo";
     o.recordingLocation = buildGeoPoint();
-    o.videoStreams = buildUnnamed371();
+    o.videoStreams = buildUnnamed394();
   }
   buildCounterVideoFileDetails--;
   return o;
@@ -3275,7 +3275,7 @@
 checkVideoFileDetails(api.VideoFileDetails o) {
   buildCounterVideoFileDetails++;
   if (buildCounterVideoFileDetails < 3) {
-    checkUnnamed370(o.audioStreams);
+    checkUnnamed393(o.audioStreams);
     unittest.expect(o.bitrateBps, unittest.equals('foo'));
     unittest.expect(o.container, unittest.equals('foo'));
     unittest.expect(o.creationTime, unittest.equals('foo'));
@@ -3284,7 +3284,7 @@
     unittest.expect(o.fileSize, unittest.equals('foo'));
     unittest.expect(o.fileType, unittest.equals('foo'));
     checkGeoPoint(o.recordingLocation);
-    checkUnnamed371(o.videoStreams);
+    checkUnnamed394(o.videoStreams);
   }
   buildCounterVideoFileDetails--;
 }
@@ -3347,14 +3347,14 @@
   buildCounterVideoFileDetailsVideoStream--;
 }
 
-buildUnnamed372() {
+buildUnnamed395() {
   var o = new core.List<api.VideoRating>();
   o.add(buildVideoRating());
   o.add(buildVideoRating());
   return o;
 }
 
-checkUnnamed372(core.List<api.VideoRating> o) {
+checkUnnamed395(core.List<api.VideoRating> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoRating(o[0]);
   checkVideoRating(o[1]);
@@ -3366,7 +3366,7 @@
   buildCounterVideoGetRatingResponse++;
   if (buildCounterVideoGetRatingResponse < 3) {
     o.etag = "foo";
-    o.items = buildUnnamed372();
+    o.items = buildUnnamed395();
     o.kind = "foo";
   }
   buildCounterVideoGetRatingResponse--;
@@ -3377,20 +3377,20 @@
   buildCounterVideoGetRatingResponse++;
   if (buildCounterVideoGetRatingResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
-    checkUnnamed372(o.items);
+    checkUnnamed395(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterVideoGetRatingResponse--;
 }
 
-buildUnnamed373() {
+buildUnnamed396() {
   var o = new core.List<api.Video>();
   o.add(buildVideo());
   o.add(buildVideo());
   return o;
 }
 
-checkUnnamed373(core.List<api.Video> o) {
+checkUnnamed396(core.List<api.Video> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideo(o[0]);
   checkVideo(o[1]);
@@ -3403,7 +3403,7 @@
   if (buildCounterVideoListResponse < 3) {
     o.etag = "foo";
     o.eventId = "foo";
-    o.items = buildUnnamed373();
+    o.items = buildUnnamed396();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.pageInfo = buildPageInfo();
@@ -3420,7 +3420,7 @@
   if (buildCounterVideoListResponse < 3) {
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.eventId, unittest.equals('foo'));
-    checkUnnamed373(o.items);
+    checkUnnamed396(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     checkPageInfo(o.pageInfo);
@@ -3552,14 +3552,14 @@
   buildCounterVideoProcessingDetailsProcessingProgress--;
 }
 
-buildUnnamed374() {
+buildUnnamed397() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed374(core.List<core.String> o) {
+checkUnnamed397(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3570,7 +3570,7 @@
   var o = new api.VideoProjectDetails();
   buildCounterVideoProjectDetails++;
   if (buildCounterVideoProjectDetails < 3) {
-    o.tags = buildUnnamed374();
+    o.tags = buildUnnamed397();
   }
   buildCounterVideoProjectDetails--;
   return o;
@@ -3579,7 +3579,7 @@
 checkVideoProjectDetails(api.VideoProjectDetails o) {
   buildCounterVideoProjectDetails++;
   if (buildCounterVideoProjectDetails < 3) {
-    checkUnnamed374(o.tags);
+    checkUnnamed397(o.tags);
   }
   buildCounterVideoProjectDetails--;
 }
@@ -3628,14 +3628,14 @@
   buildCounterVideoRecordingDetails--;
 }
 
-buildUnnamed375() {
+buildUnnamed398() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed375(core.List<core.String> o) {
+checkUnnamed398(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3652,7 +3652,7 @@
     o.description = "foo";
     o.liveBroadcastContent = "foo";
     o.publishedAt = core.DateTime.parse("2002-02-27T14:01:02");
-    o.tags = buildUnnamed375();
+    o.tags = buildUnnamed398();
     o.thumbnails = buildThumbnailDetails();
     o.title = "foo";
   }
@@ -3669,7 +3669,7 @@
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.liveBroadcastContent, unittest.equals('foo'));
     unittest.expect(o.publishedAt, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed375(o.tags);
+    checkUnnamed398(o.tags);
     checkThumbnailDetails(o.thumbnails);
     unittest.expect(o.title, unittest.equals('foo'));
   }
@@ -3736,66 +3736,66 @@
   buildCounterVideoStatus--;
 }
 
-buildUnnamed376() {
+buildUnnamed399() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed376(core.List<core.String> o) {
+checkUnnamed399(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed377() {
+buildUnnamed400() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed377(core.List<core.String> o) {
+checkUnnamed400(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed378() {
+buildUnnamed401() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed378(core.List<core.String> o) {
+checkUnnamed401(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed379() {
+buildUnnamed402() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed379(core.List<core.String> o) {
+checkUnnamed402(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed380() {
+buildUnnamed403() {
   var o = new core.List<api.VideoSuggestionsTagSuggestion>();
   o.add(buildVideoSuggestionsTagSuggestion());
   o.add(buildVideoSuggestionsTagSuggestion());
   return o;
 }
 
-checkUnnamed380(core.List<api.VideoSuggestionsTagSuggestion> o) {
+checkUnnamed403(core.List<api.VideoSuggestionsTagSuggestion> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVideoSuggestionsTagSuggestion(o[0]);
   checkVideoSuggestionsTagSuggestion(o[1]);
@@ -3806,11 +3806,11 @@
   var o = new api.VideoSuggestions();
   buildCounterVideoSuggestions++;
   if (buildCounterVideoSuggestions < 3) {
-    o.editorSuggestions = buildUnnamed376();
-    o.processingErrors = buildUnnamed377();
-    o.processingHints = buildUnnamed378();
-    o.processingWarnings = buildUnnamed379();
-    o.tagSuggestions = buildUnnamed380();
+    o.editorSuggestions = buildUnnamed399();
+    o.processingErrors = buildUnnamed400();
+    o.processingHints = buildUnnamed401();
+    o.processingWarnings = buildUnnamed402();
+    o.tagSuggestions = buildUnnamed403();
   }
   buildCounterVideoSuggestions--;
   return o;
@@ -3819,23 +3819,23 @@
 checkVideoSuggestions(api.VideoSuggestions o) {
   buildCounterVideoSuggestions++;
   if (buildCounterVideoSuggestions < 3) {
-    checkUnnamed376(o.editorSuggestions);
-    checkUnnamed377(o.processingErrors);
-    checkUnnamed378(o.processingHints);
-    checkUnnamed379(o.processingWarnings);
-    checkUnnamed380(o.tagSuggestions);
+    checkUnnamed399(o.editorSuggestions);
+    checkUnnamed400(o.processingErrors);
+    checkUnnamed401(o.processingHints);
+    checkUnnamed402(o.processingWarnings);
+    checkUnnamed403(o.tagSuggestions);
   }
   buildCounterVideoSuggestions--;
 }
 
-buildUnnamed381() {
+buildUnnamed404() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed381(core.List<core.String> o) {
+checkUnnamed404(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3846,7 +3846,7 @@
   var o = new api.VideoSuggestionsTagSuggestion();
   buildCounterVideoSuggestionsTagSuggestion++;
   if (buildCounterVideoSuggestionsTagSuggestion < 3) {
-    o.categoryRestricts = buildUnnamed381();
+    o.categoryRestricts = buildUnnamed404();
     o.tag = "foo";
   }
   buildCounterVideoSuggestionsTagSuggestion--;
@@ -3856,33 +3856,33 @@
 checkVideoSuggestionsTagSuggestion(api.VideoSuggestionsTagSuggestion o) {
   buildCounterVideoSuggestionsTagSuggestion++;
   if (buildCounterVideoSuggestionsTagSuggestion < 3) {
-    checkUnnamed381(o.categoryRestricts);
+    checkUnnamed404(o.categoryRestricts);
     unittest.expect(o.tag, unittest.equals('foo'));
   }
   buildCounterVideoSuggestionsTagSuggestion--;
 }
 
-buildUnnamed382() {
+buildUnnamed405() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed382(core.List<core.String> o) {
+checkUnnamed405(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed383() {
+buildUnnamed406() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed383(core.List<core.String> o) {
+checkUnnamed406(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -3893,8 +3893,8 @@
   var o = new api.VideoTopicDetails();
   buildCounterVideoTopicDetails++;
   if (buildCounterVideoTopicDetails < 3) {
-    o.relevantTopicIds = buildUnnamed382();
-    o.topicIds = buildUnnamed383();
+    o.relevantTopicIds = buildUnnamed405();
+    o.topicIds = buildUnnamed406();
   }
   buildCounterVideoTopicDetails--;
   return o;
@@ -3903,8 +3903,8 @@
 checkVideoTopicDetails(api.VideoTopicDetails o) {
   buildCounterVideoTopicDetails++;
   if (buildCounterVideoTopicDetails < 3) {
-    checkUnnamed382(o.relevantTopicIds);
-    checkUnnamed383(o.topicIds);
+    checkUnnamed405(o.relevantTopicIds);
+    checkUnnamed406(o.topicIds);
   }
   buildCounterVideoTopicDetails--;
 }
@@ -5056,8 +5056,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("activities"));
         pathOffset += 10;
 
@@ -5109,8 +5111,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("activities"));
         pathOffset += 10;
 
@@ -5172,8 +5176,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("channelBanners/insert"));
         pathOffset += 21;
 
@@ -5221,8 +5227,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("channelSections"));
         pathOffset += 15;
 
@@ -5270,8 +5278,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("channelSections"));
         pathOffset += 15;
 
@@ -5321,8 +5331,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("channelSections"));
         pathOffset += 15;
 
@@ -5374,8 +5386,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("channelSections"));
         pathOffset += 15;
 
@@ -5432,8 +5446,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("channels"));
         pathOffset += 8;
 
@@ -5491,8 +5507,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("channels"));
         pathOffset += 8;
 
@@ -5544,8 +5562,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("guideCategories"));
         pathOffset += 15;
 
@@ -5597,8 +5617,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("i18nLanguages"));
         pathOffset += 13;
 
@@ -5648,8 +5670,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("i18nRegions"));
         pathOffset += 11;
 
@@ -5702,8 +5726,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("liveBroadcasts/bind"));
         pathOffset += 19;
 
@@ -5757,8 +5783,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("liveBroadcasts/control"));
         pathOffset += 22;
 
@@ -5810,8 +5838,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("liveBroadcasts"));
         pathOffset += 14;
 
@@ -5861,8 +5891,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("liveBroadcasts"));
         pathOffset += 14;
 
@@ -5915,8 +5947,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("liveBroadcasts"));
         pathOffset += 14;
 
@@ -5971,8 +6005,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("liveBroadcasts/transition"));
         pathOffset += 25;
 
@@ -6026,8 +6062,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("liveBroadcasts"));
         pathOffset += 14;
 
@@ -6079,8 +6117,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("liveStreams"));
         pathOffset += 11;
 
@@ -6130,8 +6170,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("liveStreams"));
         pathOffset += 11;
 
@@ -6183,8 +6225,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("liveStreams"));
         pathOffset += 11;
 
@@ -6240,8 +6284,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("liveStreams"));
         pathOffset += 11;
 
@@ -6291,8 +6337,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("playlistItems"));
         pathOffset += 13;
 
@@ -6339,8 +6387,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("playlistItems"));
         pathOffset += 13;
 
@@ -6391,8 +6441,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("playlistItems"));
         pathOffset += 13;
 
@@ -6446,8 +6498,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("playlistItems"));
         pathOffset += 13;
 
@@ -6496,8 +6550,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("playlists"));
         pathOffset += 9;
 
@@ -6546,8 +6602,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("playlists"));
         pathOffset += 9;
 
@@ -6600,8 +6658,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("playlists"));
         pathOffset += 9;
 
@@ -6657,8 +6717,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("playlists"));
         pathOffset += 9;
 
@@ -6735,8 +6797,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("search"));
         pathOffset += 6;
 
@@ -6812,8 +6876,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -6859,8 +6925,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -6914,8 +6982,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -6976,8 +7046,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("thumbnails/set"));
         pathOffset += 14;
 
@@ -7029,8 +7101,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("videoCategories"));
         pathOffset += 15;
 
@@ -7082,8 +7156,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("videos"));
         pathOffset += 6;
 
@@ -7127,8 +7203,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("videos/getRating"));
         pathOffset += 16;
 
@@ -7184,8 +7262,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("videos"));
         pathOffset += 6;
 
@@ -7243,8 +7323,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("videos"));
         pathOffset += 6;
 
@@ -7299,8 +7381,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("videos/rate"));
         pathOffset += 11;
 
@@ -7349,8 +7433,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("videos"));
         pathOffset += 6;
 
@@ -7406,8 +7492,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("watermarks/set"));
         pathOffset += 14;
 
@@ -7451,8 +7539,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/youtube/v3/"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("youtube/v3/"));
+        pathOffset += 11;
         unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("watermarks/unset"));
         pathOffset += 16;
 
diff --git a/generated/googleapis/test/youtubeanalytics/v1_test.dart b/generated/googleapis/test/youtubeanalytics/v1_test.dart
index 04a457c..78dbab8 100644
--- a/generated/googleapis/test/youtubeanalytics/v1_test.dart
+++ b/generated/googleapis/test/youtubeanalytics/v1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed204() {
+buildUnnamed207() {
   var o = new core.List<api.BatchReportDefinitionTemplate>();
   o.add(buildBatchReportDefinitionTemplate());
   o.add(buildBatchReportDefinitionTemplate());
   return o;
 }
 
-checkUnnamed204(core.List<api.BatchReportDefinitionTemplate> o) {
+checkUnnamed207(core.List<api.BatchReportDefinitionTemplate> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBatchReportDefinitionTemplate(o[0]);
   checkBatchReportDefinitionTemplate(o[1]);
@@ -34,7 +34,7 @@
   var o = new api.BatchReportDefinitionList();
   buildCounterBatchReportDefinitionList++;
   if (buildCounterBatchReportDefinitionList < 3) {
-    o.items = buildUnnamed204();
+    o.items = buildUnnamed207();
     o.kind = "foo";
   }
   buildCounterBatchReportDefinitionList--;
@@ -44,7 +44,7 @@
 checkBatchReportDefinitionList(api.BatchReportDefinitionList o) {
   buildCounterBatchReportDefinitionList++;
   if (buildCounterBatchReportDefinitionList < 3) {
-    checkUnnamed204(o.items);
+    checkUnnamed207(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBatchReportDefinitionList--;
@@ -71,14 +71,14 @@
   buildCounterBatchReportDefinitionTemplateDefaultOutput--;
 }
 
-buildUnnamed205() {
+buildUnnamed208() {
   var o = new core.List<api.BatchReportDefinitionTemplateDefaultOutput>();
   o.add(buildBatchReportDefinitionTemplateDefaultOutput());
   o.add(buildBatchReportDefinitionTemplateDefaultOutput());
   return o;
 }
 
-checkUnnamed205(core.List<api.BatchReportDefinitionTemplateDefaultOutput> o) {
+checkUnnamed208(core.List<api.BatchReportDefinitionTemplateDefaultOutput> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBatchReportDefinitionTemplateDefaultOutput(o[0]);
   checkBatchReportDefinitionTemplateDefaultOutput(o[1]);
@@ -89,7 +89,7 @@
   var o = new api.BatchReportDefinitionTemplate();
   buildCounterBatchReportDefinitionTemplate++;
   if (buildCounterBatchReportDefinitionTemplate < 3) {
-    o.defaultOutput = buildUnnamed205();
+    o.defaultOutput = buildUnnamed208();
     o.id = "foo";
     o.name = "foo";
     o.status = "foo";
@@ -102,7 +102,7 @@
 checkBatchReportDefinitionTemplate(api.BatchReportDefinitionTemplate o) {
   buildCounterBatchReportDefinitionTemplate++;
   if (buildCounterBatchReportDefinitionTemplate < 3) {
-    checkUnnamed205(o.defaultOutput);
+    checkUnnamed208(o.defaultOutput);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.status, unittest.equals('foo'));
@@ -111,14 +111,14 @@
   buildCounterBatchReportDefinitionTemplate--;
 }
 
-buildUnnamed206() {
+buildUnnamed209() {
   var o = new core.List<api.BatchReportTemplate>();
   o.add(buildBatchReportTemplate());
   o.add(buildBatchReportTemplate());
   return o;
 }
 
-checkUnnamed206(core.List<api.BatchReportTemplate> o) {
+checkUnnamed209(core.List<api.BatchReportTemplate> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBatchReportTemplate(o[0]);
   checkBatchReportTemplate(o[1]);
@@ -129,7 +129,7 @@
   var o = new api.BatchReportList();
   buildCounterBatchReportList++;
   if (buildCounterBatchReportList < 3) {
-    o.items = buildUnnamed206();
+    o.items = buildUnnamed209();
     o.kind = "foo";
   }
   buildCounterBatchReportList--;
@@ -139,7 +139,7 @@
 checkBatchReportList(api.BatchReportList o) {
   buildCounterBatchReportList++;
   if (buildCounterBatchReportList < 3) {
-    checkUnnamed206(o.items);
+    checkUnnamed209(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterBatchReportList--;
@@ -168,14 +168,14 @@
   buildCounterBatchReportTemplateOutputs--;
 }
 
-buildUnnamed207() {
+buildUnnamed210() {
   var o = new core.List<api.BatchReportTemplateOutputs>();
   o.add(buildBatchReportTemplateOutputs());
   o.add(buildBatchReportTemplateOutputs());
   return o;
 }
 
-checkUnnamed207(core.List<api.BatchReportTemplateOutputs> o) {
+checkUnnamed210(core.List<api.BatchReportTemplateOutputs> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBatchReportTemplateOutputs(o[0]);
   checkBatchReportTemplateOutputs(o[1]);
@@ -208,7 +208,7 @@
   buildCounterBatchReportTemplate++;
   if (buildCounterBatchReportTemplate < 3) {
     o.id = "foo";
-    o.outputs = buildUnnamed207();
+    o.outputs = buildUnnamed210();
     o.reportId = "foo";
     o.timeSpan = buildBatchReportTemplateTimeSpan();
     o.timeUpdated = core.DateTime.parse("2002-02-27T14:01:02");
@@ -221,7 +221,7 @@
   buildCounterBatchReportTemplate++;
   if (buildCounterBatchReportTemplate < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed207(o.outputs);
+    checkUnnamed210(o.outputs);
     unittest.expect(o.reportId, unittest.equals('foo'));
     checkBatchReportTemplateTimeSpan(o.timeSpan);
     unittest.expect(o.timeUpdated, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
@@ -252,43 +252,43 @@
   buildCounterResultTableColumnHeaders--;
 }
 
-buildUnnamed208() {
+buildUnnamed211() {
   var o = new core.List<api.ResultTableColumnHeaders>();
   o.add(buildResultTableColumnHeaders());
   o.add(buildResultTableColumnHeaders());
   return o;
 }
 
-checkUnnamed208(core.List<api.ResultTableColumnHeaders> o) {
+checkUnnamed211(core.List<api.ResultTableColumnHeaders> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResultTableColumnHeaders(o[0]);
   checkResultTableColumnHeaders(o[1]);
 }
 
-buildUnnamed209() {
+buildUnnamed212() {
   var o = new core.List<core.Object>();
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   o.add({'list' : [1, 2, 3], 'bool' : true, 'string' : 'foo'});
   return o;
 }
 
-checkUnnamed209(core.List<core.Object> o) {
+checkUnnamed212(core.List<core.Object> o) {
   unittest.expect(o, unittest.hasLength(2));
   var casted1 = (o[0]) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); unittest.expect(casted1["bool"], unittest.equals(true)); unittest.expect(casted1["string"], unittest.equals('foo')); 
   var casted2 = (o[1]) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); unittest.expect(casted2["bool"], unittest.equals(true)); unittest.expect(casted2["string"], unittest.equals('foo')); 
 }
 
-buildUnnamed210() {
+buildUnnamed213() {
   var o = new core.List<core.List<core.Object>>();
-  o.add(buildUnnamed209());
-  o.add(buildUnnamed209());
+  o.add(buildUnnamed212());
+  o.add(buildUnnamed212());
   return o;
 }
 
-checkUnnamed210(core.List<core.List<core.Object>> o) {
+checkUnnamed213(core.List<core.List<core.Object>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed209(o[0]);
-  checkUnnamed209(o[1]);
+  checkUnnamed212(o[0]);
+  checkUnnamed212(o[1]);
 }
 
 core.int buildCounterResultTable = 0;
@@ -296,9 +296,9 @@
   var o = new api.ResultTable();
   buildCounterResultTable++;
   if (buildCounterResultTable < 3) {
-    o.columnHeaders = buildUnnamed208();
+    o.columnHeaders = buildUnnamed211();
     o.kind = "foo";
-    o.rows = buildUnnamed210();
+    o.rows = buildUnnamed213();
   }
   buildCounterResultTable--;
   return o;
@@ -307,9 +307,9 @@
 checkResultTable(api.ResultTable o) {
   buildCounterResultTable++;
   if (buildCounterResultTable < 3) {
-    checkUnnamed208(o.columnHeaders);
+    checkUnnamed211(o.columnHeaders);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed210(o.rows);
+    checkUnnamed213(o.rows);
   }
   buildCounterResultTable--;
 }
@@ -408,8 +408,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/youtube/analytics/v1/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("youtube/analytics/v1/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("batchReportDefinitions"));
         pathOffset += 22;
 
@@ -458,8 +460,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/youtube/analytics/v1/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("youtube/analytics/v1/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("batchReports"));
         pathOffset += 12;
 
@@ -516,8 +520,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/youtube/analytics/v1/"));
-        pathOffset += 22;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 21), unittest.equals("youtube/analytics/v1/"));
+        pathOffset += 21;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("reports"));
         pathOffset += 7;
 
diff --git a/generated/googleapis_beta/CHANGELOG.md b/generated/googleapis_beta/CHANGELOG.md
index e01e4e7..9954163 100644
--- a/generated/googleapis_beta/CHANGELOG.md
+++ b/generated/googleapis_beta/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 0.2.0
+
+* [apis] autoscaler:v1beta2: schema changes
+* [apis] datastore:v1beta2: new API scopes, more descriptions
+* [apis] manager:v1beta2: schema changes
+* [apis-breaking] genomics:v1beta: major changes (method argument changes, schema renames, method removals/additions)
+* [generator] Bugfix in resumable media uploader.
+
 ## 0.1.1
 
 * [generator] Make shorter descriptions in pubspec.yaml: Only list api:version tuples.
diff --git a/generated/googleapis_beta/lib/autoscaler/v1beta2.dart b/generated/googleapis_beta/lib/autoscaler/v1beta2.dart
index 876d526..3440ba5 100644
--- a/generated/googleapis_beta/lib/autoscaler/v1beta2.dart
+++ b/generated/googleapis_beta/lib/autoscaler/v1beta2.dart
@@ -31,7 +31,7 @@
   ZoneOperationsResourceApi get zoneOperations => new ZoneOperationsResourceApi(_requester);
 
   AutoscalerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/autoscaler/v1beta2/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "autoscaler/v1beta2/");
 }
 
 
@@ -568,6 +568,9 @@
    */
   core.String id;
 
+  /** Type of resource. */
+  core.String kind;
+
   /** Name of the Autoscaler resource. Must be unique per project and zone. */
   core.String name;
 
@@ -597,6 +600,9 @@
     if (_json.containsKey("id")) {
       id = _json["id"];
     }
+    if (_json.containsKey("kind")) {
+      kind = _json["kind"];
+    }
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
@@ -622,6 +628,9 @@
     if (id != null) {
       _json["id"] = id;
     }
+    if (kind != null) {
+      _json["kind"] = kind;
+    }
     if (name != null) {
       _json["name"] = name;
     }
@@ -641,6 +650,9 @@
   /** Autoscaler resources. */
   core.List<Autoscaler> items;
 
+  /** Type of resource. */
+  core.String kind;
+
   /** [Output only] A token used to continue a truncated list request. */
   core.String nextPageToken;
 
@@ -651,6 +663,9 @@
     if (_json.containsKey("items")) {
       items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toList();
     }
+    if (_json.containsKey("kind")) {
+      kind = _json["kind"];
+    }
     if (_json.containsKey("nextPageToken")) {
       nextPageToken = _json["nextPageToken"];
     }
@@ -661,6 +676,9 @@
     if (items != null) {
       _json["items"] = items.map((value) => (value).toJson()).toList();
     }
+    if (kind != null) {
+      _json["kind"] = kind;
+    }
     if (nextPageToken != null) {
       _json["nextPageToken"] = nextPageToken;
     }
@@ -793,6 +811,9 @@
    */
   core.double utilizationTarget;
 
+  /** Defines type in which utilization_target is expressed. */
+  core.String utilizationTargetType;
+
 
   AutoscalingPolicyCustomMetricUtilization();
 
@@ -803,6 +824,9 @@
     if (_json.containsKey("utilizationTarget")) {
       utilizationTarget = _json["utilizationTarget"];
     }
+    if (_json.containsKey("utilizationTargetType")) {
+      utilizationTargetType = _json["utilizationTargetType"];
+    }
   }
 
   core.Map toJson() {
@@ -813,6 +837,9 @@
     if (utilizationTarget != null) {
       _json["utilizationTarget"] = utilizationTarget;
     }
+    if (utilizationTargetType != null) {
+      _json["utilizationTargetType"] = utilizationTargetType;
+    }
     return _json;
   }
 }
diff --git a/generated/googleapis_beta/lib/cloudmonitoring/v2beta1.dart b/generated/googleapis_beta/lib/cloudmonitoring/v2beta1.dart
index 8f8bd13..5d4bcad 100644
--- a/generated/googleapis_beta/lib/cloudmonitoring/v2beta1.dart
+++ b/generated/googleapis_beta/lib/cloudmonitoring/v2beta1.dart
@@ -26,7 +26,7 @@
   TimeseriesDescriptorsResourceApi get timeseriesDescriptors => new TimeseriesDescriptorsResourceApi(_requester);
 
   CloudmonitoringApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/cloudmonitoring/v2beta1/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "cloudmonitoring/v2beta1/projects/");
 }
 
 
diff --git a/generated/googleapis_beta/lib/datastore/v1beta2.dart b/generated/googleapis_beta/lib/datastore/v1beta2.dart
index 5b1293f..73c2f03 100644
--- a/generated/googleapis_beta/lib/datastore/v1beta2.dart
+++ b/generated/googleapis_beta/lib/datastore/v1beta2.dart
@@ -15,6 +15,9 @@
 
 /** API for accessing Google Cloud Datastore. */
 class DatastoreApi {
+  /** View and manage your data across Google Cloud Platform services */
+  static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
   /** View and manage your Google Cloud Datastore data */
   static const DatastoreScope = "https://www.googleapis.com/auth/datastore";
 
@@ -27,7 +30,7 @@
   DatasetsResourceApi get datasets => new DatasetsResourceApi(_requester);
 
   DatastoreApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/datastore/v1beta2/datasets/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "datastore/v1beta2/datasets/");
 }
 
 
@@ -552,7 +555,9 @@
 }
 
 
-/** Not documented yet. */
+/**
+ * A filter that merges the multiple other filters using the given operation.
+ */
 class CompositeFilter {
   /** The list of filters to combine. Must contain at least one filter. */
   core.List<Filter> filters;
@@ -590,7 +595,7 @@
 }
 
 
-/** Not documented yet. */
+/** An entity. */
 class Entity {
   /**
    * The entity's key.
@@ -629,7 +634,7 @@
 }
 
 
-/** Not documented yet. */
+/** The result of fetching an entity from the datastore. */
 class EntityResult {
   /** The resulting entity. */
   Entity entity;
@@ -653,7 +658,7 @@
 }
 
 
-/** Not documented yet. */
+/** A holder for any type of filter. Exactly one field should be specified. */
 class Filter {
   /** A composite filter. */
   CompositeFilter compositeFilter;
@@ -686,7 +691,7 @@
 }
 
 
-/** Not documented yet. */
+/** A GQL query. */
 class GqlQuery {
   /** When false, the query string must not contain a literal. */
   core.bool allowLiteral;
@@ -708,7 +713,7 @@
    */
   core.List<GqlQueryArg> numberArgs;
 
-  /** Not documented yet. */
+  /** The query string. */
   core.String queryString;
 
 
@@ -748,7 +753,7 @@
 }
 
 
-/** Not documented yet. */
+/** A binding argument for a GQL query. */
 class GqlQueryArg {
   /** Not documented yet. */
   core.String cursor;
@@ -801,7 +806,7 @@
 }
 
 
-/** Not documented yet. */
+/** A unique identifier for an entity. */
 class Key {
   /**
    * Entities are partitioned into subsets, currently identified by a dataset
@@ -908,7 +913,7 @@
 }
 
 
-/** Not documented yet. */
+/** A representation of a kind. */
 class KindExpression {
   /** The name of the kind. */
   core.String name;
@@ -1016,7 +1021,7 @@
 }
 
 
-/** Not documented yet. */
+/** A set of changes to apply. */
 class Mutation {
   /**
    * Keys of entities to delete. Each key must have a complete key path and must
@@ -1136,7 +1141,12 @@
 }
 
 
-/** Not documented yet. */
+/**
+ * An identifier for a particular subset of entities.
+ *
+ * Entities are partitioned into various subsets, each used by different
+ * datasets and different namespaces within a dataset and so forth.
+ */
 class PartitionId {
   /** The dataset ID. */
   core.String datasetId;
@@ -1169,7 +1179,7 @@
 }
 
 
-/** Not documented yet. */
+/** An entity property. */
 class Property {
   /** A blob key value. */
   core.String blobKeyValue;
@@ -1315,7 +1325,7 @@
 }
 
 
-/** Not documented yet. */
+/** A representation of a property in a projection. */
 class PropertyExpression {
   /**
    * The aggregation function to apply to the property. Optional. Can only be
@@ -1356,7 +1366,7 @@
 }
 
 
-/** Not documented yet. */
+/** A filter on a specific property. */
 class PropertyFilter {
   /**
    * The operator to filter by. One of lessThan, lessThanOrEqual, greaterThan,
@@ -1408,7 +1418,7 @@
 }
 
 
-/** Not documented yet. */
+/** The desired order for a specific property. */
 class PropertyOrder {
   /**
    * The direction to order by. One of ascending or descending. Optional,
@@ -1447,7 +1457,7 @@
 }
 
 
-/** Not documented yet. */
+/** A reference to a property relative to the kind expressions. */
 class PropertyReference {
   /** The name of the property. */
   core.String name;
@@ -1471,7 +1481,7 @@
 }
 
 
-/** Not documented yet. */
+/** A query. */
 class Query {
   /**
    * An ending point for the query results. Optional. Query cursors are returned
@@ -1600,11 +1610,12 @@
 }
 
 
-/** Not documented yet. */
+/** A batch of results produced by a query. */
 class QueryResultBatch {
   /**
    * A cursor that points to the position after the last result in the batch.
-   * May be absent.
+   * May be absent. TODO(arfuller): Once all plans produce cursors update
+   * documentation here.
    */
   core.String endCursor;
 
@@ -1916,7 +1927,10 @@
 }
 
 
-/** Not documented yet. */
+/**
+ * A message that can hold any of the supported value types and associated
+ * metadata.
+ */
 class Value {
   /** A blob key value. */
   core.String blobKeyValue;
diff --git a/generated/googleapis_beta/lib/dns/v1beta1.dart b/generated/googleapis_beta/lib/dns/v1beta1.dart
index 55e6468..f82a0ec 100644
--- a/generated/googleapis_beta/lib/dns/v1beta1.dart
+++ b/generated/googleapis_beta/lib/dns/v1beta1.dart
@@ -36,7 +36,7 @@
   ResourceRecordSetsResourceApi get resourceRecordSets => new ResourceRecordSetsResourceApi(_requester);
 
   DnsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/dns/v1beta1/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "dns/v1beta1/projects/");
 }
 
 
diff --git a/generated/googleapis_beta/lib/genomics/v1beta.dart b/generated/googleapis_beta/lib/genomics/v1beta.dart
index c74ffda..e681268 100644
--- a/generated/googleapis_beta/lib/genomics/v1beta.dart
+++ b/generated/googleapis_beta/lib/genomics/v1beta.dart
@@ -38,9 +38,10 @@
   ReadsResourceApi get reads => new ReadsResourceApi(_requester);
   ReadsetsResourceApi get readsets => new ReadsetsResourceApi(_requester);
   VariantsResourceApi get variants => new VariantsResourceApi(_requester);
+  VariantsetsResourceApi get variantsets => new VariantsetsResourceApi(_requester);
 
   GenomicsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/genomics/v1beta/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "genomics/v1beta/");
 }
 
 
@@ -57,15 +58,15 @@
    *
    * Request parameters:
    *
-   * [variantsetId] - The ID of the variantset to query over. It must be public.
-   * Private variantsets will return an unauthorized exception.
+   * [variantSetId] - The ID of the variant set to query over. It must be
+   * public. Private variant sets will return an unauthorized exception.
    *
    * [allele] - Required. The allele to look for ('A', 'C', 'G' or 'T').
    *
-   * [contig] - Required. The contig to query over.
-   *
    * [position] - Required. The 0-based position to query.
    *
+   * [referenceName] - Required. The reference to query over.
+   *
    * Completes with a [Beacon].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
@@ -74,7 +75,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Beacon> get(core.String variantsetId, {core.String allele, core.String contig, core.String position}) {
+  async.Future<Beacon> get(core.String variantSetId, {core.String allele, core.String position, core.String referenceName}) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -82,21 +83,21 @@
     var _downloadOptions = common.DownloadOptions.Metadata;
     var _body = null;
 
-    if (variantsetId == null) {
-      throw new core.ArgumentError("Parameter variantsetId is required.");
+    if (variantSetId == null) {
+      throw new core.ArgumentError("Parameter variantSetId is required.");
     }
     if (allele != null) {
       _queryParams["allele"] = [allele];
     }
-    if (contig != null) {
-      _queryParams["contig"] = [contig];
-    }
     if (position != null) {
       _queryParams["position"] = [position];
     }
+    if (referenceName != null) {
+      _queryParams["referenceName"] = [referenceName];
+    }
 
 
-    _url = 'beacons/' + common_internal.Escaper.ecapeVariable('$variantsetId');
+    _url = 'beacons/' + common_internal.Escaper.ecapeVariable('$variantSetId');
 
     var _response = _requester.request(_url,
                                        "GET",
@@ -119,13 +120,13 @@
       _requester = client;
 
   /**
-   * Creates a new callset.
+   * Creates a new call set.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
-   * Completes with a [Callset].
+   * Completes with a [CallSet].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -133,7 +134,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Callset> create(Callset request) {
+  async.Future<CallSet> create(CallSet request) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -155,15 +156,15 @@
                                        uploadOptions: _uploadOptions,
                                        uploadMedia: _uploadMedia,
                                        downloadOptions: _downloadOptions);
-    return _response.then((data) => new Callset.fromJson(data));
+    return _response.then((data) => new CallSet.fromJson(data));
   }
 
   /**
-   * Deletes a callset.
+   * Deletes a call set.
    *
    * Request parameters:
    *
-   * [callsetId] - The ID of the callset to be deleted.
+   * [callSetId] - The ID of the callset to be deleted.
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -171,7 +172,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future delete(core.String callsetId) {
+  async.Future delete(core.String callSetId) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -179,13 +180,13 @@
     var _downloadOptions = common.DownloadOptions.Metadata;
     var _body = null;
 
-    if (callsetId == null) {
-      throw new core.ArgumentError("Parameter callsetId is required.");
+    if (callSetId == null) {
+      throw new core.ArgumentError("Parameter callSetId is required.");
     }
 
     _downloadOptions = null;
 
-    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callsetId');
+    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callSetId');
 
     var _response = _requester.request(_url,
                                        "DELETE",
@@ -198,13 +199,13 @@
   }
 
   /**
-   * Gets a callset by ID.
+   * Gets a call set by ID.
    *
    * Request parameters:
    *
-   * [callsetId] - The ID of the callset.
+   * [callSetId] - The ID of the callset.
    *
-   * Completes with a [Callset].
+   * Completes with a [CallSet].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -212,7 +213,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Callset> get(core.String callsetId) {
+  async.Future<CallSet> get(core.String callSetId) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -220,12 +221,12 @@
     var _downloadOptions = common.DownloadOptions.Metadata;
     var _body = null;
 
-    if (callsetId == null) {
-      throw new core.ArgumentError("Parameter callsetId is required.");
+    if (callSetId == null) {
+      throw new core.ArgumentError("Parameter callSetId is required.");
     }
 
 
-    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callsetId');
+    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callSetId');
 
     var _response = _requester.request(_url,
                                        "GET",
@@ -234,19 +235,19 @@
                                        uploadOptions: _uploadOptions,
                                        uploadMedia: _uploadMedia,
                                        downloadOptions: _downloadOptions);
-    return _response.then((data) => new Callset.fromJson(data));
+    return _response.then((data) => new CallSet.fromJson(data));
   }
 
   /**
-   * Updates a callset. This method supports patch semantics.
+   * Updates a call set. This method supports patch semantics.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
-   * [callsetId] - The ID of the callset to be updated.
+   * [callSetId] - The ID of the callset to be updated.
    *
-   * Completes with a [Callset].
+   * Completes with a [CallSet].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -254,7 +255,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Callset> patch(Callset request, core.String callsetId) {
+  async.Future<CallSet> patch(CallSet request, core.String callSetId) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -265,12 +266,12 @@
     if (request != null) {
       _body = convert.JSON.encode((request).toJson());
     }
-    if (callsetId == null) {
-      throw new core.ArgumentError("Parameter callsetId is required.");
+    if (callSetId == null) {
+      throw new core.ArgumentError("Parameter callSetId is required.");
     }
 
 
-    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callsetId');
+    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callSetId');
 
     var _response = _requester.request(_url,
                                        "PATCH",
@@ -279,17 +280,17 @@
                                        uploadOptions: _uploadOptions,
                                        uploadMedia: _uploadMedia,
                                        downloadOptions: _downloadOptions);
-    return _response.then((data) => new Callset.fromJson(data));
+    return _response.then((data) => new CallSet.fromJson(data));
   }
 
   /**
-   * Gets a list of callsets matching the criteria.
+   * Gets a list of call sets matching the criteria.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
-   * Completes with a [SearchCallsetsResponse].
+   * Completes with a [SearchCallSetsResponse].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -297,7 +298,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<SearchCallsetsResponse> search(SearchCallsetsRequest request) {
+  async.Future<SearchCallSetsResponse> search(SearchCallSetsRequest request) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -319,19 +320,19 @@
                                        uploadOptions: _uploadOptions,
                                        uploadMedia: _uploadMedia,
                                        downloadOptions: _downloadOptions);
-    return _response.then((data) => new SearchCallsetsResponse.fromJson(data));
+    return _response.then((data) => new SearchCallSetsResponse.fromJson(data));
   }
 
   /**
-   * Updates a callset.
+   * Updates a call set.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
-   * [callsetId] - The ID of the callset to be updated.
+   * [callSetId] - The ID of the callset to be updated.
    *
-   * Completes with a [Callset].
+   * Completes with a [CallSet].
    *
    * Completes with a [common.ApiRequestError] if the API endpoint returned an
    * error.
@@ -339,7 +340,7 @@
    * If the used [http.Client] completes with an error when making a REST call,
    * this method  will complete with the same error.
    */
-  async.Future<Callset> update(Callset request, core.String callsetId) {
+  async.Future<CallSet> update(CallSet request, core.String callSetId) {
     var _url = null;
     var _queryParams = new core.Map();
     var _uploadMedia = null;
@@ -350,12 +351,12 @@
     if (request != null) {
       _body = convert.JSON.encode((request).toJson());
     }
-    if (callsetId == null) {
-      throw new core.ArgumentError("Parameter callsetId is required.");
+    if (callSetId == null) {
+      throw new core.ArgumentError("Parameter callSetId is required.");
     }
 
 
-    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callsetId');
+    _url = 'callsets/' + common_internal.Escaper.ecapeVariable('$callSetId');
 
     var _response = _requester.request(_url,
                                        "PUT",
@@ -364,7 +365,7 @@
                                        uploadOptions: _uploadOptions,
                                        uploadMedia: _uploadMedia,
                                        downloadOptions: _downloadOptions);
-    return _response.then((data) => new Callset.fromJson(data));
+    return _response.then((data) => new CallSet.fromJson(data));
   }
 
 }
@@ -505,7 +506,7 @@
    *
    * [pageToken] - The continuation token, which is used to page through large
    * result sets. To get the next page of results, set this parameter to the
-   * value of "nextPageToken" from the previous response.
+   * value of nextPageToken from the previous response.
    *
    * [projectId] - Only return datasets which belong to this Google Developers
    * Console project. Only accepts project numbers.
@@ -1270,23 +1271,23 @@
    *
    * [pageToken] - The continuation token, which is used to page through large
    * result sets. To get the next page of results, set this parameter to the
-   * value of "nextPageToken" from the previous response.
+   * value of nextPageToken from the previous response.
    *
    * [range_sequenceEnd] - The end position of the range on the reference,
    * 1-based exclusive. If specified, sequenceName must also be specified.
    *
-   * [range_sequenceName] - The reference sequence name, for example "chr1",
-   * "1", or "chrX".
+   * [range_sequenceName] - The reference sequence name, for example chr1, 1, or
+   * chrX.
    *
    * [range_sequenceStart] - The start position of the range on the reference,
    * 1-based inclusive. If specified, sequenceName must also be specified.
    *
    * [targetBucketWidth] - The desired width of each reported coverage bucket in
    * base pairs. This will be rounded down to the nearest precomputed bucket
-   * width; the value of which is returned as bucket_width in the response.
+   * width; the value of which is returned as bucketWidth in the response.
    * Defaults to infinity (each bucket spans an entire reference sequence) or
    * the length of the target range, if specified. The smallest precomputed
-   * bucket_width is currently 2048 base pairs; this is subject to change.
+   * bucketWidth is currently 2048 base pairs; this is subject to change.
    *
    * Completes with a [ListCoverageBucketsResponse].
    *
@@ -1509,47 +1510,6 @@
   }
 
   /**
-   * Gets a summary of all the variant data in a variantset.
-   *
-   * Request parameters:
-   *
-   * [variantsetId] - Required. The ID of the variant set to get variant summary
-   * information for.
-   *
-   * Completes with a [GetVariantsSummaryResponse].
-   *
-   * Completes with a [common.ApiRequestError] if the API endpoint returned an
-   * error.
-   *
-   * If the used [http.Client] completes with an error when making a REST call,
-   * this method  will complete with the same error.
-   */
-  async.Future<GetVariantsSummaryResponse> getSummary({core.String variantsetId}) {
-    var _url = null;
-    var _queryParams = new core.Map();
-    var _uploadMedia = null;
-    var _uploadOptions = null;
-    var _downloadOptions = common.DownloadOptions.Metadata;
-    var _body = null;
-
-    if (variantsetId != null) {
-      _queryParams["variantsetId"] = [variantsetId];
-    }
-
-
-    _url = 'variants/summary';
-
-    var _response = _requester.request(_url,
-                                       "GET",
-                                       body: _body,
-                                       queryParams: _queryParams,
-                                       uploadOptions: _uploadOptions,
-                                       uploadMedia: _uploadMedia,
-                                       downloadOptions: _downloadOptions);
-    return _response.then((data) => new GetVariantsSummaryResponse.fromJson(data));
-  }
-
-  /**
    * Creates variant data by asynchronously importing the provided information.
    *
    * [request] - The metadata request object.
@@ -1590,51 +1550,6 @@
   }
 
   /**
-   * Updates a variant. This method supports patch semantics.
-   *
-   * [request] - The metadata request object.
-   *
-   * Request parameters:
-   *
-   * [variantId] - The ID of the variant to be updated..
-   *
-   * Completes with a [Variant].
-   *
-   * Completes with a [common.ApiRequestError] if the API endpoint returned an
-   * error.
-   *
-   * If the used [http.Client] completes with an error when making a REST call,
-   * this method  will complete with the same error.
-   */
-  async.Future<Variant> patch(Variant request, core.String variantId) {
-    var _url = null;
-    var _queryParams = new core.Map();
-    var _uploadMedia = null;
-    var _uploadOptions = null;
-    var _downloadOptions = common.DownloadOptions.Metadata;
-    var _body = null;
-
-    if (request != null) {
-      _body = convert.JSON.encode((request).toJson());
-    }
-    if (variantId == null) {
-      throw new core.ArgumentError("Parameter variantId is required.");
-    }
-
-
-    _url = 'variants/' + common_internal.Escaper.ecapeVariable('$variantId');
-
-    var _response = _requester.request(_url,
-                                       "PATCH",
-                                       body: _body,
-                                       queryParams: _queryParams,
-                                       uploadOptions: _uploadOptions,
-                                       uploadMedia: _uploadMedia,
-                                       downloadOptions: _downloadOptions);
-    return _response.then((data) => new Variant.fromJson(data));
-  }
-
-  /**
    * Gets a list of variants matching the criteria.
    *
    * [request] - The metadata request object.
@@ -1675,13 +1590,14 @@
   }
 
   /**
-   * Updates a variant.
+   * Updates a variant's names and info fields. All other modifications are
+   * silently ignored. Returns the modified variant without its calls.
    *
    * [request] - The metadata request object.
    *
    * Request parameters:
    *
-   * [variantId] - The ID of the variant to be updated..
+   * [variantId] - The ID of the variant to be updated.
    *
    * Completes with a [Variant].
    *
@@ -1722,9 +1638,139 @@
 }
 
 
+/** Not documented yet. */
+class VariantsetsResourceApi {
+  final common_internal.ApiRequester _requester;
+
+  VariantsetsResourceApi(common_internal.ApiRequester client) : 
+      _requester = client;
+
+  /**
+   * Deletes the contents of a variant set. The variant set object is not
+   * deleted.
+   *
+   * Request parameters:
+   *
+   * [variantSetId] - The ID of the variant set to be deleted.
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future delete(core.String variantSetId) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (variantSetId == null) {
+      throw new core.ArgumentError("Parameter variantSetId is required.");
+    }
+
+    _downloadOptions = null;
+
+    _url = 'variantsets/' + common_internal.Escaper.ecapeVariable('$variantSetId');
+
+    var _response = _requester.request(_url,
+                                       "DELETE",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => null);
+  }
+
+  /**
+   * Gets a variant set by ID.
+   *
+   * Request parameters:
+   *
+   * [variantSetId] - Required. The ID of the variant set.
+   *
+   * Completes with a [VariantSet].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<VariantSet> get(core.String variantSetId) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (variantSetId == null) {
+      throw new core.ArgumentError("Parameter variantSetId is required.");
+    }
+
+
+    _url = 'variantsets/' + common_internal.Escaper.ecapeVariable('$variantSetId');
+
+    var _response = _requester.request(_url,
+                                       "GET",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new VariantSet.fromJson(data));
+  }
+
+  /**
+   * Returns a list of all variant sets matching search criteria.
+   *
+   * [request] - The metadata request object.
+   *
+   * Request parameters:
+   *
+   * Completes with a [SearchVariantSetsResponse].
+   *
+   * Completes with a [common.ApiRequestError] if the API endpoint returned an
+   * error.
+   *
+   * If the used [http.Client] completes with an error when making a REST call,
+   * this method  will complete with the same error.
+   */
+  async.Future<SearchVariantSetsResponse> search(SearchVariantSetsRequest request) {
+    var _url = null;
+    var _queryParams = new core.Map();
+    var _uploadMedia = null;
+    var _uploadOptions = null;
+    var _downloadOptions = common.DownloadOptions.Metadata;
+    var _body = null;
+
+    if (request != null) {
+      _body = convert.JSON.encode((request).toJson());
+    }
+
+
+    _url = 'variantsets/search';
+
+    var _response = _requester.request(_url,
+                                       "POST",
+                                       body: _body,
+                                       queryParams: _queryParams,
+                                       uploadOptions: _uploadOptions,
+                                       uploadMedia: _uploadMedia,
+                                       downloadOptions: _downloadOptions);
+    return _response.then((data) => new SearchVariantSetsResponse.fromJson(data));
+  }
+
+}
+
+
 
 /**
- * A beacon represents whether any variant call in a variantset has a specific
+ * A beacon represents whether any variant call in a variant set has a specific
  * allele at a particular position.
  */
 class Beacon {
@@ -1754,25 +1800,24 @@
  * A Call represents the determination of genotype with respect to a particular
  * variant. It may include associated information such as quality and phasing.
  * For example, a Call might assign a probability of 0.32 to the occurrence of a
- * SNP named rs1234 in a callset with the name NA12345.
+ * SNP named rs1234 in a call set with the name NA12345.
  */
 class Call {
-  /** The ID of the callset this variant call belongs to. */
-  core.String callsetId;
+  /** The ID of the call set this variant call belongs to. */
+  core.String callSetId;
 
-  /** The name of the callset this variant call belongs to. */
-  core.String callsetName;
+  /** The name of the call set this variant call belongs to. */
+  core.String callSetName;
 
   /**
    * The genotype of this variant call. Each value represents either the value
    * of the referenceBases field or a 1-based index into alternateBases. If a
-   * variant had a referenceBases field of "T" and an alternateBases value of
+   * variant had a referenceBases value of T and an alternateBases value of
    * ["A", "C"], and the genotype was [2, 1], that would mean the call
-   * represented the heterozygous value "CA" for this variant. If the genotype
-   * was instead [0, 1], the represented value would be "TA". Ordering of the
-   * genotype values is important if the phaseset field is present. If a
-   * genotype is not called (that is, a "." is present in the GT string) -1 is
-   * returned.
+   * represented the heterozygous value CA for this variant. If the genotype was
+   * instead [0, 1], the represented value would be TA. Ordering of the genotype
+   * values is important if the phaseset is present. If a genotype is not called
+   * (that is, a . is present in the GT string) -1 is returned.
    */
   core.List<core.int> genotype;
 
@@ -1788,10 +1833,10 @@
 
   /**
    * If this field is present, this variant call's genotype ordering implies the
-   * phase of the bases and is consistent with any other variant calls on the
-   * same contig which have the same phaseset value. When importing data from
-   * VCF, if the genotype data was phased but no phase set was specified this
-   * field will be set to "*".
+   * phase of the bases and is consistent with any other variant calls in the
+   * same reference sequence which have the same phaseset value. When importing
+   * data from VCF, if the genotype data was phased but no phase set was
+   * specified this field will be set to *.
    */
   core.String phaseset;
 
@@ -1799,11 +1844,11 @@
   Call();
 
   Call.fromJson(core.Map _json) {
-    if (_json.containsKey("callsetId")) {
-      callsetId = _json["callsetId"];
+    if (_json.containsKey("callSetId")) {
+      callSetId = _json["callSetId"];
     }
-    if (_json.containsKey("callsetName")) {
-      callsetName = _json["callsetName"];
+    if (_json.containsKey("callSetName")) {
+      callSetName = _json["callSetName"];
     }
     if (_json.containsKey("genotype")) {
       genotype = _json["genotype"];
@@ -1821,11 +1866,11 @@
 
   core.Map toJson() {
     var _json = new core.Map();
-    if (callsetId != null) {
-      _json["callsetId"] = callsetId;
+    if (callSetId != null) {
+      _json["callSetId"] = callSetId;
     }
-    if (callsetName != null) {
-      _json["callsetName"] = callsetName;
+    if (callSetName != null) {
+      _json["callSetName"] = callSetName;
     }
     if (genotype != null) {
       _json["genotype"] = genotype;
@@ -1844,12 +1889,12 @@
 }
 
 
-/** A Callset is a collection of Variant Calls. It belongs to a Variantset. */
-class Callset {
-  /** The date this callset was created in milliseconds from the epoch. */
+/** A CallSet is a collection of variant calls. It belongs to a variant set. */
+class CallSet {
+  /** The date this call set was created in milliseconds from the epoch. */
   core.String created;
 
-  /** The Google generated ID of the callset, immutable. */
+  /** The Google generated ID of the call set, immutable. */
   core.String id;
 
   /** A map of additional callset information. */
@@ -1858,13 +1903,16 @@
   /** The callset name. */
   core.String name;
 
-  /** The ID of the variantset this callset belongs to. */
-  core.String variantsetId;
+  /** The sample ID this call set corresponds to. */
+  core.String sampleId;
+
+  /** The IDs of the variant sets this call set belongs to. */
+  core.List<core.String> variantSetIds;
 
 
-  Callset();
+  CallSet();
 
-  Callset.fromJson(core.Map _json) {
+  CallSet.fromJson(core.Map _json) {
     if (_json.containsKey("created")) {
       created = _json["created"];
     }
@@ -1877,8 +1925,11 @@
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
-    if (_json.containsKey("variantsetId")) {
-      variantsetId = _json["variantsetId"];
+    if (_json.containsKey("sampleId")) {
+      sampleId = _json["sampleId"];
+    }
+    if (_json.containsKey("variantSetIds")) {
+      variantSetIds = _json["variantSetIds"];
     }
   }
 
@@ -1896,47 +1947,11 @@
     if (name != null) {
       _json["name"] = name;
     }
-    if (variantsetId != null) {
-      _json["variantsetId"] = variantsetId;
+    if (sampleId != null) {
+      _json["sampleId"] = sampleId;
     }
-    return _json;
-  }
-}
-
-
-/**
- * ContigBound records an upper bound for the starting coordinate of variants in
- * a particular contig.
- */
-class ContigBound {
-  /** The contig the bound is associate with. */
-  core.String contig;
-
-  /**
-   * An upper bound (inclusive) on the starting coordinate of any variant in the
-   * contig.
-   */
-  core.String upperBound;
-
-
-  ContigBound();
-
-  ContigBound.fromJson(core.Map _json) {
-    if (_json.containsKey("contig")) {
-      contig = _json["contig"];
-    }
-    if (_json.containsKey("upperBound")) {
-      upperBound = _json["upperBound"];
-    }
-  }
-
-  core.Map toJson() {
-    var _json = new core.Map();
-    if (contig != null) {
-      _json["contig"] = contig;
-    }
-    if (upperBound != null) {
-      _json["upperBound"] = upperBound;
+    if (variantSetIds != null) {
+      _json["variantSetIds"] = variantSetIds;
     }
     return _json;
   }
@@ -2042,28 +2057,28 @@
 class ExperimentalCreateJobRequest {
   /**
    * Specifies whether or not to run the alignment pipeline. At least one of
-   * align or call_variants must be provided.
+   * align or callVariants must be provided.
    */
   core.bool align;
 
   /**
    * Specifies whether or not to run the variant calling pipeline. If specified,
    * alignment will be performed first and the aligned BAMs will passed as input
-   * to the variant caller. At least one of align or call_variants must be
+   * to the variant caller. At least one of align or callVariants must be
    * provided.
    */
   core.bool callVariants;
 
   /**
-   * Specifies where to copy the results of certain pipelines. This shoud be in
-   * the form of "gs://bucket/path".
+   * Specifies where to copy the results of certain pipelines. This should be in
+   * the form of gs://bucket/path.
    */
   core.String gcsOutputPath;
 
   /**
    * A list of Google Cloud Storage URIs of paired end .fastq files to operate
    * upon. If specified, this represents the second file of each paired .fastq
-   * file. The first file of each pair should be specified in "sourceUris".
+   * file. The first file of each pair should be specified in sourceUris.
    */
   core.List<core.String> pairedSourceUris;
 
@@ -2076,7 +2091,7 @@
    * A list of Google Cloud Storage URIs of data files to operate upon. These
    * can be .bam, interleaved .fastq, or paired .fastq. If specifying paired
    * .fastq files, the first of each pair of files should be listed here, and
-   * the second of each pair should be listed in "pairedSourceUris".
+   * the second of each pair should be listed in pairedSourceUris.
    */
   core.List<core.String> sourceUris;
 
@@ -2173,7 +2188,8 @@
 
   /**
    * The reference names to export. If this is not specified, all reference
-   * sequences are exported. Use '*' to export unmapped reads.
+   * sequences, including unmapped reads, are exported. Use * to export only
+   * unmapped reads.
    */
   core.List<core.String> referenceNames;
 
@@ -2254,10 +2270,10 @@
   core.String bigqueryTable;
 
   /**
-   * If provided, only variant call information from the specified callsets will
-   * be exported. By default all variant calls are exported.
+   * If provided, only variant call information from the specified call sets
+   * will be exported. By default all variant calls are exported.
    */
-  core.List<core.String> callsetIds;
+  core.List<core.String> callSetIds;
 
   /**
    * The format for the exported data.
@@ -2273,10 +2289,10 @@
   core.String projectId;
 
   /**
-   * Required. The ID of the variantset that contains variant data which should
-   * be exported. The caller must have READ access to this variantset.
+   * Required. The ID of the variant set that contains variant data which should
+   * be exported. The caller must have READ access to this variant set.
    */
-  core.String variantsetId;
+  core.String variantSetId;
 
 
   ExportVariantsRequest();
@@ -2288,8 +2304,8 @@
     if (_json.containsKey("bigqueryTable")) {
       bigqueryTable = _json["bigqueryTable"];
     }
-    if (_json.containsKey("callsetIds")) {
-      callsetIds = _json["callsetIds"];
+    if (_json.containsKey("callSetIds")) {
+      callSetIds = _json["callSetIds"];
     }
     if (_json.containsKey("format")) {
       format = _json["format"];
@@ -2297,8 +2313,8 @@
     if (_json.containsKey("projectId")) {
       projectId = _json["projectId"];
     }
-    if (_json.containsKey("variantsetId")) {
-      variantsetId = _json["variantsetId"];
+    if (_json.containsKey("variantSetId")) {
+      variantSetId = _json["variantSetId"];
     }
   }
 
@@ -2310,8 +2326,8 @@
     if (bigqueryTable != null) {
       _json["bigqueryTable"] = bigqueryTable;
     }
-    if (callsetIds != null) {
-      _json["callsetIds"] = callsetIds;
+    if (callSetIds != null) {
+      _json["callSetIds"] = callSetIds;
     }
     if (format != null) {
       _json["format"] = format;
@@ -2319,8 +2335,8 @@
     if (projectId != null) {
       _json["projectId"] = projectId;
     }
-    if (variantsetId != null) {
-      _json["variantsetId"] = variantsetId;
+    if (variantSetId != null) {
+      _json["variantSetId"] = variantSetId;
     }
     return _json;
   }
@@ -2361,7 +2377,7 @@
    */
   core.String sequenceEnd;
 
-  /** The reference sequence name, for example "chr1", "1", or "chrX". */
+  /** The reference sequence name, for example chr1, 1, or chrX. */
   core.String sequenceName;
 
   /**
@@ -2401,42 +2417,6 @@
 }
 
 
-/** The variants summary response. */
-class GetVariantsSummaryResponse {
-  /**
-   * A list of all contigs used by the variants in a dataset with associated
-   * coordinate upper bounds for each one.
-   */
-  core.List<ContigBound> contigBounds;
-
-  /** The metadata associated with this dataset. */
-  core.List<Metadata> metadata;
-
-
-  GetVariantsSummaryResponse();
-
-  GetVariantsSummaryResponse.fromJson(core.Map _json) {
-    if (_json.containsKey("contigBounds")) {
-      contigBounds = _json["contigBounds"].map((value) => new ContigBound.fromJson(value)).toList();
-    }
-    if (_json.containsKey("metadata")) {
-      metadata = _json["metadata"].map((value) => new Metadata.fromJson(value)).toList();
-    }
-  }
-
-  core.Map toJson() {
-    var _json = new core.Map();
-    if (contigBounds != null) {
-      _json["contigBounds"] = contigBounds.map((value) => (value).toJson()).toList();
-    }
-    if (metadata != null) {
-      _json["metadata"] = metadata.map((value) => (value).toJson()).toList();
-    }
-    return _json;
-  }
-}
-
-
 /** Not documented yet. */
 class Header {
   /** (SO) Sorting order of alignments. */
@@ -2627,8 +2607,8 @@
    */
   core.List<core.String> sourceUris;
 
-  /** Required. The variantset to which variant data should be imported. */
-  core.String variantsetId;
+  /** Required. The variant set to which variant data should be imported. */
+  core.String variantSetId;
 
 
   ImportVariantsRequest();
@@ -2640,8 +2620,8 @@
     if (_json.containsKey("sourceUris")) {
       sourceUris = _json["sourceUris"];
     }
-    if (_json.containsKey("variantsetId")) {
-      variantsetId = _json["variantsetId"];
+    if (_json.containsKey("variantSetId")) {
+      variantSetId = _json["variantSetId"];
     }
   }
 
@@ -2653,8 +2633,8 @@
     if (sourceUris != null) {
       _json["sourceUris"] = sourceUris;
     }
-    if (variantsetId != null) {
-      _json["variantsetId"] = variantsetId;
+    if (variantSetId != null) {
+      _json["variantSetId"] = variantSetId;
     }
     return _json;
   }
@@ -2862,15 +2842,15 @@
    * The length of each coverage bucket in base pairs. Note that buckets at the
    * end of a reference sequence may be shorter. This value is omitted if the
    * bucket width is infinity (the default behaviour, with no range or
-   * target_bucket_width).
+   * targetBucketWidth).
    */
   core.String bucketWidth;
 
   /**
    * The coverage buckets. The list of buckets is sparse; a bucket with 0
    * overlapping reads is not returned. A bucket never crosses more than one
-   * reference sequence. Each bucket has width bucket_width, unless its end is
-   * is the end of the reference sequence.
+   * reference sequence. Each bucket has width bucketWidth, unless its end is
+   * the end of the reference sequence.
    */
   core.List<CoverageBucket> coverageBuckets;
 
@@ -3476,6 +3456,45 @@
 }
 
 
+/**
+ * ReferenceBound records an upper bound for the starting coordinate of variants
+ * in a particular reference.
+ */
+class ReferenceBound {
+  /** The reference the bound is associate with. */
+  core.String referenceName;
+
+  /**
+   * An upper bound (inclusive) on the starting coordinate of any variant in the
+   * reference sequence.
+   */
+  core.String upperBound;
+
+
+  ReferenceBound();
+
+  ReferenceBound.fromJson(core.Map _json) {
+    if (_json.containsKey("referenceName")) {
+      referenceName = _json["referenceName"];
+    }
+    if (_json.containsKey("upperBound")) {
+      upperBound = _json["upperBound"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (referenceName != null) {
+      _json["referenceName"] = referenceName;
+    }
+    if (upperBound != null) {
+      _json["upperBound"] = upperBound;
+    }
+    return _json;
+  }
+}
+
+
 /** Not documented yet. */
 class ReferenceSequence {
   /** (AS) Genome assembly identifier. */
@@ -3548,70 +3567,71 @@
 }
 
 
-/** The callset search request. */
-class SearchCallsetsRequest {
-  /** The maximum number of callsets to return. */
-  core.String maxResults;
-
+/** The call set search request. */
+class SearchCallSetsRequest {
   /**
-   * Only return callsets for which a substring of the name matches this string.
+   * Only return call sets for which a substring of the name matches this
+   * string.
    */
   core.String name;
 
+  /** The maximum number of call sets to return. */
+  core.int pageSize;
+
   /**
    * The continuation token, which is used to page through large result sets. To
    * get the next page of results, set this parameter to the value of
-   * "nextPageToken" from the previous response.
+   * nextPageToken from the previous response.
    */
   core.String pageToken;
 
   /**
-   * Restrict the query to callsets within the given variantsets. At least one
+   * Restrict the query to call sets within the given variant sets. At least one
    * ID must be provided.
    */
-  core.List<core.String> variantsetIds;
+  core.List<core.String> variantSetIds;
 
 
-  SearchCallsetsRequest();
+  SearchCallSetsRequest();
 
-  SearchCallsetsRequest.fromJson(core.Map _json) {
-    if (_json.containsKey("maxResults")) {
-      maxResults = _json["maxResults"];
-    }
+  SearchCallSetsRequest.fromJson(core.Map _json) {
     if (_json.containsKey("name")) {
       name = _json["name"];
     }
+    if (_json.containsKey("pageSize")) {
+      pageSize = _json["pageSize"];
+    }
     if (_json.containsKey("pageToken")) {
       pageToken = _json["pageToken"];
     }
-    if (_json.containsKey("variantsetIds")) {
-      variantsetIds = _json["variantsetIds"];
+    if (_json.containsKey("variantSetIds")) {
+      variantSetIds = _json["variantSetIds"];
     }
   }
 
   core.Map toJson() {
     var _json = new core.Map();
-    if (maxResults != null) {
-      _json["maxResults"] = maxResults;
-    }
     if (name != null) {
       _json["name"] = name;
     }
+    if (pageSize != null) {
+      _json["pageSize"] = pageSize;
+    }
     if (pageToken != null) {
       _json["pageToken"] = pageToken;
     }
-    if (variantsetIds != null) {
-      _json["variantsetIds"] = variantsetIds;
+    if (variantSetIds != null) {
+      _json["variantSetIds"] = variantSetIds;
     }
     return _json;
   }
 }
 
 
-/** The callset search response. */
-class SearchCallsetsResponse {
-  /** The list of matching callsets. */
-  core.List<Callset> callsets;
+/** The call set search response. */
+class SearchCallSetsResponse {
+  /** The list of matching call sets. */
+  core.List<CallSet> callSets;
 
   /**
    * The continuation token, which is used to page through large result sets.
@@ -3621,11 +3641,11 @@
   core.String nextPageToken;
 
 
-  SearchCallsetsResponse();
+  SearchCallSetsResponse();
 
-  SearchCallsetsResponse.fromJson(core.Map _json) {
-    if (_json.containsKey("callsets")) {
-      callsets = _json["callsets"].map((value) => new Callset.fromJson(value)).toList();
+  SearchCallSetsResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("callSets")) {
+      callSets = _json["callSets"].map((value) => new CallSet.fromJson(value)).toList();
     }
     if (_json.containsKey("nextPageToken")) {
       nextPageToken = _json["nextPageToken"];
@@ -3634,8 +3654,8 @@
 
   core.Map toJson() {
     var _json = new core.Map();
-    if (callsets != null) {
-      _json["callsets"] = callsets.map((value) => (value).toJson()).toList();
+    if (callSets != null) {
+      _json["callSets"] = callSets.map((value) => (value).toJson()).toList();
     }
     if (nextPageToken != null) {
       _json["nextPageToken"] = nextPageToken;
@@ -3668,14 +3688,11 @@
   /**
    * The continuation token which is used to page through large result sets. To
    * get the next page of results, set this parameter to the value of the
-   * "nextPageToken" from the previous response.
+   * nextPageToken from the previous response.
    */
   core.String pageToken;
 
-  /**
-   * Required. Only return jobs which belong to this Google Developers Console
-   * project. Only accepts project numbers.
-   */
+  /** Required. Only return jobs which belong to this Google Developers */
   core.String projectId;
 
   /** Only return jobs which have a matching status. */
@@ -3778,7 +3795,7 @@
   /**
    * The continuation token, which is used to page through large result sets. To
    * get the next page of results, set this parameter to the value of
-   * "nextPageToken" from the previous response.
+   * nextPageToken from the previous response.
    */
   core.String pageToken;
 
@@ -3791,21 +3808,21 @@
 
   /**
    * The end position (1-based, inclusive) of the target range. If specified,
-   * "sequenceName" must also be specified. Defaults to the end of the target
+   * sequenceName must also be specified. Defaults to the end of the target
    * reference sequence, if any.
    */
   core.String sequenceEnd;
 
   /**
-   * Restricts the results to a particular reference sequence such as '1',
-   * 'chr1', or 'X'. The set of valid references sequences depends on the
-   * readsets specified. If set to "*", only unmapped Reads are returned.
+   * Restricts the results to a particular reference sequence such as 1, chr1,
+   * or X. The set of valid references sequences depends on the readsets
+   * specified. If set to *, only unmapped Reads are returned.
    */
   core.String sequenceName;
 
   /**
    * The start position (1-based, inclusive) of the target range. If specified,
-   * "sequenceName" must also be specified. Defaults to the start of the target
+   * sequenceName must also be specified. Defaults to the start of the target
    * reference sequence, if any.
    */
   core.String sequenceStart;
@@ -3922,7 +3939,7 @@
   /**
    * The continuation token, which is used to page through large result sets. To
    * get the next page of results, set this parameter to the value of
-   * "nextPageToken" from the previous response.
+   * nextPageToken from the previous response.
    */
   core.String pageToken;
 
@@ -4000,114 +4017,201 @@
 }
 
 
-/** The variant search request. */
-class SearchVariantsRequest {
+/** The search variant sets request. */
+class SearchVariantSetsRequest {
   /**
-   * Only return variant calls which belong to callsets with these ids. Leaving
-   * this blank returns all variant calls. At most one of callsetNames or
-   * callsetIds should be provided.
+   * Exactly one dataset ID must be provided here. Only variant sets which
+   * belong to this dataset will be returned.
    */
-  core.List<core.String> callsetIds;
+  core.List<core.String> datasetIds;
 
-  /**
-   * Only return variant calls which belong to callsets which have exactly these
-   * names. Leaving this blank returns all variant calls. At most one of
-   * callsetNames or callsetIds should be provided.
-   */
-  core.List<core.String> callsetNames;
-
-  /** Required. Only return variants on this contig. */
-  core.String contig;
-
-  /**
-   * Required. The end of the window (0-based, exclusive) for which overlapping
-   * variants should be returned.
-   */
-  core.String endPosition;
-
-  /** The maximum number of variants to return. */
-  core.String maxResults;
+  /** The maximum number of variant sets to return in a request. */
+  core.int pageSize;
 
   /**
    * The continuation token, which is used to page through large result sets. To
    * get the next page of results, set this parameter to the value of
-   * "nextPageToken" from the previous response.
+   * nextPageToken from the previous response.
    */
   core.String pageToken;
 
-  /**
-   * Required. The beginning of the window (0-based, inclusive) for which
-   * overlapping variants should be returned.
-   */
-  core.String startPosition;
 
-  /** Only return variants which have exactly this name. */
-  core.String variantName;
+  SearchVariantSetsRequest();
 
-  /** Required. The ID of the variantset to search. */
-  core.String variantsetId;
-
-
-  SearchVariantsRequest();
-
-  SearchVariantsRequest.fromJson(core.Map _json) {
-    if (_json.containsKey("callsetIds")) {
-      callsetIds = _json["callsetIds"];
+  SearchVariantSetsRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("datasetIds")) {
+      datasetIds = _json["datasetIds"];
     }
-    if (_json.containsKey("callsetNames")) {
-      callsetNames = _json["callsetNames"];
-    }
-    if (_json.containsKey("contig")) {
-      contig = _json["contig"];
-    }
-    if (_json.containsKey("endPosition")) {
-      endPosition = _json["endPosition"];
-    }
-    if (_json.containsKey("maxResults")) {
-      maxResults = _json["maxResults"];
+    if (_json.containsKey("pageSize")) {
+      pageSize = _json["pageSize"];
     }
     if (_json.containsKey("pageToken")) {
       pageToken = _json["pageToken"];
     }
-    if (_json.containsKey("startPosition")) {
-      startPosition = _json["startPosition"];
-    }
-    if (_json.containsKey("variantName")) {
-      variantName = _json["variantName"];
-    }
-    if (_json.containsKey("variantsetId")) {
-      variantsetId = _json["variantsetId"];
-    }
   }
 
   core.Map toJson() {
     var _json = new core.Map();
-    if (callsetIds != null) {
-      _json["callsetIds"] = callsetIds;
+    if (datasetIds != null) {
+      _json["datasetIds"] = datasetIds;
     }
-    if (callsetNames != null) {
-      _json["callsetNames"] = callsetNames;
-    }
-    if (contig != null) {
-      _json["contig"] = contig;
-    }
-    if (endPosition != null) {
-      _json["endPosition"] = endPosition;
-    }
-    if (maxResults != null) {
-      _json["maxResults"] = maxResults;
+    if (pageSize != null) {
+      _json["pageSize"] = pageSize;
     }
     if (pageToken != null) {
       _json["pageToken"] = pageToken;
     }
-    if (startPosition != null) {
-      _json["startPosition"] = startPosition;
+    return _json;
+  }
+}
+
+
+/** The search variant sets response. */
+class SearchVariantSetsResponse {
+  /**
+   * The continuation token, which is used to page through large result sets.
+   * Provide this value in a subsequent request to return the next page of
+   * results. This field will be empty if there aren't any additional results.
+   */
+  core.String nextPageToken;
+
+  /** The variant sets belonging to the requested dataset. */
+  core.List<VariantSet> variantSets;
+
+
+  SearchVariantSetsResponse();
+
+  SearchVariantSetsResponse.fromJson(core.Map _json) {
+    if (_json.containsKey("nextPageToken")) {
+      nextPageToken = _json["nextPageToken"];
+    }
+    if (_json.containsKey("variantSets")) {
+      variantSets = _json["variantSets"].map((value) => new VariantSet.fromJson(value)).toList();
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (nextPageToken != null) {
+      _json["nextPageToken"] = nextPageToken;
+    }
+    if (variantSets != null) {
+      _json["variantSets"] = variantSets.map((value) => (value).toJson()).toList();
+    }
+    return _json;
+  }
+}
+
+
+/** The variant search request. */
+class SearchVariantsRequest {
+  /**
+   * Only return variant calls which belong to call sets with these ids. Leaving
+   * this blank returns all variant calls.
+   */
+  core.List<core.String> callSetIds;
+
+  /**
+   * Required. The end of the window (0-based, exclusive) for which overlapping
+   * variants should be returned.
+   */
+  core.String end;
+
+  /**
+   * The maximum number of calls to return. However, at least one variant will
+   * always be returned, even if it has more calls than this limit.
+   */
+  core.int maxCalls;
+
+  /** The maximum number of variants to return. */
+  core.int pageSize;
+
+  /**
+   * The continuation token, which is used to page through large result sets. To
+   * get the next page of results, set this parameter to the value of
+   * nextPageToken from the previous response.
+   */
+  core.String pageToken;
+
+  /** Required. Only return variants in this reference sequence. */
+  core.String referenceName;
+
+  /**
+   * Required. The beginning of the window (0-based, inclusive) for which
+   * overlapping variants should be returned.
+   */
+  core.String start;
+
+  /** Only return variants which have exactly this name. */
+  core.String variantName;
+
+  /**
+   * Exactly one variant set ID must be provided. Only variants from this
+   * variant set will be returned.
+   */
+  core.List<core.String> variantSetIds;
+
+
+  SearchVariantsRequest();
+
+  SearchVariantsRequest.fromJson(core.Map _json) {
+    if (_json.containsKey("callSetIds")) {
+      callSetIds = _json["callSetIds"];
+    }
+    if (_json.containsKey("end")) {
+      end = _json["end"];
+    }
+    if (_json.containsKey("maxCalls")) {
+      maxCalls = _json["maxCalls"];
+    }
+    if (_json.containsKey("pageSize")) {
+      pageSize = _json["pageSize"];
+    }
+    if (_json.containsKey("pageToken")) {
+      pageToken = _json["pageToken"];
+    }
+    if (_json.containsKey("referenceName")) {
+      referenceName = _json["referenceName"];
+    }
+    if (_json.containsKey("start")) {
+      start = _json["start"];
+    }
+    if (_json.containsKey("variantName")) {
+      variantName = _json["variantName"];
+    }
+    if (_json.containsKey("variantSetIds")) {
+      variantSetIds = _json["variantSetIds"];
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (callSetIds != null) {
+      _json["callSetIds"] = callSetIds;
+    }
+    if (end != null) {
+      _json["end"] = end;
+    }
+    if (maxCalls != null) {
+      _json["maxCalls"] = maxCalls;
+    }
+    if (pageSize != null) {
+      _json["pageSize"] = pageSize;
+    }
+    if (pageToken != null) {
+      _json["pageToken"] = pageToken;
+    }
+    if (referenceName != null) {
+      _json["referenceName"] = referenceName;
+    }
+    if (start != null) {
+      _json["start"] = start;
     }
     if (variantName != null) {
       _json["variantName"] = variantName;
     }
-    if (variantsetId != null) {
-      _json["variantsetId"] = variantsetId;
+    if (variantSetIds != null) {
+      _json["variantSetIds"] = variantSetIds;
     }
     return _json;
   }
@@ -4154,7 +4258,7 @@
 /**
  * A Variant represents a change in DNA sequence relative to some reference. For
  * example, a Variant could represent a SNP or an insertion. Variants belong to
- * a Variantset.
+ * a variant set.
  */
 class Variant {
   /** The bases that appear instead of the reference bases. */
@@ -4166,17 +4270,14 @@
    */
   core.List<Call> calls;
 
-  /** The contig on which this variant occurs. (such as 'chr20' or 'X') */
-  core.String contig;
-
   /** The date this variant was created, in milliseconds from the epoch. */
   core.String created;
 
   /**
    * The end position (0-based) of this variant. This corresponds to the first
    * base after the last base in the reference allele. So, the length of the
-   * reference allele is (end - position). This is useful for variants that
-   * don't explicitly give alternate bases, for example large deletions.
+   * reference allele is (end - start). This is useful for variants that don't
+   * explicitly give alternate bases, for example large deletions.
    */
   core.String end;
 
@@ -4190,18 +4291,21 @@
   core.List<core.String> names;
 
   /**
-   * The position at which this variant occurs (0-based). This corresponds to
-   * the first base of the string of reference bases.
-   */
-  core.String position;
-
-  /**
    * The reference bases for this variant. They start at the given position.
    */
   core.String referenceBases;
 
-  /** The ID of the variantset this variant belongs to. */
-  core.String variantsetId;
+  /** The reference on which this variant occurs. (such as chr20 or X) */
+  core.String referenceName;
+
+  /**
+   * The position at which this variant occurs (0-based). This corresponds to
+   * the first base of the string of reference bases.
+   */
+  core.String start;
+
+  /** The ID of the variant set this variant belongs to. */
+  core.String variantSetId;
 
 
   Variant();
@@ -4213,9 +4317,6 @@
     if (_json.containsKey("calls")) {
       calls = _json["calls"].map((value) => new Call.fromJson(value)).toList();
     }
-    if (_json.containsKey("contig")) {
-      contig = _json["contig"];
-    }
     if (_json.containsKey("created")) {
       created = _json["created"];
     }
@@ -4231,14 +4332,17 @@
     if (_json.containsKey("names")) {
       names = _json["names"];
     }
-    if (_json.containsKey("position")) {
-      position = _json["position"];
-    }
     if (_json.containsKey("referenceBases")) {
       referenceBases = _json["referenceBases"];
     }
-    if (_json.containsKey("variantsetId")) {
-      variantsetId = _json["variantsetId"];
+    if (_json.containsKey("referenceName")) {
+      referenceName = _json["referenceName"];
+    }
+    if (_json.containsKey("start")) {
+      start = _json["start"];
+    }
+    if (_json.containsKey("variantSetId")) {
+      variantSetId = _json["variantSetId"];
     }
   }
 
@@ -4250,9 +4354,6 @@
     if (calls != null) {
       _json["calls"] = calls.map((value) => (value).toJson()).toList();
     }
-    if (contig != null) {
-      _json["contig"] = contig;
-    }
     if (created != null) {
       _json["created"] = created;
     }
@@ -4268,14 +4369,74 @@
     if (names != null) {
       _json["names"] = names;
     }
-    if (position != null) {
-      _json["position"] = position;
-    }
     if (referenceBases != null) {
       _json["referenceBases"] = referenceBases;
     }
-    if (variantsetId != null) {
-      _json["variantsetId"] = variantsetId;
+    if (referenceName != null) {
+      _json["referenceName"] = referenceName;
+    }
+    if (start != null) {
+      _json["start"] = start;
+    }
+    if (variantSetId != null) {
+      _json["variantSetId"] = variantSetId;
+    }
+    return _json;
+  }
+}
+
+
+/**
+ * A VariantSet represents a collection of Variants and their summary
+ * statistics.
+ */
+class VariantSet {
+  /** The dataset to which this variant set belongs. Immutable. */
+  core.String datasetId;
+
+  /** The Google-generated ID of the variant set. Immutable. */
+  core.String id;
+
+  /** The metadata associated with this variant set. */
+  core.List<Metadata> metadata;
+
+  /**
+   * A list of all references used by the variants in a variant set with
+   * associated coordinate upper bounds for each one.
+   */
+  core.List<ReferenceBound> referenceBounds;
+
+
+  VariantSet();
+
+  VariantSet.fromJson(core.Map _json) {
+    if (_json.containsKey("datasetId")) {
+      datasetId = _json["datasetId"];
+    }
+    if (_json.containsKey("id")) {
+      id = _json["id"];
+    }
+    if (_json.containsKey("metadata")) {
+      metadata = _json["metadata"].map((value) => new Metadata.fromJson(value)).toList();
+    }
+    if (_json.containsKey("referenceBounds")) {
+      referenceBounds = _json["referenceBounds"].map((value) => new ReferenceBound.fromJson(value)).toList();
+    }
+  }
+
+  core.Map toJson() {
+    var _json = new core.Map();
+    if (datasetId != null) {
+      _json["datasetId"] = datasetId;
+    }
+    if (id != null) {
+      _json["id"] = id;
+    }
+    if (metadata != null) {
+      _json["metadata"] = metadata.map((value) => (value).toJson()).toList();
+    }
+    if (referenceBounds != null) {
+      _json["referenceBounds"] = referenceBounds.map((value) => (value).toJson()).toList();
     }
     return _json;
   }
diff --git a/generated/googleapis_beta/lib/manager/v1beta2.dart b/generated/googleapis_beta/lib/manager/v1beta2.dart
index b818f64..6316e9c 100644
--- a/generated/googleapis_beta/lib/manager/v1beta2.dart
+++ b/generated/googleapis_beta/lib/manager/v1beta2.dart
@@ -49,7 +49,7 @@
   TemplatesResourceApi get templates => new TemplatesResourceApi(_requester);
 
   ManagerApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/manager/v1beta2/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "manager/v1beta2/projects/");
 }
 
 
@@ -1736,6 +1736,12 @@
   /** The size of the created disk in gigabytes. */
   core.String diskSizeGb;
 
+  /**
+   * Name of the disk type resource describing which disk type to use to create
+   * the disk. For example 'pd-ssd' or 'pd-standard'. Default is 'pd-standard'
+   */
+  core.String diskType;
+
   /** The fully-qualified URL of a source image to use to create this disk. */
   core.String sourceImage;
 
@@ -1746,6 +1752,9 @@
     if (_json.containsKey("diskSizeGb")) {
       diskSizeGb = _json["diskSizeGb"];
     }
+    if (_json.containsKey("diskType")) {
+      diskType = _json["diskType"];
+    }
     if (_json.containsKey("sourceImage")) {
       sourceImage = _json["sourceImage"];
     }
@@ -1756,6 +1765,9 @@
     if (diskSizeGb != null) {
       _json["diskSizeGb"] = diskSizeGb;
     }
+    if (diskType != null) {
+      _json["diskType"] = diskType;
+    }
     if (sourceImage != null) {
       _json["sourceImage"] = sourceImage;
     }
diff --git a/generated/googleapis_beta/lib/pubsub/v1beta1.dart b/generated/googleapis_beta/lib/pubsub/v1beta1.dart
index c5ce845..c7b372f 100644
--- a/generated/googleapis_beta/lib/pubsub/v1beta1.dart
+++ b/generated/googleapis_beta/lib/pubsub/v1beta1.dart
@@ -30,7 +30,7 @@
   TopicsResourceApi get topics => new TopicsResourceApi(_requester);
 
   PubsubApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/pubsub/v1beta1/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "pubsub/v1beta1/");
 }
 
 
@@ -781,7 +781,7 @@
 
 /** Not documented yet. */
 class ModifyAckDeadlineRequest {
-  /** The new Ack deadline. Must be >= 1. */
+  /** The new Ack deadline. Must be >= 0. */
   core.int ackDeadlineSeconds;
 
   /** The Ack ID. */
diff --git a/generated/googleapis_beta/lib/replicapool/v1beta1.dart b/generated/googleapis_beta/lib/replicapool/v1beta1.dart
index f00cd93..f0f1414 100644
--- a/generated/googleapis_beta/lib/replicapool/v1beta1.dart
+++ b/generated/googleapis_beta/lib/replicapool/v1beta1.dart
@@ -46,7 +46,7 @@
   ReplicasResourceApi get replicas => new ReplicasResourceApi(_requester);
 
   ReplicapoolApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/replicapool/v1beta1/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "replicapool/v1beta1/projects/");
 }
 
 
diff --git a/generated/googleapis_beta/lib/resourceviews/v1beta1.dart b/generated/googleapis_beta/lib/resourceviews/v1beta1.dart
index 14fec28..839b72b 100644
--- a/generated/googleapis_beta/lib/resourceviews/v1beta1.dart
+++ b/generated/googleapis_beta/lib/resourceviews/v1beta1.dart
@@ -46,7 +46,7 @@
   ZoneViewsResourceApi get zoneViews => new ZoneViewsResourceApi(_requester);
 
   ResourceviewsApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/resourceviews/v1beta1/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "resourceviews/v1beta1/projects/");
 }
 
 
diff --git a/generated/googleapis_beta/lib/sqladmin/v1beta3.dart b/generated/googleapis_beta/lib/sqladmin/v1beta3.dart
index ac64772..a8d005f 100644
--- a/generated/googleapis_beta/lib/sqladmin/v1beta3.dart
+++ b/generated/googleapis_beta/lib/sqladmin/v1beta3.dart
@@ -32,7 +32,7 @@
   TiersResourceApi get tiers => new TiersResourceApi(_requester);
 
   SqladminApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/sql/v1beta3/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "sql/v1beta3/");
 }
 
 
diff --git a/generated/googleapis_beta/lib/src/common_internal.dart b/generated/googleapis_beta/lib/src/common_internal.dart
index 0939147..a489b3a 100644
--- a/generated/googleapis_beta/lib/src/common_internal.dart
+++ b/generated/googleapis_beta/lib/src/common_internal.dart
@@ -9,7 +9,7 @@
 import "package:http/http.dart" as http;
 
 const String USER_AGENT_STRING =
-    'google-api-dart-client googleapis_beta/0.1.1';
+    'google-api-dart-client googleapis_beta/0.2.0';
 
 const CONTENT_TYPE_JSON_UTF8 = 'application/json; charset=utf-8';
 
@@ -152,7 +152,7 @@
     if (requestUrl.startsWith('/')) {
       path ="$_rootUrl${requestUrl.substring(1)}";
     } else {
-      path ="$_rootUrl${_basePath.substring(1)}$requestUrl";
+      path ="$_rootUrl${_basePath}$requestUrl";
     }
 
     bool containsQueryParameter = path.contains('?');
@@ -430,12 +430,19 @@
 
         // Upload all but the last chunk.
         // The final send will be done in the [onDone] handler.
-        if (chunkStack.length > 1) {
+        bool hasPartialChunk = chunkStack.hasPartialChunk;
+        if (chunkStack.length > 1 ||
+            (chunkStack.length == 1 && hasPartialChunk)) {
           // Pause the input stream.
           subscription.pause();
 
           // Upload all chunks except the last one.
-          var fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1);
+          var fullChunks;
+          if (hasPartialChunk) {
+            fullChunks = chunkStack.removeSublist(0, chunkStack.length);
+          } else {
+            fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1);
+          }
           Future.forEach(fullChunks,
                          (c) => _uploadChunkDrained(uploadUri, c)).then((_) {
             // All chunks uploaded, we can continue consuming data.
@@ -457,11 +464,13 @@
           chunkStack.finalize();
 
           var lastChunk;
-          if (chunkStack.totalByteLength > 0) {
-            assert(chunkStack.length == 1);
+          if (chunkStack.length == 1) {
             lastChunk = chunkStack.removeSublist(0, chunkStack.length).first;
           } else {
-            lastChunk = new ResumableChunk([], 0, 0);
+            completer.completeError(new StateError(
+                'Resumable uploads need to result in at least one non-empty '
+                'chunk at the end.'));
+            return;
           }
           var end = lastChunk.endOfChunk;
 
@@ -654,16 +663,34 @@
   // Currently accumulated data.
   List<List<int>> _byteArrays = [];
   int _length = 0;
-  int _totalLength = 0;
   int _offset = 0;
 
   bool _finalized = false;
 
   ChunkStack(this._chunkSize);
 
+  /**
+   * Whether data for a not-yet-finished [ResumableChunk] is present. A call to
+   * `finalize` will create a [ResumableChunk] of this data.
+   */
+  bool get hasPartialChunk => _length > 0;
+
+  /**
+   * The number of chunks in this [ChunkStack].
+   */
   int get length => _chunkStack.length;
 
-  int get totalByteLength => _offset;
+  /**
+   * The total number of bytes which have been converted to [ResumableChunk]s.
+   * Can only be called once this [ChunkStack] has been finalized.
+   */
+  int get totalByteLength {
+    if (!_finalized) {
+      throw new StateError('ChunkStack has not been finalized yet.');
+    }
+
+    return _offset;
+  }
 
   /**
    * Returns the chunks [from] ... [to] and deletes it from the stack.
diff --git a/generated/googleapis_beta/lib/taskqueue/v1beta2.dart b/generated/googleapis_beta/lib/taskqueue/v1beta2.dart
index a36f39b..7c5f3e5 100644
--- a/generated/googleapis_beta/lib/taskqueue/v1beta2.dart
+++ b/generated/googleapis_beta/lib/taskqueue/v1beta2.dart
@@ -28,7 +28,7 @@
   TasksResourceApi get tasks => new TasksResourceApi(_requester);
 
   TaskqueueApi(http.Client client) : 
-      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/taskqueue/v1beta2/projects/");
+      _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "taskqueue/v1beta2/projects/");
 }
 
 
diff --git a/generated/googleapis_beta/pubspec.yaml b/generated/googleapis_beta/pubspec.yaml
index 65bd4f0..731a0f5 100644
--- a/generated/googleapis_beta/pubspec.yaml
+++ b/generated/googleapis_beta/pubspec.yaml
@@ -1,5 +1,5 @@
 name: googleapis_beta
-version: 0.1.1
+version: 0.2.0
 author: Dart Team <misc@dartlang.org>
 description: "Auto-generated client libraries for accessing the following APIs:autoscaler:v1beta2, cloudmonitoring:v2beta1, datastore:v1beta2, dns:v1beta1, genomics:v1beta, manager:v1beta2, pubsub:v1beta1, replicapool:v1beta1, resourceviews:v1beta1, sqladmin:v1beta3, taskqueue:v1beta2"
 homepage: http://www.dartlang.org
diff --git a/generated/googleapis_beta/test/autoscaler/v1beta2_test.dart b/generated/googleapis_beta/test/autoscaler/v1beta2_test.dart
index 50a5864..95e82ae 100644
--- a/generated/googleapis_beta/test/autoscaler/v1beta2_test.dart
+++ b/generated/googleapis_beta/test/autoscaler/v1beta2_test.dart
@@ -25,6 +25,7 @@
     o.creationTimestamp = "foo";
     o.description = "foo";
     o.id = "foo";
+    o.kind = "foo";
     o.name = "foo";
     o.selfLink = "foo";
     o.target = "foo";
@@ -40,6 +41,7 @@
     unittest.expect(o.creationTimestamp, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
+    unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.target, unittest.equals('foo'));
@@ -47,14 +49,14 @@
   buildCounterAutoscaler--;
 }
 
-buildUnnamed1116() {
+buildUnnamed1144() {
   var o = new core.List<api.Autoscaler>();
   o.add(buildAutoscaler());
   o.add(buildAutoscaler());
   return o;
 }
 
-checkUnnamed1116(core.List<api.Autoscaler> o) {
+checkUnnamed1144(core.List<api.Autoscaler> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAutoscaler(o[0]);
   checkAutoscaler(o[1]);
@@ -65,7 +67,8 @@
   var o = new api.AutoscalerListResponse();
   buildCounterAutoscalerListResponse++;
   if (buildCounterAutoscalerListResponse < 3) {
-    o.items = buildUnnamed1116();
+    o.items = buildUnnamed1144();
+    o.kind = "foo";
     o.nextPageToken = "foo";
   }
   buildCounterAutoscalerListResponse--;
@@ -75,20 +78,21 @@
 checkAutoscalerListResponse(api.AutoscalerListResponse o) {
   buildCounterAutoscalerListResponse++;
   if (buildCounterAutoscalerListResponse < 3) {
-    checkUnnamed1116(o.items);
+    checkUnnamed1144(o.items);
+    unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterAutoscalerListResponse--;
 }
 
-buildUnnamed1117() {
+buildUnnamed1145() {
   var o = new core.List<api.AutoscalingPolicyCustomMetricUtilization>();
   o.add(buildAutoscalingPolicyCustomMetricUtilization());
   o.add(buildAutoscalingPolicyCustomMetricUtilization());
   return o;
 }
 
-checkUnnamed1117(core.List<api.AutoscalingPolicyCustomMetricUtilization> o) {
+checkUnnamed1145(core.List<api.AutoscalingPolicyCustomMetricUtilization> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAutoscalingPolicyCustomMetricUtilization(o[0]);
   checkAutoscalingPolicyCustomMetricUtilization(o[1]);
@@ -101,7 +105,7 @@
   if (buildCounterAutoscalingPolicy < 3) {
     o.coolDownPeriodSec = 42;
     o.cpuUtilization = buildAutoscalingPolicyCpuUtilization();
-    o.customMetricUtilizations = buildUnnamed1117();
+    o.customMetricUtilizations = buildUnnamed1145();
     o.loadBalancingUtilization = buildAutoscalingPolicyLoadBalancingUtilization();
     o.maxNumReplicas = 42;
     o.minNumReplicas = 42;
@@ -115,7 +119,7 @@
   if (buildCounterAutoscalingPolicy < 3) {
     unittest.expect(o.coolDownPeriodSec, unittest.equals(42));
     checkAutoscalingPolicyCpuUtilization(o.cpuUtilization);
-    checkUnnamed1117(o.customMetricUtilizations);
+    checkUnnamed1145(o.customMetricUtilizations);
     checkAutoscalingPolicyLoadBalancingUtilization(o.loadBalancingUtilization);
     unittest.expect(o.maxNumReplicas, unittest.equals(42));
     unittest.expect(o.minNumReplicas, unittest.equals(42));
@@ -149,6 +153,7 @@
   if (buildCounterAutoscalingPolicyCustomMetricUtilization < 3) {
     o.metric = "foo";
     o.utilizationTarget = 42.0;
+    o.utilizationTargetType = "foo";
   }
   buildCounterAutoscalingPolicyCustomMetricUtilization--;
   return o;
@@ -159,6 +164,7 @@
   if (buildCounterAutoscalingPolicyCustomMetricUtilization < 3) {
     unittest.expect(o.metric, unittest.equals('foo'));
     unittest.expect(o.utilizationTarget, unittest.equals(42.0));
+    unittest.expect(o.utilizationTargetType, unittest.equals('foo'));
   }
   buildCounterAutoscalingPolicyCustomMetricUtilization--;
 }
@@ -205,14 +211,14 @@
   buildCounterOperationErrorErrors--;
 }
 
-buildUnnamed1118() {
+buildUnnamed1146() {
   var o = new core.List<api.OperationErrorErrors>();
   o.add(buildOperationErrorErrors());
   o.add(buildOperationErrorErrors());
   return o;
 }
 
-checkUnnamed1118(core.List<api.OperationErrorErrors> o) {
+checkUnnamed1146(core.List<api.OperationErrorErrors> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationErrorErrors(o[0]);
   checkOperationErrorErrors(o[1]);
@@ -223,7 +229,7 @@
   var o = new api.OperationError();
   buildCounterOperationError++;
   if (buildCounterOperationError < 3) {
-    o.errors = buildUnnamed1118();
+    o.errors = buildUnnamed1146();
   }
   buildCounterOperationError--;
   return o;
@@ -232,7 +238,7 @@
 checkOperationError(api.OperationError o) {
   buildCounterOperationError++;
   if (buildCounterOperationError < 3) {
-    checkUnnamed1118(o.errors);
+    checkUnnamed1146(o.errors);
   }
   buildCounterOperationError--;
 }
@@ -258,14 +264,14 @@
   buildCounterOperationWarningsData--;
 }
 
-buildUnnamed1119() {
+buildUnnamed1147() {
   var o = new core.List<api.OperationWarningsData>();
   o.add(buildOperationWarningsData());
   o.add(buildOperationWarningsData());
   return o;
 }
 
-checkUnnamed1119(core.List<api.OperationWarningsData> o) {
+checkUnnamed1147(core.List<api.OperationWarningsData> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationWarningsData(o[0]);
   checkOperationWarningsData(o[1]);
@@ -277,7 +283,7 @@
   buildCounterOperationWarnings++;
   if (buildCounterOperationWarnings < 3) {
     o.code = "foo";
-    o.data = buildUnnamed1119();
+    o.data = buildUnnamed1147();
     o.message = "foo";
   }
   buildCounterOperationWarnings--;
@@ -288,20 +294,20 @@
   buildCounterOperationWarnings++;
   if (buildCounterOperationWarnings < 3) {
     unittest.expect(o.code, unittest.equals('foo'));
-    checkUnnamed1119(o.data);
+    checkUnnamed1147(o.data);
     unittest.expect(o.message, unittest.equals('foo'));
   }
   buildCounterOperationWarnings--;
 }
 
-buildUnnamed1120() {
+buildUnnamed1148() {
   var o = new core.List<api.OperationWarnings>();
   o.add(buildOperationWarnings());
   o.add(buildOperationWarnings());
   return o;
 }
 
-checkUnnamed1120(core.List<api.OperationWarnings> o) {
+checkUnnamed1148(core.List<api.OperationWarnings> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationWarnings(o[0]);
   checkOperationWarnings(o[1]);
@@ -332,7 +338,7 @@
     o.targetId = "foo";
     o.targetLink = "foo";
     o.user = "foo";
-    o.warnings = buildUnnamed1120();
+    o.warnings = buildUnnamed1148();
     o.zone = "foo";
   }
   buildCounterOperation--;
@@ -362,20 +368,20 @@
     unittest.expect(o.targetId, unittest.equals('foo'));
     unittest.expect(o.targetLink, unittest.equals('foo'));
     unittest.expect(o.user, unittest.equals('foo'));
-    checkUnnamed1120(o.warnings);
+    checkUnnamed1148(o.warnings);
     unittest.expect(o.zone, unittest.equals('foo'));
   }
   buildCounterOperation--;
 }
 
-buildUnnamed1121() {
+buildUnnamed1149() {
   var o = new core.List<api.Operation>();
   o.add(buildOperation());
   o.add(buildOperation());
   return o;
 }
 
-checkUnnamed1121(core.List<api.Operation> o) {
+checkUnnamed1149(core.List<api.Operation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperation(o[0]);
   checkOperation(o[1]);
@@ -387,7 +393,7 @@
   buildCounterOperationList++;
   if (buildCounterOperationList < 3) {
     o.id = "foo";
-    o.items = buildUnnamed1121();
+    o.items = buildUnnamed1149();
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.selfLink = "foo";
@@ -400,7 +406,7 @@
   buildCounterOperationList++;
   if (buildCounterOperationList < 3) {
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed1121(o.items);
+    checkUnnamed1149(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -531,8 +537,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -594,8 +602,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -660,8 +670,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -722,8 +734,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -789,8 +803,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -856,8 +872,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 19), unittest.equals("autoscaler/v1beta2/"));
+        pathOffset += 19;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/zones/", pathOffset);
@@ -923,25 +941,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -982,25 +983,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/operations/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_operation"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1045,22 +1029,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 20), unittest.equals("/autoscaler/v1beta2/"));
-        pathOffset += 20;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/operations", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/operations"));
-        pathOffset += 11;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/cloudmonitoring/v2beta1_test.dart b/generated/googleapis_beta/test/cloudmonitoring/v2beta1_test.dart
index 2defc15..96d99ee 100644
--- a/generated/googleapis_beta/test/cloudmonitoring/v2beta1_test.dart
+++ b/generated/googleapis_beta/test/cloudmonitoring/v2beta1_test.dart
@@ -35,14 +35,14 @@
   buildCounterListMetricDescriptorsRequest--;
 }
 
-buildUnnamed1174() {
+buildUnnamed1205() {
   var o = new core.List<api.MetricDescriptor>();
   o.add(buildMetricDescriptor());
   o.add(buildMetricDescriptor());
   return o;
 }
 
-checkUnnamed1174(core.List<api.MetricDescriptor> o) {
+checkUnnamed1205(core.List<api.MetricDescriptor> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetricDescriptor(o[0]);
   checkMetricDescriptor(o[1]);
@@ -54,7 +54,7 @@
   buildCounterListMetricDescriptorsResponse++;
   if (buildCounterListMetricDescriptorsResponse < 3) {
     o.kind = "foo";
-    o.metrics = buildUnnamed1174();
+    o.metrics = buildUnnamed1205();
     o.nextPageToken = "foo";
   }
   buildCounterListMetricDescriptorsResponse--;
@@ -65,7 +65,7 @@
   buildCounterListMetricDescriptorsResponse++;
   if (buildCounterListMetricDescriptorsResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1174(o.metrics);
+    checkUnnamed1205(o.metrics);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListMetricDescriptorsResponse--;
@@ -90,14 +90,14 @@
   buildCounterListTimeseriesDescriptorsRequest--;
 }
 
-buildUnnamed1175() {
+buildUnnamed1206() {
   var o = new core.List<api.TimeseriesDescriptor>();
   o.add(buildTimeseriesDescriptor());
   o.add(buildTimeseriesDescriptor());
   return o;
 }
 
-checkUnnamed1175(core.List<api.TimeseriesDescriptor> o) {
+checkUnnamed1206(core.List<api.TimeseriesDescriptor> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTimeseriesDescriptor(o[0]);
   checkTimeseriesDescriptor(o[1]);
@@ -111,7 +111,7 @@
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.oldest = core.DateTime.parse("2002-02-27T14:01:02");
-    o.timeseries = buildUnnamed1175();
+    o.timeseries = buildUnnamed1206();
     o.youngest = core.DateTime.parse("2002-02-27T14:01:02");
   }
   buildCounterListTimeseriesDescriptorsResponse--;
@@ -124,7 +124,7 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.oldest, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed1175(o.timeseries);
+    checkUnnamed1206(o.timeseries);
     unittest.expect(o.youngest, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
   }
   buildCounterListTimeseriesDescriptorsResponse--;
@@ -149,14 +149,14 @@
   buildCounterListTimeseriesRequest--;
 }
 
-buildUnnamed1176() {
+buildUnnamed1207() {
   var o = new core.List<api.Timeseries>();
   o.add(buildTimeseries());
   o.add(buildTimeseries());
   return o;
 }
 
-checkUnnamed1176(core.List<api.Timeseries> o) {
+checkUnnamed1207(core.List<api.Timeseries> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTimeseries(o[0]);
   checkTimeseries(o[1]);
@@ -170,7 +170,7 @@
     o.kind = "foo";
     o.nextPageToken = "foo";
     o.oldest = core.DateTime.parse("2002-02-27T14:01:02");
-    o.timeseries = buildUnnamed1176();
+    o.timeseries = buildUnnamed1207();
     o.youngest = core.DateTime.parse("2002-02-27T14:01:02");
   }
   buildCounterListTimeseriesResponse--;
@@ -183,20 +183,20 @@
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
     unittest.expect(o.oldest, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed1176(o.timeseries);
+    checkUnnamed1207(o.timeseries);
     unittest.expect(o.youngest, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
   }
   buildCounterListTimeseriesResponse--;
 }
 
-buildUnnamed1177() {
+buildUnnamed1208() {
   var o = new core.List<api.MetricDescriptorLabelDescriptor>();
   o.add(buildMetricDescriptorLabelDescriptor());
   o.add(buildMetricDescriptorLabelDescriptor());
   return o;
 }
 
-checkUnnamed1177(core.List<api.MetricDescriptorLabelDescriptor> o) {
+checkUnnamed1208(core.List<api.MetricDescriptorLabelDescriptor> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetricDescriptorLabelDescriptor(o[0]);
   checkMetricDescriptorLabelDescriptor(o[1]);
@@ -208,7 +208,7 @@
   buildCounterMetricDescriptor++;
   if (buildCounterMetricDescriptor < 3) {
     o.description = "foo";
-    o.labels = buildUnnamed1177();
+    o.labels = buildUnnamed1208();
     o.name = "foo";
     o.project = "foo";
     o.typeDescriptor = buildMetricDescriptorTypeDescriptor();
@@ -221,7 +221,7 @@
   buildCounterMetricDescriptor++;
   if (buildCounterMetricDescriptor < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1177(o.labels);
+    checkUnnamed1208(o.labels);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.project, unittest.equals('foo'));
     checkMetricDescriptorTypeDescriptor(o.typeDescriptor);
@@ -302,14 +302,14 @@
   buildCounterPoint--;
 }
 
-buildUnnamed1178() {
+buildUnnamed1209() {
   var o = new core.List<api.PointDistributionBucket>();
   o.add(buildPointDistributionBucket());
   o.add(buildPointDistributionBucket());
   return o;
 }
 
-checkUnnamed1178(core.List<api.PointDistributionBucket> o) {
+checkUnnamed1209(core.List<api.PointDistributionBucket> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPointDistributionBucket(o[0]);
   checkPointDistributionBucket(o[1]);
@@ -320,7 +320,7 @@
   var o = new api.PointDistribution();
   buildCounterPointDistribution++;
   if (buildCounterPointDistribution < 3) {
-    o.buckets = buildUnnamed1178();
+    o.buckets = buildUnnamed1209();
     o.overflowBucket = buildPointDistributionOverflowBucket();
     o.underflowBucket = buildPointDistributionUnderflowBucket();
   }
@@ -331,7 +331,7 @@
 checkPointDistribution(api.PointDistribution o) {
   buildCounterPointDistribution++;
   if (buildCounterPointDistribution < 3) {
-    checkUnnamed1178(o.buckets);
+    checkUnnamed1209(o.buckets);
     checkPointDistributionOverflowBucket(o.overflowBucket);
     checkPointDistributionUnderflowBucket(o.underflowBucket);
   }
@@ -403,14 +403,14 @@
   buildCounterPointDistributionUnderflowBucket--;
 }
 
-buildUnnamed1179() {
+buildUnnamed1210() {
   var o = new core.List<api.Point>();
   o.add(buildPoint());
   o.add(buildPoint());
   return o;
 }
 
-checkUnnamed1179(core.List<api.Point> o) {
+checkUnnamed1210(core.List<api.Point> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPoint(o[0]);
   checkPoint(o[1]);
@@ -421,7 +421,7 @@
   var o = new api.Timeseries();
   buildCounterTimeseries++;
   if (buildCounterTimeseries < 3) {
-    o.points = buildUnnamed1179();
+    o.points = buildUnnamed1210();
     o.timeseriesDesc = buildTimeseriesDescriptor();
   }
   buildCounterTimeseries--;
@@ -431,20 +431,20 @@
 checkTimeseries(api.Timeseries o) {
   buildCounterTimeseries++;
   if (buildCounterTimeseries < 3) {
-    checkUnnamed1179(o.points);
+    checkUnnamed1210(o.points);
     checkTimeseriesDescriptor(o.timeseriesDesc);
   }
   buildCounterTimeseries--;
 }
 
-buildUnnamed1180() {
+buildUnnamed1211() {
   var o = new core.Map<core.String, core.String>();
   o["x"] = "foo";
   o["y"] = "foo";
   return o;
 }
 
-checkUnnamed1180(core.Map<core.String, core.String> o) {
+checkUnnamed1211(core.Map<core.String, core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o["x"], unittest.equals('foo'));
   unittest.expect(o["y"], unittest.equals('foo'));
@@ -455,7 +455,7 @@
   var o = new api.TimeseriesDescriptor();
   buildCounterTimeseriesDescriptor++;
   if (buildCounterTimeseriesDescriptor < 3) {
-    o.labels = buildUnnamed1180();
+    o.labels = buildUnnamed1211();
     o.metric = "foo";
     o.project = "foo";
   }
@@ -466,34 +466,34 @@
 checkTimeseriesDescriptor(api.TimeseriesDescriptor o) {
   buildCounterTimeseriesDescriptor++;
   if (buildCounterTimeseriesDescriptor < 3) {
-    checkUnnamed1180(o.labels);
+    checkUnnamed1211(o.labels);
     unittest.expect(o.metric, unittest.equals('foo'));
     unittest.expect(o.project, unittest.equals('foo'));
   }
   buildCounterTimeseriesDescriptor--;
 }
 
-buildUnnamed1181() {
+buildUnnamed1212() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1181(core.List<core.String> o) {
+checkUnnamed1212(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1182() {
+buildUnnamed1213() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1182(core.List<core.String> o) {
+checkUnnamed1213(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -663,15 +663,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/cloudmonitoring/v2beta1/projects/"));
-        pathOffset += 34;
-        index = path.indexOf("/metricDescriptors", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("/metricDescriptors"));
-        pathOffset += 18;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -718,7 +711,7 @@
       var arg_metric = "foo";
       var arg_youngest = "foo";
       var arg_count = 42;
-      var arg_labels = buildUnnamed1181();
+      var arg_labels = buildUnnamed1212();
       var arg_oldest = "foo";
       var arg_pageToken = "foo";
       var arg_timespan = "foo";
@@ -730,18 +723,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/cloudmonitoring/v2beta1/projects/"));
-        pathOffset += 34;
-        index = path.indexOf("/timeseries/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/timeseries/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_metric"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -791,7 +774,7 @@
       var arg_metric = "foo";
       var arg_youngest = "foo";
       var arg_count = 42;
-      var arg_labels = buildUnnamed1182();
+      var arg_labels = buildUnnamed1213();
       var arg_oldest = "foo";
       var arg_pageToken = "foo";
       var arg_timespan = "foo";
@@ -803,18 +786,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 34), unittest.equals("/cloudmonitoring/v2beta1/projects/"));
-        pathOffset += 34;
-        index = path.indexOf("/timeseriesDescriptors/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 23), unittest.equals("/timeseriesDescriptors/"));
-        pathOffset += 23;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_metric"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/common/common_internal_test.dart b/generated/googleapis_beta/test/common/common_internal_test.dart
index a8fc299..acf53f2 100644
--- a/generated/googleapis_beta/test/common/common_internal_test.dart
+++ b/generated/googleapis_beta/test/common/common_internal_test.dart
@@ -7,6 +7,7 @@
 import 'package:googleapis_beta/src/common_internal.dart';
 import 'package:http/http.dart' as http;
 import 'package:unittest/unittest.dart';
+
 class HttpServerMock extends http.BaseClient {
   Function _callback;
   bool _expectJson;
@@ -307,7 +308,7 @@
       setUp(() {
         httpMock = new HttpServerMock();
         rootUrl = 'http://example.com/';
-        basePath = '/base/';
+        basePath = 'base/';
         requester = new ApiRequester(httpMock, rootUrl, basePath);
       });
 
@@ -731,6 +732,17 @@
                      1024*1024], false);
           });
 
+          test('length-big-block-parts-non-divisible', () {
+            runTest(1, 1024 * 1024 + 1,
+                    [1,
+                     256*1024-1,
+                     256*1024,
+                     256*1024+1,
+                     1024*1024-1,
+                     1024*1024,
+                     1024*1024+1], false);
+          });
+
           test('stream-small-block', () {
             runTest(1, 10, [10], true);
           });
diff --git a/generated/googleapis_beta/test/datastore/v1beta2_test.dart b/generated/googleapis_beta/test/datastore/v1beta2_test.dart
index a9f450f..85aa41a 100644
--- a/generated/googleapis_beta/test/datastore/v1beta2_test.dart
+++ b/generated/googleapis_beta/test/datastore/v1beta2_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed1183() {
+buildUnnamed1214() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1183(core.List<api.Key> o) {
+checkUnnamed1214(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
@@ -34,7 +34,7 @@
   var o = new api.AllocateIdsRequest();
   buildCounterAllocateIdsRequest++;
   if (buildCounterAllocateIdsRequest < 3) {
-    o.keys = buildUnnamed1183();
+    o.keys = buildUnnamed1214();
   }
   buildCounterAllocateIdsRequest--;
   return o;
@@ -43,19 +43,19 @@
 checkAllocateIdsRequest(api.AllocateIdsRequest o) {
   buildCounterAllocateIdsRequest++;
   if (buildCounterAllocateIdsRequest < 3) {
-    checkUnnamed1183(o.keys);
+    checkUnnamed1214(o.keys);
   }
   buildCounterAllocateIdsRequest--;
 }
 
-buildUnnamed1184() {
+buildUnnamed1215() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1184(core.List<api.Key> o) {
+checkUnnamed1215(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
@@ -67,7 +67,7 @@
   buildCounterAllocateIdsResponse++;
   if (buildCounterAllocateIdsResponse < 3) {
     o.header = buildResponseHeader();
-    o.keys = buildUnnamed1184();
+    o.keys = buildUnnamed1215();
   }
   buildCounterAllocateIdsResponse--;
   return o;
@@ -77,7 +77,7 @@
   buildCounterAllocateIdsResponse++;
   if (buildCounterAllocateIdsResponse < 3) {
     checkResponseHeader(o.header);
-    checkUnnamed1184(o.keys);
+    checkUnnamed1215(o.keys);
   }
   buildCounterAllocateIdsResponse--;
 }
@@ -168,14 +168,14 @@
   buildCounterCommitResponse--;
 }
 
-buildUnnamed1185() {
+buildUnnamed1216() {
   var o = new core.List<api.Filter>();
   o.add(buildFilter());
   o.add(buildFilter());
   return o;
 }
 
-checkUnnamed1185(core.List<api.Filter> o) {
+checkUnnamed1216(core.List<api.Filter> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFilter(o[0]);
   checkFilter(o[1]);
@@ -186,7 +186,7 @@
   var o = new api.CompositeFilter();
   buildCounterCompositeFilter++;
   if (buildCounterCompositeFilter < 3) {
-    o.filters = buildUnnamed1185();
+    o.filters = buildUnnamed1216();
     o.operator = "foo";
   }
   buildCounterCompositeFilter--;
@@ -196,20 +196,20 @@
 checkCompositeFilter(api.CompositeFilter o) {
   buildCounterCompositeFilter++;
   if (buildCounterCompositeFilter < 3) {
-    checkUnnamed1185(o.filters);
+    checkUnnamed1216(o.filters);
     unittest.expect(o.operator, unittest.equals('foo'));
   }
   buildCounterCompositeFilter--;
 }
 
-buildUnnamed1186() {
+buildUnnamed1217() {
   var o = new core.Map<core.String, api.Property>();
   o["x"] = buildProperty();
   o["y"] = buildProperty();
   return o;
 }
 
-checkUnnamed1186(core.Map<core.String, api.Property> o) {
+checkUnnamed1217(core.Map<core.String, api.Property> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProperty(o["x"]);
   checkProperty(o["y"]);
@@ -221,7 +221,7 @@
   buildCounterEntity++;
   if (buildCounterEntity < 3) {
     o.key = buildKey();
-    o.properties = buildUnnamed1186();
+    o.properties = buildUnnamed1217();
   }
   buildCounterEntity--;
   return o;
@@ -231,7 +231,7 @@
   buildCounterEntity++;
   if (buildCounterEntity < 3) {
     checkKey(o.key);
-    checkUnnamed1186(o.properties);
+    checkUnnamed1217(o.properties);
   }
   buildCounterEntity--;
 }
@@ -276,27 +276,27 @@
   buildCounterFilter--;
 }
 
-buildUnnamed1187() {
+buildUnnamed1218() {
   var o = new core.List<api.GqlQueryArg>();
   o.add(buildGqlQueryArg());
   o.add(buildGqlQueryArg());
   return o;
 }
 
-checkUnnamed1187(core.List<api.GqlQueryArg> o) {
+checkUnnamed1218(core.List<api.GqlQueryArg> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGqlQueryArg(o[0]);
   checkGqlQueryArg(o[1]);
 }
 
-buildUnnamed1188() {
+buildUnnamed1219() {
   var o = new core.List<api.GqlQueryArg>();
   o.add(buildGqlQueryArg());
   o.add(buildGqlQueryArg());
   return o;
 }
 
-checkUnnamed1188(core.List<api.GqlQueryArg> o) {
+checkUnnamed1219(core.List<api.GqlQueryArg> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkGqlQueryArg(o[0]);
   checkGqlQueryArg(o[1]);
@@ -308,8 +308,8 @@
   buildCounterGqlQuery++;
   if (buildCounterGqlQuery < 3) {
     o.allowLiteral = true;
-    o.nameArgs = buildUnnamed1187();
-    o.numberArgs = buildUnnamed1188();
+    o.nameArgs = buildUnnamed1218();
+    o.numberArgs = buildUnnamed1219();
     o.queryString = "foo";
   }
   buildCounterGqlQuery--;
@@ -320,8 +320,8 @@
   buildCounterGqlQuery++;
   if (buildCounterGqlQuery < 3) {
     unittest.expect(o.allowLiteral, unittest.isTrue);
-    checkUnnamed1187(o.nameArgs);
-    checkUnnamed1188(o.numberArgs);
+    checkUnnamed1218(o.nameArgs);
+    checkUnnamed1219(o.numberArgs);
     unittest.expect(o.queryString, unittest.equals('foo'));
   }
   buildCounterGqlQuery--;
@@ -350,14 +350,14 @@
   buildCounterGqlQueryArg--;
 }
 
-buildUnnamed1189() {
+buildUnnamed1220() {
   var o = new core.List<api.KeyPathElement>();
   o.add(buildKeyPathElement());
   o.add(buildKeyPathElement());
   return o;
 }
 
-checkUnnamed1189(core.List<api.KeyPathElement> o) {
+checkUnnamed1220(core.List<api.KeyPathElement> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKeyPathElement(o[0]);
   checkKeyPathElement(o[1]);
@@ -369,7 +369,7 @@
   buildCounterKey++;
   if (buildCounterKey < 3) {
     o.partitionId = buildPartitionId();
-    o.path = buildUnnamed1189();
+    o.path = buildUnnamed1220();
   }
   buildCounterKey--;
   return o;
@@ -379,7 +379,7 @@
   buildCounterKey++;
   if (buildCounterKey < 3) {
     checkPartitionId(o.partitionId);
-    checkUnnamed1189(o.path);
+    checkUnnamed1220(o.path);
   }
   buildCounterKey--;
 }
@@ -426,14 +426,14 @@
   buildCounterKindExpression--;
 }
 
-buildUnnamed1190() {
+buildUnnamed1221() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1190(core.List<api.Key> o) {
+checkUnnamed1221(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
@@ -444,7 +444,7 @@
   var o = new api.LookupRequest();
   buildCounterLookupRequest++;
   if (buildCounterLookupRequest < 3) {
-    o.keys = buildUnnamed1190();
+    o.keys = buildUnnamed1221();
     o.readOptions = buildReadOptions();
   }
   buildCounterLookupRequest--;
@@ -454,46 +454,46 @@
 checkLookupRequest(api.LookupRequest o) {
   buildCounterLookupRequest++;
   if (buildCounterLookupRequest < 3) {
-    checkUnnamed1190(o.keys);
+    checkUnnamed1221(o.keys);
     checkReadOptions(o.readOptions);
   }
   buildCounterLookupRequest--;
 }
 
-buildUnnamed1191() {
+buildUnnamed1222() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1191(core.List<api.Key> o) {
+checkUnnamed1222(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
 }
 
-buildUnnamed1192() {
+buildUnnamed1223() {
   var o = new core.List<api.EntityResult>();
   o.add(buildEntityResult());
   o.add(buildEntityResult());
   return o;
 }
 
-checkUnnamed1192(core.List<api.EntityResult> o) {
+checkUnnamed1223(core.List<api.EntityResult> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntityResult(o[0]);
   checkEntityResult(o[1]);
 }
 
-buildUnnamed1193() {
+buildUnnamed1224() {
   var o = new core.List<api.EntityResult>();
   o.add(buildEntityResult());
   o.add(buildEntityResult());
   return o;
 }
 
-checkUnnamed1193(core.List<api.EntityResult> o) {
+checkUnnamed1224(core.List<api.EntityResult> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntityResult(o[0]);
   checkEntityResult(o[1]);
@@ -504,10 +504,10 @@
   var o = new api.LookupResponse();
   buildCounterLookupResponse++;
   if (buildCounterLookupResponse < 3) {
-    o.deferred = buildUnnamed1191();
-    o.found = buildUnnamed1192();
+    o.deferred = buildUnnamed1222();
+    o.found = buildUnnamed1223();
     o.header = buildResponseHeader();
-    o.missing = buildUnnamed1193();
+    o.missing = buildUnnamed1224();
   }
   buildCounterLookupResponse--;
   return o;
@@ -516,74 +516,74 @@
 checkLookupResponse(api.LookupResponse o) {
   buildCounterLookupResponse++;
   if (buildCounterLookupResponse < 3) {
-    checkUnnamed1191(o.deferred);
-    checkUnnamed1192(o.found);
+    checkUnnamed1222(o.deferred);
+    checkUnnamed1223(o.found);
     checkResponseHeader(o.header);
-    checkUnnamed1193(o.missing);
+    checkUnnamed1224(o.missing);
   }
   buildCounterLookupResponse--;
 }
 
-buildUnnamed1194() {
+buildUnnamed1225() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1194(core.List<api.Key> o) {
+checkUnnamed1225(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
 }
 
-buildUnnamed1195() {
+buildUnnamed1226() {
   var o = new core.List<api.Entity>();
   o.add(buildEntity());
   o.add(buildEntity());
   return o;
 }
 
-checkUnnamed1195(core.List<api.Entity> o) {
+checkUnnamed1226(core.List<api.Entity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntity(o[0]);
   checkEntity(o[1]);
 }
 
-buildUnnamed1196() {
+buildUnnamed1227() {
   var o = new core.List<api.Entity>();
   o.add(buildEntity());
   o.add(buildEntity());
   return o;
 }
 
-checkUnnamed1196(core.List<api.Entity> o) {
+checkUnnamed1227(core.List<api.Entity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntity(o[0]);
   checkEntity(o[1]);
 }
 
-buildUnnamed1197() {
+buildUnnamed1228() {
   var o = new core.List<api.Entity>();
   o.add(buildEntity());
   o.add(buildEntity());
   return o;
 }
 
-checkUnnamed1197(core.List<api.Entity> o) {
+checkUnnamed1228(core.List<api.Entity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntity(o[0]);
   checkEntity(o[1]);
 }
 
-buildUnnamed1198() {
+buildUnnamed1229() {
   var o = new core.List<api.Entity>();
   o.add(buildEntity());
   o.add(buildEntity());
   return o;
 }
 
-checkUnnamed1198(core.List<api.Entity> o) {
+checkUnnamed1229(core.List<api.Entity> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntity(o[0]);
   checkEntity(o[1]);
@@ -594,12 +594,12 @@
   var o = new api.Mutation();
   buildCounterMutation++;
   if (buildCounterMutation < 3) {
-    o.delete = buildUnnamed1194();
+    o.delete = buildUnnamed1225();
     o.force = true;
-    o.insert = buildUnnamed1195();
-    o.insertAutoId = buildUnnamed1196();
-    o.update = buildUnnamed1197();
-    o.upsert = buildUnnamed1198();
+    o.insert = buildUnnamed1226();
+    o.insertAutoId = buildUnnamed1227();
+    o.update = buildUnnamed1228();
+    o.upsert = buildUnnamed1229();
   }
   buildCounterMutation--;
   return o;
@@ -608,24 +608,24 @@
 checkMutation(api.Mutation o) {
   buildCounterMutation++;
   if (buildCounterMutation < 3) {
-    checkUnnamed1194(o.delete);
+    checkUnnamed1225(o.delete);
     unittest.expect(o.force, unittest.isTrue);
-    checkUnnamed1195(o.insert);
-    checkUnnamed1196(o.insertAutoId);
-    checkUnnamed1197(o.update);
-    checkUnnamed1198(o.upsert);
+    checkUnnamed1226(o.insert);
+    checkUnnamed1227(o.insertAutoId);
+    checkUnnamed1228(o.update);
+    checkUnnamed1229(o.upsert);
   }
   buildCounterMutation--;
 }
 
-buildUnnamed1199() {
+buildUnnamed1230() {
   var o = new core.List<api.Key>();
   o.add(buildKey());
   o.add(buildKey());
   return o;
 }
 
-checkUnnamed1199(core.List<api.Key> o) {
+checkUnnamed1230(core.List<api.Key> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKey(o[0]);
   checkKey(o[1]);
@@ -637,7 +637,7 @@
   buildCounterMutationResult++;
   if (buildCounterMutationResult < 3) {
     o.indexUpdates = 42;
-    o.insertAutoIdKeys = buildUnnamed1199();
+    o.insertAutoIdKeys = buildUnnamed1230();
   }
   buildCounterMutationResult--;
   return o;
@@ -647,7 +647,7 @@
   buildCounterMutationResult++;
   if (buildCounterMutationResult < 3) {
     unittest.expect(o.indexUpdates, unittest.equals(42));
-    checkUnnamed1199(o.insertAutoIdKeys);
+    checkUnnamed1230(o.insertAutoIdKeys);
   }
   buildCounterMutationResult--;
 }
@@ -673,14 +673,14 @@
   buildCounterPartitionId--;
 }
 
-buildUnnamed1200() {
+buildUnnamed1231() {
   var o = new core.List<api.Value>();
   o.add(buildValue());
   o.add(buildValue());
   return o;
 }
 
-checkUnnamed1200(core.List<api.Value> o) {
+checkUnnamed1231(core.List<api.Value> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkValue(o[0]);
   checkValue(o[1]);
@@ -700,7 +700,7 @@
     o.indexed = true;
     o.integerValue = "foo";
     o.keyValue = buildKey();
-    o.listValue = buildUnnamed1200();
+    o.listValue = buildUnnamed1231();
     o.meaning = 42;
     o.stringValue = "foo";
   }
@@ -720,7 +720,7 @@
     unittest.expect(o.indexed, unittest.isTrue);
     unittest.expect(o.integerValue, unittest.equals('foo'));
     checkKey(o.keyValue);
-    checkUnnamed1200(o.listValue);
+    checkUnnamed1231(o.listValue);
     unittest.expect(o.meaning, unittest.equals(42));
     unittest.expect(o.stringValue, unittest.equals('foo'));
   }
@@ -811,53 +811,53 @@
   buildCounterPropertyReference--;
 }
 
-buildUnnamed1201() {
+buildUnnamed1232() {
   var o = new core.List<api.PropertyReference>();
   o.add(buildPropertyReference());
   o.add(buildPropertyReference());
   return o;
 }
 
-checkUnnamed1201(core.List<api.PropertyReference> o) {
+checkUnnamed1232(core.List<api.PropertyReference> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPropertyReference(o[0]);
   checkPropertyReference(o[1]);
 }
 
-buildUnnamed1202() {
+buildUnnamed1233() {
   var o = new core.List<api.KindExpression>();
   o.add(buildKindExpression());
   o.add(buildKindExpression());
   return o;
 }
 
-checkUnnamed1202(core.List<api.KindExpression> o) {
+checkUnnamed1233(core.List<api.KindExpression> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkKindExpression(o[0]);
   checkKindExpression(o[1]);
 }
 
-buildUnnamed1203() {
+buildUnnamed1234() {
   var o = new core.List<api.PropertyOrder>();
   o.add(buildPropertyOrder());
   o.add(buildPropertyOrder());
   return o;
 }
 
-checkUnnamed1203(core.List<api.PropertyOrder> o) {
+checkUnnamed1234(core.List<api.PropertyOrder> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPropertyOrder(o[0]);
   checkPropertyOrder(o[1]);
 }
 
-buildUnnamed1204() {
+buildUnnamed1235() {
   var o = new core.List<api.PropertyExpression>();
   o.add(buildPropertyExpression());
   o.add(buildPropertyExpression());
   return o;
 }
 
-checkUnnamed1204(core.List<api.PropertyExpression> o) {
+checkUnnamed1235(core.List<api.PropertyExpression> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPropertyExpression(o[0]);
   checkPropertyExpression(o[1]);
@@ -870,12 +870,12 @@
   if (buildCounterQuery < 3) {
     o.endCursor = "foo";
     o.filter = buildFilter();
-    o.groupBy = buildUnnamed1201();
-    o.kinds = buildUnnamed1202();
+    o.groupBy = buildUnnamed1232();
+    o.kinds = buildUnnamed1233();
     o.limit = 42;
     o.offset = 42;
-    o.order = buildUnnamed1203();
-    o.projection = buildUnnamed1204();
+    o.order = buildUnnamed1234();
+    o.projection = buildUnnamed1235();
     o.startCursor = "foo";
   }
   buildCounterQuery--;
@@ -887,25 +887,25 @@
   if (buildCounterQuery < 3) {
     unittest.expect(o.endCursor, unittest.equals('foo'));
     checkFilter(o.filter);
-    checkUnnamed1201(o.groupBy);
-    checkUnnamed1202(o.kinds);
+    checkUnnamed1232(o.groupBy);
+    checkUnnamed1233(o.kinds);
     unittest.expect(o.limit, unittest.equals(42));
     unittest.expect(o.offset, unittest.equals(42));
-    checkUnnamed1203(o.order);
-    checkUnnamed1204(o.projection);
+    checkUnnamed1234(o.order);
+    checkUnnamed1235(o.projection);
     unittest.expect(o.startCursor, unittest.equals('foo'));
   }
   buildCounterQuery--;
 }
 
-buildUnnamed1205() {
+buildUnnamed1236() {
   var o = new core.List<api.EntityResult>();
   o.add(buildEntityResult());
   o.add(buildEntityResult());
   return o;
 }
 
-checkUnnamed1205(core.List<api.EntityResult> o) {
+checkUnnamed1236(core.List<api.EntityResult> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEntityResult(o[0]);
   checkEntityResult(o[1]);
@@ -918,7 +918,7 @@
   if (buildCounterQueryResultBatch < 3) {
     o.endCursor = "foo";
     o.entityResultType = "foo";
-    o.entityResults = buildUnnamed1205();
+    o.entityResults = buildUnnamed1236();
     o.moreResults = "foo";
     o.skippedResults = 42;
   }
@@ -931,7 +931,7 @@
   if (buildCounterQueryResultBatch < 3) {
     unittest.expect(o.endCursor, unittest.equals('foo'));
     unittest.expect(o.entityResultType, unittest.equals('foo'));
-    checkUnnamed1205(o.entityResults);
+    checkUnnamed1236(o.entityResults);
     unittest.expect(o.moreResults, unittest.equals('foo'));
     unittest.expect(o.skippedResults, unittest.equals(42));
   }
@@ -1062,14 +1062,14 @@
   buildCounterRunQueryResponse--;
 }
 
-buildUnnamed1206() {
+buildUnnamed1237() {
   var o = new core.List<api.Value>();
   o.add(buildValue());
   o.add(buildValue());
   return o;
 }
 
-checkUnnamed1206(core.List<api.Value> o) {
+checkUnnamed1237(core.List<api.Value> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkValue(o[0]);
   checkValue(o[1]);
@@ -1089,7 +1089,7 @@
     o.indexed = true;
     o.integerValue = "foo";
     o.keyValue = buildKey();
-    o.listValue = buildUnnamed1206();
+    o.listValue = buildUnnamed1237();
     o.meaning = 42;
     o.stringValue = "foo";
   }
@@ -1109,7 +1109,7 @@
     unittest.expect(o.indexed, unittest.isTrue);
     unittest.expect(o.integerValue, unittest.equals('foo'));
     checkKey(o.keyValue);
-    checkUnnamed1206(o.listValue);
+    checkUnnamed1237(o.listValue);
     unittest.expect(o.meaning, unittest.equals(42));
     unittest.expect(o.stringValue, unittest.equals('foo'));
   }
@@ -1439,15 +1439,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/allocateIds", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/allocateIds"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1492,15 +1485,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/beginTransaction", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/beginTransaction"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1545,15 +1531,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/commit", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/commit"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1598,15 +1577,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/lookup", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/lookup"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1651,15 +1623,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/rollback", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/rollback"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1704,15 +1669,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/datastore/v1beta2/datasets/"));
-        pathOffset += 28;
-        index = path.indexOf("/runQuery", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_datasetId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/runQuery"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/dns/v1beta1_test.dart b/generated/googleapis_beta/test/dns/v1beta1_test.dart
index b875a57..66f16aa 100644
--- a/generated/googleapis_beta/test/dns/v1beta1_test.dart
+++ b/generated/googleapis_beta/test/dns/v1beta1_test.dart
@@ -16,27 +16,27 @@
 
 
 
-buildUnnamed1052() {
+buildUnnamed1080() {
   var o = new core.List<api.ResourceRecordSet>();
   o.add(buildResourceRecordSet());
   o.add(buildResourceRecordSet());
   return o;
 }
 
-checkUnnamed1052(core.List<api.ResourceRecordSet> o) {
+checkUnnamed1080(core.List<api.ResourceRecordSet> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResourceRecordSet(o[0]);
   checkResourceRecordSet(o[1]);
 }
 
-buildUnnamed1053() {
+buildUnnamed1081() {
   var o = new core.List<api.ResourceRecordSet>();
   o.add(buildResourceRecordSet());
   o.add(buildResourceRecordSet());
   return o;
 }
 
-checkUnnamed1053(core.List<api.ResourceRecordSet> o) {
+checkUnnamed1081(core.List<api.ResourceRecordSet> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResourceRecordSet(o[0]);
   checkResourceRecordSet(o[1]);
@@ -47,8 +47,8 @@
   var o = new api.Change();
   buildCounterChange++;
   if (buildCounterChange < 3) {
-    o.additions = buildUnnamed1052();
-    o.deletions = buildUnnamed1053();
+    o.additions = buildUnnamed1080();
+    o.deletions = buildUnnamed1081();
     o.id = "foo";
     o.kind = "foo";
     o.startTime = "foo";
@@ -61,8 +61,8 @@
 checkChange(api.Change o) {
   buildCounterChange++;
   if (buildCounterChange < 3) {
-    checkUnnamed1052(o.additions);
-    checkUnnamed1053(o.deletions);
+    checkUnnamed1080(o.additions);
+    checkUnnamed1081(o.deletions);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.startTime, unittest.equals('foo'));
@@ -71,14 +71,14 @@
   buildCounterChange--;
 }
 
-buildUnnamed1054() {
+buildUnnamed1082() {
   var o = new core.List<api.Change>();
   o.add(buildChange());
   o.add(buildChange());
   return o;
 }
 
-checkUnnamed1054(core.List<api.Change> o) {
+checkUnnamed1082(core.List<api.Change> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkChange(o[0]);
   checkChange(o[1]);
@@ -89,7 +89,7 @@
   var o = new api.ChangesListResponse();
   buildCounterChangesListResponse++;
   if (buildCounterChangesListResponse < 3) {
-    o.changes = buildUnnamed1054();
+    o.changes = buildUnnamed1082();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -100,21 +100,21 @@
 checkChangesListResponse(api.ChangesListResponse o) {
   buildCounterChangesListResponse++;
   if (buildCounterChangesListResponse < 3) {
-    checkUnnamed1054(o.changes);
+    checkUnnamed1082(o.changes);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterChangesListResponse--;
 }
 
-buildUnnamed1055() {
+buildUnnamed1083() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1055(core.List<core.String> o) {
+checkUnnamed1083(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -131,7 +131,7 @@
     o.id = "foo";
     o.kind = "foo";
     o.name = "foo";
-    o.nameServers = buildUnnamed1055();
+    o.nameServers = buildUnnamed1083();
   }
   buildCounterManagedZone--;
   return o;
@@ -146,19 +146,19 @@
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed1055(o.nameServers);
+    checkUnnamed1083(o.nameServers);
   }
   buildCounterManagedZone--;
 }
 
-buildUnnamed1056() {
+buildUnnamed1084() {
   var o = new core.List<api.ManagedZone>();
   o.add(buildManagedZone());
   o.add(buildManagedZone());
   return o;
 }
 
-checkUnnamed1056(core.List<api.ManagedZone> o) {
+checkUnnamed1084(core.List<api.ManagedZone> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkManagedZone(o[0]);
   checkManagedZone(o[1]);
@@ -170,7 +170,7 @@
   buildCounterManagedZonesListResponse++;
   if (buildCounterManagedZonesListResponse < 3) {
     o.kind = "foo";
-    o.managedZones = buildUnnamed1056();
+    o.managedZones = buildUnnamed1084();
     o.nextPageToken = "foo";
   }
   buildCounterManagedZonesListResponse--;
@@ -181,7 +181,7 @@
   buildCounterManagedZonesListResponse++;
   if (buildCounterManagedZonesListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1056(o.managedZones);
+    checkUnnamed1084(o.managedZones);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterManagedZonesListResponse--;
@@ -243,14 +243,14 @@
   buildCounterQuota--;
 }
 
-buildUnnamed1057() {
+buildUnnamed1085() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1057(core.List<core.String> o) {
+checkUnnamed1085(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -263,7 +263,7 @@
   if (buildCounterResourceRecordSet < 3) {
     o.kind = "foo";
     o.name = "foo";
-    o.rrdatas = buildUnnamed1057();
+    o.rrdatas = buildUnnamed1085();
     o.ttl = 42;
     o.type = "foo";
   }
@@ -276,21 +276,21 @@
   if (buildCounterResourceRecordSet < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed1057(o.rrdatas);
+    checkUnnamed1085(o.rrdatas);
     unittest.expect(o.ttl, unittest.equals(42));
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterResourceRecordSet--;
 }
 
-buildUnnamed1058() {
+buildUnnamed1086() {
   var o = new core.List<api.ResourceRecordSet>();
   o.add(buildResourceRecordSet());
   o.add(buildResourceRecordSet());
   return o;
 }
 
-checkUnnamed1058(core.List<api.ResourceRecordSet> o) {
+checkUnnamed1086(core.List<api.ResourceRecordSet> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResourceRecordSet(o[0]);
   checkResourceRecordSet(o[1]);
@@ -303,7 +303,7 @@
   if (buildCounterResourceRecordSetsListResponse < 3) {
     o.kind = "foo";
     o.nextPageToken = "foo";
-    o.rrsets = buildUnnamed1058();
+    o.rrsets = buildUnnamed1086();
   }
   buildCounterResourceRecordSetsListResponse--;
   return o;
@@ -314,7 +314,7 @@
   if (buildCounterResourceRecordSetsListResponse < 3) {
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1058(o.rrsets);
+    checkUnnamed1086(o.rrsets);
   }
   buildCounterResourceRecordSetsListResponse--;
 }
@@ -409,22 +409,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        index = path.indexOf("/changes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/changes"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -467,25 +453,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        index = path.indexOf("/changes/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/changes/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_changeId"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -531,22 +500,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        index = path.indexOf("/changes", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/changes"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -599,15 +554,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/managedZones"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -649,18 +597,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -700,18 +638,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -754,15 +682,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/managedZones"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -809,11 +730,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -863,22 +781,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 22), unittest.equals("/dns/v1beta1/projects/"));
-        pathOffset += 22;
-        index = path.indexOf("/managedZones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/managedZones/"));
-        pathOffset += 14;
-        index = path.indexOf("/rrsets", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_managedZone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/rrsets"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/genomics/v1beta_test.dart b/generated/googleapis_beta/test/genomics/v1beta_test.dart
index 344622a..c4d1830 100644
--- a/generated/googleapis_beta/test/genomics/v1beta_test.dart
+++ b/generated/googleapis_beta/test/genomics/v1beta_test.dart
@@ -35,56 +35,56 @@
   buildCounterBeacon--;
 }
 
-buildUnnamed1122() {
+buildUnnamed1150() {
   var o = new core.List<core.int>();
   o.add(42);
   o.add(42);
   return o;
 }
 
-checkUnnamed1122(core.List<core.int> o) {
+checkUnnamed1150(core.List<core.int> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42));
   unittest.expect(o[1], unittest.equals(42));
 }
 
-buildUnnamed1123() {
+buildUnnamed1151() {
   var o = new core.List<core.double>();
   o.add(42.0);
   o.add(42.0);
   return o;
 }
 
-checkUnnamed1123(core.List<core.double> o) {
+checkUnnamed1151(core.List<core.double> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals(42.0));
   unittest.expect(o[1], unittest.equals(42.0));
 }
 
-buildUnnamed1124() {
+buildUnnamed1152() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1124(core.List<core.String> o) {
+checkUnnamed1152(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1125() {
+buildUnnamed1153() {
   var o = new core.Map<core.String, core.List<core.String>>();
-  o["x"] = buildUnnamed1124();
-  o["y"] = buildUnnamed1124();
+  o["x"] = buildUnnamed1152();
+  o["y"] = buildUnnamed1152();
   return o;
 }
 
-checkUnnamed1125(core.Map<core.String, core.List<core.String>> o) {
+checkUnnamed1153(core.Map<core.String, core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed1124(o["x"]);
-  checkUnnamed1124(o["y"]);
+  checkUnnamed1152(o["x"]);
+  checkUnnamed1152(o["y"]);
 }
 
 core.int buildCounterCall = 0;
@@ -92,11 +92,11 @@
   var o = new api.Call();
   buildCounterCall++;
   if (buildCounterCall < 3) {
-    o.callsetId = "foo";
-    o.callsetName = "foo";
-    o.genotype = buildUnnamed1122();
-    o.genotypeLikelihood = buildUnnamed1123();
-    o.info = buildUnnamed1125();
+    o.callSetId = "foo";
+    o.callSetName = "foo";
+    o.genotype = buildUnnamed1150();
+    o.genotypeLikelihood = buildUnnamed1151();
+    o.info = buildUnnamed1153();
     o.phaseset = "foo";
   }
   buildCounterCall--;
@@ -106,88 +106,82 @@
 checkCall(api.Call o) {
   buildCounterCall++;
   if (buildCounterCall < 3) {
-    unittest.expect(o.callsetId, unittest.equals('foo'));
-    unittest.expect(o.callsetName, unittest.equals('foo'));
-    checkUnnamed1122(o.genotype);
-    checkUnnamed1123(o.genotypeLikelihood);
-    checkUnnamed1125(o.info);
+    unittest.expect(o.callSetId, unittest.equals('foo'));
+    unittest.expect(o.callSetName, unittest.equals('foo'));
+    checkUnnamed1150(o.genotype);
+    checkUnnamed1151(o.genotypeLikelihood);
+    checkUnnamed1153(o.info);
     unittest.expect(o.phaseset, unittest.equals('foo'));
   }
   buildCounterCall--;
 }
 
-buildUnnamed1126() {
+buildUnnamed1154() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1126(core.List<core.String> o) {
+checkUnnamed1154(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1127() {
+buildUnnamed1155() {
   var o = new core.Map<core.String, core.List<core.String>>();
-  o["x"] = buildUnnamed1126();
-  o["y"] = buildUnnamed1126();
+  o["x"] = buildUnnamed1154();
+  o["y"] = buildUnnamed1154();
   return o;
 }
 
-checkUnnamed1127(core.Map<core.String, core.List<core.String>> o) {
+checkUnnamed1155(core.Map<core.String, core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed1126(o["x"]);
-  checkUnnamed1126(o["y"]);
+  checkUnnamed1154(o["x"]);
+  checkUnnamed1154(o["y"]);
 }
 
-core.int buildCounterCallset = 0;
-buildCallset() {
-  var o = new api.Callset();
-  buildCounterCallset++;
-  if (buildCounterCallset < 3) {
+buildUnnamed1156() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed1156(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+core.int buildCounterCallSet = 0;
+buildCallSet() {
+  var o = new api.CallSet();
+  buildCounterCallSet++;
+  if (buildCounterCallSet < 3) {
     o.created = "foo";
     o.id = "foo";
-    o.info = buildUnnamed1127();
+    o.info = buildUnnamed1155();
     o.name = "foo";
-    o.variantsetId = "foo";
+    o.sampleId = "foo";
+    o.variantSetIds = buildUnnamed1156();
   }
-  buildCounterCallset--;
+  buildCounterCallSet--;
   return o;
 }
 
-checkCallset(api.Callset o) {
-  buildCounterCallset++;
-  if (buildCounterCallset < 3) {
+checkCallSet(api.CallSet o) {
+  buildCounterCallSet++;
+  if (buildCounterCallSet < 3) {
     unittest.expect(o.created, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed1127(o.info);
+    checkUnnamed1155(o.info);
     unittest.expect(o.name, unittest.equals('foo'));
-    unittest.expect(o.variantsetId, unittest.equals('foo'));
+    unittest.expect(o.sampleId, unittest.equals('foo'));
+    checkUnnamed1156(o.variantSetIds);
   }
-  buildCounterCallset--;
-}
-
-core.int buildCounterContigBound = 0;
-buildContigBound() {
-  var o = new api.ContigBound();
-  buildCounterContigBound++;
-  if (buildCounterContigBound < 3) {
-    o.contig = "foo";
-    o.upperBound = "foo";
-  }
-  buildCounterContigBound--;
-  return o;
-}
-
-checkContigBound(api.ContigBound o) {
-  buildCounterContigBound++;
-  if (buildCounterContigBound < 3) {
-    unittest.expect(o.contig, unittest.equals('foo'));
-    unittest.expect(o.upperBound, unittest.equals('foo'));
-  }
-  buildCounterContigBound--;
+  buildCounterCallSet--;
 }
 
 core.int buildCounterCoverageBucket = 0;
@@ -236,27 +230,27 @@
   buildCounterDataset--;
 }
 
-buildUnnamed1128() {
+buildUnnamed1157() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1128(core.List<core.String> o) {
+checkUnnamed1157(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1129() {
+buildUnnamed1158() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1129(core.List<core.String> o) {
+checkUnnamed1158(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -270,9 +264,9 @@
     o.align = true;
     o.callVariants = true;
     o.gcsOutputPath = "foo";
-    o.pairedSourceUris = buildUnnamed1128();
+    o.pairedSourceUris = buildUnnamed1157();
     o.projectId = "foo";
-    o.sourceUris = buildUnnamed1129();
+    o.sourceUris = buildUnnamed1158();
   }
   buildCounterExperimentalCreateJobRequest--;
   return o;
@@ -284,9 +278,9 @@
     unittest.expect(o.align, unittest.isTrue);
     unittest.expect(o.callVariants, unittest.isTrue);
     unittest.expect(o.gcsOutputPath, unittest.equals('foo'));
-    checkUnnamed1128(o.pairedSourceUris);
+    checkUnnamed1157(o.pairedSourceUris);
     unittest.expect(o.projectId, unittest.equals('foo'));
-    checkUnnamed1129(o.sourceUris);
+    checkUnnamed1158(o.sourceUris);
   }
   buildCounterExperimentalCreateJobRequest--;
 }
@@ -310,27 +304,27 @@
   buildCounterExperimentalCreateJobResponse--;
 }
 
-buildUnnamed1130() {
+buildUnnamed1159() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1130(core.List<core.String> o) {
+checkUnnamed1159(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1131() {
+buildUnnamed1160() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1131(core.List<core.String> o) {
+checkUnnamed1160(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -343,8 +337,8 @@
   if (buildCounterExportReadsetsRequest < 3) {
     o.exportUri = "foo";
     o.projectId = "foo";
-    o.readsetIds = buildUnnamed1130();
-    o.referenceNames = buildUnnamed1131();
+    o.readsetIds = buildUnnamed1159();
+    o.referenceNames = buildUnnamed1160();
   }
   buildCounterExportReadsetsRequest--;
   return o;
@@ -355,8 +349,8 @@
   if (buildCounterExportReadsetsRequest < 3) {
     unittest.expect(o.exportUri, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
-    checkUnnamed1130(o.readsetIds);
-    checkUnnamed1131(o.referenceNames);
+    checkUnnamed1159(o.readsetIds);
+    checkUnnamed1160(o.referenceNames);
   }
   buildCounterExportReadsetsRequest--;
 }
@@ -380,14 +374,14 @@
   buildCounterExportReadsetsResponse--;
 }
 
-buildUnnamed1132() {
+buildUnnamed1161() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1132(core.List<core.String> o) {
+checkUnnamed1161(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -400,10 +394,10 @@
   if (buildCounterExportVariantsRequest < 3) {
     o.bigqueryDataset = "foo";
     o.bigqueryTable = "foo";
-    o.callsetIds = buildUnnamed1132();
+    o.callSetIds = buildUnnamed1161();
     o.format = "foo";
     o.projectId = "foo";
-    o.variantsetId = "foo";
+    o.variantSetId = "foo";
   }
   buildCounterExportVariantsRequest--;
   return o;
@@ -414,10 +408,10 @@
   if (buildCounterExportVariantsRequest < 3) {
     unittest.expect(o.bigqueryDataset, unittest.equals('foo'));
     unittest.expect(o.bigqueryTable, unittest.equals('foo'));
-    checkUnnamed1132(o.callsetIds);
+    checkUnnamed1161(o.callSetIds);
     unittest.expect(o.format, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
-    unittest.expect(o.variantsetId, unittest.equals('foo'));
+    unittest.expect(o.variantSetId, unittest.equals('foo'));
   }
   buildCounterExportVariantsRequest--;
 }
@@ -464,53 +458,6 @@
   buildCounterGenomicRange--;
 }
 
-buildUnnamed1133() {
-  var o = new core.List<api.ContigBound>();
-  o.add(buildContigBound());
-  o.add(buildContigBound());
-  return o;
-}
-
-checkUnnamed1133(core.List<api.ContigBound> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkContigBound(o[0]);
-  checkContigBound(o[1]);
-}
-
-buildUnnamed1134() {
-  var o = new core.List<api.Metadata>();
-  o.add(buildMetadata());
-  o.add(buildMetadata());
-  return o;
-}
-
-checkUnnamed1134(core.List<api.Metadata> o) {
-  unittest.expect(o, unittest.hasLength(2));
-  checkMetadata(o[0]);
-  checkMetadata(o[1]);
-}
-
-core.int buildCounterGetVariantsSummaryResponse = 0;
-buildGetVariantsSummaryResponse() {
-  var o = new api.GetVariantsSummaryResponse();
-  buildCounterGetVariantsSummaryResponse++;
-  if (buildCounterGetVariantsSummaryResponse < 3) {
-    o.contigBounds = buildUnnamed1133();
-    o.metadata = buildUnnamed1134();
-  }
-  buildCounterGetVariantsSummaryResponse--;
-  return o;
-}
-
-checkGetVariantsSummaryResponse(api.GetVariantsSummaryResponse o) {
-  buildCounterGetVariantsSummaryResponse++;
-  if (buildCounterGetVariantsSummaryResponse < 3) {
-    checkUnnamed1133(o.contigBounds);
-    checkUnnamed1134(o.metadata);
-  }
-  buildCounterGetVariantsSummaryResponse--;
-}
-
 core.int buildCounterHeader = 0;
 buildHeader() {
   var o = new api.Header();
@@ -532,66 +479,66 @@
   buildCounterHeader--;
 }
 
-buildUnnamed1135() {
+buildUnnamed1162() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1135(core.List<core.String> o) {
+checkUnnamed1162(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1136() {
+buildUnnamed1163() {
   var o = new core.List<api.Header>();
   o.add(buildHeader());
   o.add(buildHeader());
   return o;
 }
 
-checkUnnamed1136(core.List<api.Header> o) {
+checkUnnamed1163(core.List<api.Header> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHeader(o[0]);
   checkHeader(o[1]);
 }
 
-buildUnnamed1137() {
+buildUnnamed1164() {
   var o = new core.List<api.Program>();
   o.add(buildProgram());
   o.add(buildProgram());
   return o;
 }
 
-checkUnnamed1137(core.List<api.Program> o) {
+checkUnnamed1164(core.List<api.Program> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkProgram(o[0]);
   checkProgram(o[1]);
 }
 
-buildUnnamed1138() {
+buildUnnamed1165() {
   var o = new core.List<api.ReadGroup>();
   o.add(buildReadGroup());
   o.add(buildReadGroup());
   return o;
 }
 
-checkUnnamed1138(core.List<api.ReadGroup> o) {
+checkUnnamed1165(core.List<api.ReadGroup> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReadGroup(o[0]);
   checkReadGroup(o[1]);
 }
 
-buildUnnamed1139() {
+buildUnnamed1166() {
   var o = new core.List<api.ReferenceSequence>();
   o.add(buildReferenceSequence());
   o.add(buildReferenceSequence());
   return o;
 }
 
-checkUnnamed1139(core.List<api.ReferenceSequence> o) {
+checkUnnamed1166(core.List<api.ReferenceSequence> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReferenceSequence(o[0]);
   checkReferenceSequence(o[1]);
@@ -602,13 +549,13 @@
   var o = new api.HeaderSection();
   buildCounterHeaderSection++;
   if (buildCounterHeaderSection < 3) {
-    o.comments = buildUnnamed1135();
+    o.comments = buildUnnamed1162();
     o.fileUri = "foo";
     o.filename = "foo";
-    o.headers = buildUnnamed1136();
-    o.programs = buildUnnamed1137();
-    o.readGroups = buildUnnamed1138();
-    o.refSequences = buildUnnamed1139();
+    o.headers = buildUnnamed1163();
+    o.programs = buildUnnamed1164();
+    o.readGroups = buildUnnamed1165();
+    o.refSequences = buildUnnamed1166();
   }
   buildCounterHeaderSection--;
   return o;
@@ -617,25 +564,25 @@
 checkHeaderSection(api.HeaderSection o) {
   buildCounterHeaderSection++;
   if (buildCounterHeaderSection < 3) {
-    checkUnnamed1135(o.comments);
+    checkUnnamed1162(o.comments);
     unittest.expect(o.fileUri, unittest.equals('foo'));
     unittest.expect(o.filename, unittest.equals('foo'));
-    checkUnnamed1136(o.headers);
-    checkUnnamed1137(o.programs);
-    checkUnnamed1138(o.readGroups);
-    checkUnnamed1139(o.refSequences);
+    checkUnnamed1163(o.headers);
+    checkUnnamed1164(o.programs);
+    checkUnnamed1165(o.readGroups);
+    checkUnnamed1166(o.refSequences);
   }
   buildCounterHeaderSection--;
 }
 
-buildUnnamed1140() {
+buildUnnamed1167() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1140(core.List<core.String> o) {
+checkUnnamed1167(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -647,7 +594,7 @@
   buildCounterImportReadsetsRequest++;
   if (buildCounterImportReadsetsRequest < 3) {
     o.datasetId = "foo";
-    o.sourceUris = buildUnnamed1140();
+    o.sourceUris = buildUnnamed1167();
   }
   buildCounterImportReadsetsRequest--;
   return o;
@@ -657,7 +604,7 @@
   buildCounterImportReadsetsRequest++;
   if (buildCounterImportReadsetsRequest < 3) {
     unittest.expect(o.datasetId, unittest.equals('foo'));
-    checkUnnamed1140(o.sourceUris);
+    checkUnnamed1167(o.sourceUris);
   }
   buildCounterImportReadsetsRequest--;
 }
@@ -681,14 +628,14 @@
   buildCounterImportReadsetsResponse--;
 }
 
-buildUnnamed1141() {
+buildUnnamed1168() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1141(core.List<core.String> o) {
+checkUnnamed1168(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -700,8 +647,8 @@
   buildCounterImportVariantsRequest++;
   if (buildCounterImportVariantsRequest < 3) {
     o.format = "foo";
-    o.sourceUris = buildUnnamed1141();
-    o.variantsetId = "foo";
+    o.sourceUris = buildUnnamed1168();
+    o.variantSetId = "foo";
   }
   buildCounterImportVariantsRequest--;
   return o;
@@ -711,8 +658,8 @@
   buildCounterImportVariantsRequest++;
   if (buildCounterImportVariantsRequest < 3) {
     unittest.expect(o.format, unittest.equals('foo'));
-    checkUnnamed1141(o.sourceUris);
-    unittest.expect(o.variantsetId, unittest.equals('foo'));
+    checkUnnamed1168(o.sourceUris);
+    unittest.expect(o.variantSetId, unittest.equals('foo'));
   }
   buildCounterImportVariantsRequest--;
 }
@@ -736,40 +683,40 @@
   buildCounterImportVariantsResponse--;
 }
 
-buildUnnamed1142() {
+buildUnnamed1169() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1142(core.List<core.String> o) {
+checkUnnamed1169(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1143() {
+buildUnnamed1170() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1143(core.List<core.String> o) {
+checkUnnamed1170(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1144() {
+buildUnnamed1171() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1144(core.List<core.String> o) {
+checkUnnamed1171(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -782,13 +729,13 @@
   if (buildCounterJob < 3) {
     o.created = "foo";
     o.description = "foo";
-    o.errors = buildUnnamed1142();
+    o.errors = buildUnnamed1169();
     o.id = "foo";
-    o.importedIds = buildUnnamed1143();
+    o.importedIds = buildUnnamed1170();
     o.projectId = "foo";
     o.request = buildJobRequest();
     o.status = "foo";
-    o.warnings = buildUnnamed1144();
+    o.warnings = buildUnnamed1171();
   }
   buildCounterJob--;
   return o;
@@ -799,38 +746,38 @@
   if (buildCounterJob < 3) {
     unittest.expect(o.created, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1142(o.errors);
+    checkUnnamed1169(o.errors);
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed1143(o.importedIds);
+    checkUnnamed1170(o.importedIds);
     unittest.expect(o.projectId, unittest.equals('foo'));
     checkJobRequest(o.request);
     unittest.expect(o.status, unittest.equals('foo'));
-    checkUnnamed1144(o.warnings);
+    checkUnnamed1171(o.warnings);
   }
   buildCounterJob--;
 }
 
-buildUnnamed1145() {
+buildUnnamed1172() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1145(core.List<core.String> o) {
+checkUnnamed1172(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1146() {
+buildUnnamed1173() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1146(core.List<core.String> o) {
+checkUnnamed1173(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -841,8 +788,8 @@
   var o = new api.JobRequest();
   buildCounterJobRequest++;
   if (buildCounterJobRequest < 3) {
-    o.destination = buildUnnamed1145();
-    o.source = buildUnnamed1146();
+    o.destination = buildUnnamed1172();
+    o.source = buildUnnamed1173();
     o.type = "foo";
   }
   buildCounterJobRequest--;
@@ -852,21 +799,21 @@
 checkJobRequest(api.JobRequest o) {
   buildCounterJobRequest++;
   if (buildCounterJobRequest < 3) {
-    checkUnnamed1145(o.destination);
-    checkUnnamed1146(o.source);
+    checkUnnamed1172(o.destination);
+    checkUnnamed1173(o.source);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterJobRequest--;
 }
 
-buildUnnamed1147() {
+buildUnnamed1174() {
   var o = new core.List<api.CoverageBucket>();
   o.add(buildCoverageBucket());
   o.add(buildCoverageBucket());
   return o;
 }
 
-checkUnnamed1147(core.List<api.CoverageBucket> o) {
+checkUnnamed1174(core.List<api.CoverageBucket> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCoverageBucket(o[0]);
   checkCoverageBucket(o[1]);
@@ -878,7 +825,7 @@
   buildCounterListCoverageBucketsResponse++;
   if (buildCounterListCoverageBucketsResponse < 3) {
     o.bucketWidth = "foo";
-    o.coverageBuckets = buildUnnamed1147();
+    o.coverageBuckets = buildUnnamed1174();
     o.nextPageToken = "foo";
   }
   buildCounterListCoverageBucketsResponse--;
@@ -889,20 +836,20 @@
   buildCounterListCoverageBucketsResponse++;
   if (buildCounterListCoverageBucketsResponse < 3) {
     unittest.expect(o.bucketWidth, unittest.equals('foo'));
-    checkUnnamed1147(o.coverageBuckets);
+    checkUnnamed1174(o.coverageBuckets);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListCoverageBucketsResponse--;
 }
 
-buildUnnamed1148() {
+buildUnnamed1175() {
   var o = new core.List<api.Dataset>();
   o.add(buildDataset());
   o.add(buildDataset());
   return o;
 }
 
-checkUnnamed1148(core.List<api.Dataset> o) {
+checkUnnamed1175(core.List<api.Dataset> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDataset(o[0]);
   checkDataset(o[1]);
@@ -913,7 +860,7 @@
   var o = new api.ListDatasetsResponse();
   buildCounterListDatasetsResponse++;
   if (buildCounterListDatasetsResponse < 3) {
-    o.datasets = buildUnnamed1148();
+    o.datasets = buildUnnamed1175();
     o.nextPageToken = "foo";
   }
   buildCounterListDatasetsResponse--;
@@ -923,36 +870,36 @@
 checkListDatasetsResponse(api.ListDatasetsResponse o) {
   buildCounterListDatasetsResponse++;
   if (buildCounterListDatasetsResponse < 3) {
-    checkUnnamed1148(o.datasets);
+    checkUnnamed1175(o.datasets);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterListDatasetsResponse--;
 }
 
-buildUnnamed1149() {
+buildUnnamed1176() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1149(core.List<core.String> o) {
+checkUnnamed1176(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1150() {
+buildUnnamed1177() {
   var o = new core.Map<core.String, core.List<core.String>>();
-  o["x"] = buildUnnamed1149();
-  o["y"] = buildUnnamed1149();
+  o["x"] = buildUnnamed1176();
+  o["y"] = buildUnnamed1176();
   return o;
 }
 
-checkUnnamed1150(core.Map<core.String, core.List<core.String>> o) {
+checkUnnamed1177(core.Map<core.String, core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed1149(o["x"]);
-  checkUnnamed1149(o["y"]);
+  checkUnnamed1176(o["x"]);
+  checkUnnamed1176(o["y"]);
 }
 
 core.int buildCounterMetadata = 0;
@@ -962,7 +909,7 @@
   if (buildCounterMetadata < 3) {
     o.description = "foo";
     o.id = "foo";
-    o.info = buildUnnamed1150();
+    o.info = buildUnnamed1177();
     o.key = "foo";
     o.number = "foo";
     o.type = "foo";
@@ -977,7 +924,7 @@
   if (buildCounterMetadata < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed1150(o.info);
+    checkUnnamed1177(o.info);
     unittest.expect(o.key, unittest.equals('foo'));
     unittest.expect(o.number, unittest.equals('foo'));
     unittest.expect(o.type, unittest.equals('foo'));
@@ -1013,30 +960,30 @@
   buildCounterProgram--;
 }
 
-buildUnnamed1151() {
+buildUnnamed1178() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1151(core.List<core.String> o) {
+checkUnnamed1178(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1152() {
+buildUnnamed1179() {
   var o = new core.Map<core.String, core.List<core.String>>();
-  o["x"] = buildUnnamed1151();
-  o["y"] = buildUnnamed1151();
+  o["x"] = buildUnnamed1178();
+  o["y"] = buildUnnamed1178();
   return o;
 }
 
-checkUnnamed1152(core.Map<core.String, core.List<core.String>> o) {
+checkUnnamed1179(core.Map<core.String, core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed1151(o["x"]);
-  checkUnnamed1151(o["y"]);
+  checkUnnamed1178(o["x"]);
+  checkUnnamed1178(o["y"]);
 }
 
 core.int buildCounterRead = 0;
@@ -1057,7 +1004,7 @@
     o.position = 42;
     o.readsetId = "foo";
     o.referenceSequenceName = "foo";
-    o.tags = buildUnnamed1152();
+    o.tags = buildUnnamed1179();
     o.templateLength = 42;
   }
   buildCounterRead--;
@@ -1080,7 +1027,7 @@
     unittest.expect(o.position, unittest.equals(42));
     unittest.expect(o.readsetId, unittest.equals('foo'));
     unittest.expect(o.referenceSequenceName, unittest.equals('foo'));
-    checkUnnamed1152(o.tags);
+    checkUnnamed1179(o.tags);
     unittest.expect(o.templateLength, unittest.equals(42));
   }
   buildCounterRead--;
@@ -1127,14 +1074,14 @@
   buildCounterReadGroup--;
 }
 
-buildUnnamed1153() {
+buildUnnamed1180() {
   var o = new core.List<api.HeaderSection>();
   o.add(buildHeaderSection());
   o.add(buildHeaderSection());
   return o;
 }
 
-checkUnnamed1153(core.List<api.HeaderSection> o) {
+checkUnnamed1180(core.List<api.HeaderSection> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHeaderSection(o[0]);
   checkHeaderSection(o[1]);
@@ -1146,7 +1093,7 @@
   buildCounterReadset++;
   if (buildCounterReadset < 3) {
     o.datasetId = "foo";
-    o.fileData = buildUnnamed1153();
+    o.fileData = buildUnnamed1180();
     o.id = "foo";
     o.name = "foo";
   }
@@ -1158,13 +1105,34 @@
   buildCounterReadset++;
   if (buildCounterReadset < 3) {
     unittest.expect(o.datasetId, unittest.equals('foo'));
-    checkUnnamed1153(o.fileData);
+    checkUnnamed1180(o.fileData);
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
   }
   buildCounterReadset--;
 }
 
+core.int buildCounterReferenceBound = 0;
+buildReferenceBound() {
+  var o = new api.ReferenceBound();
+  buildCounterReferenceBound++;
+  if (buildCounterReferenceBound < 3) {
+    o.referenceName = "foo";
+    o.upperBound = "foo";
+  }
+  buildCounterReferenceBound--;
+  return o;
+}
+
+checkReferenceBound(api.ReferenceBound o) {
+  buildCounterReferenceBound++;
+  if (buildCounterReferenceBound < 3) {
+    unittest.expect(o.referenceName, unittest.equals('foo'));
+    unittest.expect(o.upperBound, unittest.equals('foo'));
+  }
+  buildCounterReferenceBound--;
+}
+
 core.int buildCounterReferenceSequence = 0;
 buildReferenceSequence() {
   var o = new api.ReferenceSequence();
@@ -1194,86 +1162,86 @@
   buildCounterReferenceSequence--;
 }
 
-buildUnnamed1154() {
+buildUnnamed1181() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1154(core.List<core.String> o) {
+checkUnnamed1181(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-core.int buildCounterSearchCallsetsRequest = 0;
-buildSearchCallsetsRequest() {
-  var o = new api.SearchCallsetsRequest();
-  buildCounterSearchCallsetsRequest++;
-  if (buildCounterSearchCallsetsRequest < 3) {
-    o.maxResults = "foo";
+core.int buildCounterSearchCallSetsRequest = 0;
+buildSearchCallSetsRequest() {
+  var o = new api.SearchCallSetsRequest();
+  buildCounterSearchCallSetsRequest++;
+  if (buildCounterSearchCallSetsRequest < 3) {
     o.name = "foo";
+    o.pageSize = 42;
     o.pageToken = "foo";
-    o.variantsetIds = buildUnnamed1154();
+    o.variantSetIds = buildUnnamed1181();
   }
-  buildCounterSearchCallsetsRequest--;
+  buildCounterSearchCallSetsRequest--;
   return o;
 }
 
-checkSearchCallsetsRequest(api.SearchCallsetsRequest o) {
-  buildCounterSearchCallsetsRequest++;
-  if (buildCounterSearchCallsetsRequest < 3) {
-    unittest.expect(o.maxResults, unittest.equals('foo'));
+checkSearchCallSetsRequest(api.SearchCallSetsRequest o) {
+  buildCounterSearchCallSetsRequest++;
+  if (buildCounterSearchCallSetsRequest < 3) {
     unittest.expect(o.name, unittest.equals('foo'));
+    unittest.expect(o.pageSize, unittest.equals(42));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    checkUnnamed1154(o.variantsetIds);
+    checkUnnamed1181(o.variantSetIds);
   }
-  buildCounterSearchCallsetsRequest--;
+  buildCounterSearchCallSetsRequest--;
 }
 
-buildUnnamed1155() {
-  var o = new core.List<api.Callset>();
-  o.add(buildCallset());
-  o.add(buildCallset());
+buildUnnamed1182() {
+  var o = new core.List<api.CallSet>();
+  o.add(buildCallSet());
+  o.add(buildCallSet());
   return o;
 }
 
-checkUnnamed1155(core.List<api.Callset> o) {
+checkUnnamed1182(core.List<api.CallSet> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkCallset(o[0]);
-  checkCallset(o[1]);
+  checkCallSet(o[0]);
+  checkCallSet(o[1]);
 }
 
-core.int buildCounterSearchCallsetsResponse = 0;
-buildSearchCallsetsResponse() {
-  var o = new api.SearchCallsetsResponse();
-  buildCounterSearchCallsetsResponse++;
-  if (buildCounterSearchCallsetsResponse < 3) {
-    o.callsets = buildUnnamed1155();
+core.int buildCounterSearchCallSetsResponse = 0;
+buildSearchCallSetsResponse() {
+  var o = new api.SearchCallSetsResponse();
+  buildCounterSearchCallSetsResponse++;
+  if (buildCounterSearchCallSetsResponse < 3) {
+    o.callSets = buildUnnamed1182();
     o.nextPageToken = "foo";
   }
-  buildCounterSearchCallsetsResponse--;
+  buildCounterSearchCallSetsResponse--;
   return o;
 }
 
-checkSearchCallsetsResponse(api.SearchCallsetsResponse o) {
-  buildCounterSearchCallsetsResponse++;
-  if (buildCounterSearchCallsetsResponse < 3) {
-    checkUnnamed1155(o.callsets);
+checkSearchCallSetsResponse(api.SearchCallSetsResponse o) {
+  buildCounterSearchCallSetsResponse++;
+  if (buildCounterSearchCallSetsResponse < 3) {
+    checkUnnamed1182(o.callSets);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
-  buildCounterSearchCallsetsResponse--;
+  buildCounterSearchCallSetsResponse--;
 }
 
-buildUnnamed1156() {
+buildUnnamed1183() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1156(core.List<core.String> o) {
+checkUnnamed1183(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1289,7 +1257,7 @@
     o.maxResults = "foo";
     o.pageToken = "foo";
     o.projectId = "foo";
-    o.status = buildUnnamed1156();
+    o.status = buildUnnamed1183();
   }
   buildCounterSearchJobsRequest--;
   return o;
@@ -1303,19 +1271,19 @@
     unittest.expect(o.maxResults, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
     unittest.expect(o.projectId, unittest.equals('foo'));
-    checkUnnamed1156(o.status);
+    checkUnnamed1183(o.status);
   }
   buildCounterSearchJobsRequest--;
 }
 
-buildUnnamed1157() {
+buildUnnamed1184() {
   var o = new core.List<api.Job>();
   o.add(buildJob());
   o.add(buildJob());
   return o;
 }
 
-checkUnnamed1157(core.List<api.Job> o) {
+checkUnnamed1184(core.List<api.Job> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkJob(o[0]);
   checkJob(o[1]);
@@ -1326,7 +1294,7 @@
   var o = new api.SearchJobsResponse();
   buildCounterSearchJobsResponse++;
   if (buildCounterSearchJobsResponse < 3) {
-    o.jobs = buildUnnamed1157();
+    o.jobs = buildUnnamed1184();
     o.nextPageToken = "foo";
   }
   buildCounterSearchJobsResponse--;
@@ -1336,20 +1304,20 @@
 checkSearchJobsResponse(api.SearchJobsResponse o) {
   buildCounterSearchJobsResponse++;
   if (buildCounterSearchJobsResponse < 3) {
-    checkUnnamed1157(o.jobs);
+    checkUnnamed1184(o.jobs);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterSearchJobsResponse--;
 }
 
-buildUnnamed1158() {
+buildUnnamed1185() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1158(core.List<core.String> o) {
+checkUnnamed1185(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1362,7 +1330,7 @@
   if (buildCounterSearchReadsRequest < 3) {
     o.maxResults = "foo";
     o.pageToken = "foo";
-    o.readsetIds = buildUnnamed1158();
+    o.readsetIds = buildUnnamed1185();
     o.sequenceEnd = "foo";
     o.sequenceName = "foo";
     o.sequenceStart = "foo";
@@ -1376,7 +1344,7 @@
   if (buildCounterSearchReadsRequest < 3) {
     unittest.expect(o.maxResults, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    checkUnnamed1158(o.readsetIds);
+    checkUnnamed1185(o.readsetIds);
     unittest.expect(o.sequenceEnd, unittest.equals('foo'));
     unittest.expect(o.sequenceName, unittest.equals('foo'));
     unittest.expect(o.sequenceStart, unittest.equals('foo'));
@@ -1384,14 +1352,14 @@
   buildCounterSearchReadsRequest--;
 }
 
-buildUnnamed1159() {
+buildUnnamed1186() {
   var o = new core.List<api.Read>();
   o.add(buildRead());
   o.add(buildRead());
   return o;
 }
 
-checkUnnamed1159(core.List<api.Read> o) {
+checkUnnamed1186(core.List<api.Read> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkRead(o[0]);
   checkRead(o[1]);
@@ -1403,7 +1371,7 @@
   buildCounterSearchReadsResponse++;
   if (buildCounterSearchReadsResponse < 3) {
     o.nextPageToken = "foo";
-    o.reads = buildUnnamed1159();
+    o.reads = buildUnnamed1186();
   }
   buildCounterSearchReadsResponse--;
   return o;
@@ -1413,19 +1381,19 @@
   buildCounterSearchReadsResponse++;
   if (buildCounterSearchReadsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1159(o.reads);
+    checkUnnamed1186(o.reads);
   }
   buildCounterSearchReadsResponse--;
 }
 
-buildUnnamed1160() {
+buildUnnamed1187() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1160(core.List<core.String> o) {
+checkUnnamed1187(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1436,7 +1404,7 @@
   var o = new api.SearchReadsetsRequest();
   buildCounterSearchReadsetsRequest++;
   if (buildCounterSearchReadsetsRequest < 3) {
-    o.datasetIds = buildUnnamed1160();
+    o.datasetIds = buildUnnamed1187();
     o.maxResults = "foo";
     o.name = "foo";
     o.pageToken = "foo";
@@ -1448,7 +1416,7 @@
 checkSearchReadsetsRequest(api.SearchReadsetsRequest o) {
   buildCounterSearchReadsetsRequest++;
   if (buildCounterSearchReadsetsRequest < 3) {
-    checkUnnamed1160(o.datasetIds);
+    checkUnnamed1187(o.datasetIds);
     unittest.expect(o.maxResults, unittest.equals('foo'));
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.pageToken, unittest.equals('foo'));
@@ -1456,14 +1424,14 @@
   buildCounterSearchReadsetsRequest--;
 }
 
-buildUnnamed1161() {
+buildUnnamed1188() {
   var o = new core.List<api.Readset>();
   o.add(buildReadset());
   o.add(buildReadset());
   return o;
 }
 
-checkUnnamed1161(core.List<api.Readset> o) {
+checkUnnamed1188(core.List<api.Readset> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReadset(o[0]);
   checkReadset(o[1]);
@@ -1475,7 +1443,7 @@
   buildCounterSearchReadsetsResponse++;
   if (buildCounterSearchReadsetsResponse < 3) {
     o.nextPageToken = "foo";
-    o.readsets = buildUnnamed1161();
+    o.readsets = buildUnnamed1188();
   }
   buildCounterSearchReadsetsResponse--;
   return o;
@@ -1485,32 +1453,102 @@
   buildCounterSearchReadsetsResponse++;
   if (buildCounterSearchReadsetsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1161(o.readsets);
+    checkUnnamed1188(o.readsets);
   }
   buildCounterSearchReadsetsResponse--;
 }
 
-buildUnnamed1162() {
+buildUnnamed1189() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1162(core.List<core.String> o) {
+checkUnnamed1189(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1163() {
+core.int buildCounterSearchVariantSetsRequest = 0;
+buildSearchVariantSetsRequest() {
+  var o = new api.SearchVariantSetsRequest();
+  buildCounterSearchVariantSetsRequest++;
+  if (buildCounterSearchVariantSetsRequest < 3) {
+    o.datasetIds = buildUnnamed1189();
+    o.pageSize = 42;
+    o.pageToken = "foo";
+  }
+  buildCounterSearchVariantSetsRequest--;
+  return o;
+}
+
+checkSearchVariantSetsRequest(api.SearchVariantSetsRequest o) {
+  buildCounterSearchVariantSetsRequest++;
+  if (buildCounterSearchVariantSetsRequest < 3) {
+    checkUnnamed1189(o.datasetIds);
+    unittest.expect(o.pageSize, unittest.equals(42));
+    unittest.expect(o.pageToken, unittest.equals('foo'));
+  }
+  buildCounterSearchVariantSetsRequest--;
+}
+
+buildUnnamed1190() {
+  var o = new core.List<api.VariantSet>();
+  o.add(buildVariantSet());
+  o.add(buildVariantSet());
+  return o;
+}
+
+checkUnnamed1190(core.List<api.VariantSet> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkVariantSet(o[0]);
+  checkVariantSet(o[1]);
+}
+
+core.int buildCounterSearchVariantSetsResponse = 0;
+buildSearchVariantSetsResponse() {
+  var o = new api.SearchVariantSetsResponse();
+  buildCounterSearchVariantSetsResponse++;
+  if (buildCounterSearchVariantSetsResponse < 3) {
+    o.nextPageToken = "foo";
+    o.variantSets = buildUnnamed1190();
+  }
+  buildCounterSearchVariantSetsResponse--;
+  return o;
+}
+
+checkSearchVariantSetsResponse(api.SearchVariantSetsResponse o) {
+  buildCounterSearchVariantSetsResponse++;
+  if (buildCounterSearchVariantSetsResponse < 3) {
+    unittest.expect(o.nextPageToken, unittest.equals('foo'));
+    checkUnnamed1190(o.variantSets);
+  }
+  buildCounterSearchVariantSetsResponse--;
+}
+
+buildUnnamed1191() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1163(core.List<core.String> o) {
+checkUnnamed1191(core.List<core.String> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  unittest.expect(o[0], unittest.equals('foo'));
+  unittest.expect(o[1], unittest.equals('foo'));
+}
+
+buildUnnamed1192() {
+  var o = new core.List<core.String>();
+  o.add("foo");
+  o.add("foo");
+  return o;
+}
+
+checkUnnamed1192(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1521,15 +1559,15 @@
   var o = new api.SearchVariantsRequest();
   buildCounterSearchVariantsRequest++;
   if (buildCounterSearchVariantsRequest < 3) {
-    o.callsetIds = buildUnnamed1162();
-    o.callsetNames = buildUnnamed1163();
-    o.contig = "foo";
-    o.endPosition = "foo";
-    o.maxResults = "foo";
+    o.callSetIds = buildUnnamed1191();
+    o.end = "foo";
+    o.maxCalls = 42;
+    o.pageSize = 42;
     o.pageToken = "foo";
-    o.startPosition = "foo";
+    o.referenceName = "foo";
+    o.start = "foo";
     o.variantName = "foo";
-    o.variantsetId = "foo";
+    o.variantSetIds = buildUnnamed1192();
   }
   buildCounterSearchVariantsRequest--;
   return o;
@@ -1538,27 +1576,27 @@
 checkSearchVariantsRequest(api.SearchVariantsRequest o) {
   buildCounterSearchVariantsRequest++;
   if (buildCounterSearchVariantsRequest < 3) {
-    checkUnnamed1162(o.callsetIds);
-    checkUnnamed1163(o.callsetNames);
-    unittest.expect(o.contig, unittest.equals('foo'));
-    unittest.expect(o.endPosition, unittest.equals('foo'));
-    unittest.expect(o.maxResults, unittest.equals('foo'));
+    checkUnnamed1191(o.callSetIds);
+    unittest.expect(o.end, unittest.equals('foo'));
+    unittest.expect(o.maxCalls, unittest.equals(42));
+    unittest.expect(o.pageSize, unittest.equals(42));
     unittest.expect(o.pageToken, unittest.equals('foo'));
-    unittest.expect(o.startPosition, unittest.equals('foo'));
+    unittest.expect(o.referenceName, unittest.equals('foo'));
+    unittest.expect(o.start, unittest.equals('foo'));
     unittest.expect(o.variantName, unittest.equals('foo'));
-    unittest.expect(o.variantsetId, unittest.equals('foo'));
+    checkUnnamed1192(o.variantSetIds);
   }
   buildCounterSearchVariantsRequest--;
 }
 
-buildUnnamed1164() {
+buildUnnamed1193() {
   var o = new core.List<api.Variant>();
   o.add(buildVariant());
   o.add(buildVariant());
   return o;
 }
 
-checkUnnamed1164(core.List<api.Variant> o) {
+checkUnnamed1193(core.List<api.Variant> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkVariant(o[0]);
   checkVariant(o[1]);
@@ -1570,7 +1608,7 @@
   buildCounterSearchVariantsResponse++;
   if (buildCounterSearchVariantsResponse < 3) {
     o.nextPageToken = "foo";
-    o.variants = buildUnnamed1164();
+    o.variants = buildUnnamed1193();
   }
   buildCounterSearchVariantsResponse--;
   return o;
@@ -1580,71 +1618,71 @@
   buildCounterSearchVariantsResponse++;
   if (buildCounterSearchVariantsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1164(o.variants);
+    checkUnnamed1193(o.variants);
   }
   buildCounterSearchVariantsResponse--;
 }
 
-buildUnnamed1165() {
+buildUnnamed1194() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1165(core.List<core.String> o) {
+checkUnnamed1194(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1166() {
+buildUnnamed1195() {
   var o = new core.List<api.Call>();
   o.add(buildCall());
   o.add(buildCall());
   return o;
 }
 
-checkUnnamed1166(core.List<api.Call> o) {
+checkUnnamed1195(core.List<api.Call> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkCall(o[0]);
   checkCall(o[1]);
 }
 
-buildUnnamed1167() {
+buildUnnamed1196() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1167(core.List<core.String> o) {
+checkUnnamed1196(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1168() {
+buildUnnamed1197() {
   var o = new core.Map<core.String, core.List<core.String>>();
-  o["x"] = buildUnnamed1167();
-  o["y"] = buildUnnamed1167();
+  o["x"] = buildUnnamed1196();
+  o["y"] = buildUnnamed1196();
   return o;
 }
 
-checkUnnamed1168(core.Map<core.String, core.List<core.String>> o) {
+checkUnnamed1197(core.Map<core.String, core.List<core.String>> o) {
   unittest.expect(o, unittest.hasLength(2));
-  checkUnnamed1167(o["x"]);
-  checkUnnamed1167(o["y"]);
+  checkUnnamed1196(o["x"]);
+  checkUnnamed1196(o["y"]);
 }
 
-buildUnnamed1169() {
+buildUnnamed1198() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1169(core.List<core.String> o) {
+checkUnnamed1198(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1655,17 +1693,17 @@
   var o = new api.Variant();
   buildCounterVariant++;
   if (buildCounterVariant < 3) {
-    o.alternateBases = buildUnnamed1165();
-    o.calls = buildUnnamed1166();
-    o.contig = "foo";
+    o.alternateBases = buildUnnamed1194();
+    o.calls = buildUnnamed1195();
     o.created = "foo";
     o.end = "foo";
     o.id = "foo";
-    o.info = buildUnnamed1168();
-    o.names = buildUnnamed1169();
-    o.position = "foo";
+    o.info = buildUnnamed1197();
+    o.names = buildUnnamed1198();
     o.referenceBases = "foo";
-    o.variantsetId = "foo";
+    o.referenceName = "foo";
+    o.start = "foo";
+    o.variantSetId = "foo";
   }
   buildCounterVariant--;
   return o;
@@ -1674,21 +1712,72 @@
 checkVariant(api.Variant o) {
   buildCounterVariant++;
   if (buildCounterVariant < 3) {
-    checkUnnamed1165(o.alternateBases);
-    checkUnnamed1166(o.calls);
-    unittest.expect(o.contig, unittest.equals('foo'));
+    checkUnnamed1194(o.alternateBases);
+    checkUnnamed1195(o.calls);
     unittest.expect(o.created, unittest.equals('foo'));
     unittest.expect(o.end, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
-    checkUnnamed1168(o.info);
-    checkUnnamed1169(o.names);
-    unittest.expect(o.position, unittest.equals('foo'));
+    checkUnnamed1197(o.info);
+    checkUnnamed1198(o.names);
     unittest.expect(o.referenceBases, unittest.equals('foo'));
-    unittest.expect(o.variantsetId, unittest.equals('foo'));
+    unittest.expect(o.referenceName, unittest.equals('foo'));
+    unittest.expect(o.start, unittest.equals('foo'));
+    unittest.expect(o.variantSetId, unittest.equals('foo'));
   }
   buildCounterVariant--;
 }
 
+buildUnnamed1199() {
+  var o = new core.List<api.Metadata>();
+  o.add(buildMetadata());
+  o.add(buildMetadata());
+  return o;
+}
+
+checkUnnamed1199(core.List<api.Metadata> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkMetadata(o[0]);
+  checkMetadata(o[1]);
+}
+
+buildUnnamed1200() {
+  var o = new core.List<api.ReferenceBound>();
+  o.add(buildReferenceBound());
+  o.add(buildReferenceBound());
+  return o;
+}
+
+checkUnnamed1200(core.List<api.ReferenceBound> o) {
+  unittest.expect(o, unittest.hasLength(2));
+  checkReferenceBound(o[0]);
+  checkReferenceBound(o[1]);
+}
+
+core.int buildCounterVariantSet = 0;
+buildVariantSet() {
+  var o = new api.VariantSet();
+  buildCounterVariantSet++;
+  if (buildCounterVariantSet < 3) {
+    o.datasetId = "foo";
+    o.id = "foo";
+    o.metadata = buildUnnamed1199();
+    o.referenceBounds = buildUnnamed1200();
+  }
+  buildCounterVariantSet--;
+  return o;
+}
+
+checkVariantSet(api.VariantSet o) {
+  buildCounterVariantSet++;
+  if (buildCounterVariantSet < 3) {
+    unittest.expect(o.datasetId, unittest.equals('foo'));
+    unittest.expect(o.id, unittest.equals('foo'));
+    checkUnnamed1199(o.metadata);
+    checkUnnamed1200(o.referenceBounds);
+  }
+  buildCounterVariantSet--;
+}
+
 
 main() {
   unittest.group("obj-schema-Beacon", () {
@@ -1709,20 +1798,11 @@
   });
 
 
-  unittest.group("obj-schema-Callset", () {
+  unittest.group("obj-schema-CallSet", () {
     unittest.test("to-json--from-json", () {
-      var o = buildCallset();
-      var od = new api.Callset.fromJson(o.toJson());
-      checkCallset(od);
-    });
-  });
-
-
-  unittest.group("obj-schema-ContigBound", () {
-    unittest.test("to-json--from-json", () {
-      var o = buildContigBound();
-      var od = new api.ContigBound.fromJson(o.toJson());
-      checkContigBound(od);
+      var o = buildCallSet();
+      var od = new api.CallSet.fromJson(o.toJson());
+      checkCallSet(od);
     });
   });
 
@@ -1808,15 +1888,6 @@
   });
 
 
-  unittest.group("obj-schema-GetVariantsSummaryResponse", () {
-    unittest.test("to-json--from-json", () {
-      var o = buildGetVariantsSummaryResponse();
-      var od = new api.GetVariantsSummaryResponse.fromJson(o.toJson());
-      checkGetVariantsSummaryResponse(od);
-    });
-  });
-
-
   unittest.group("obj-schema-Header", () {
     unittest.test("to-json--from-json", () {
       var o = buildHeader();
@@ -1952,6 +2023,15 @@
   });
 
 
+  unittest.group("obj-schema-ReferenceBound", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildReferenceBound();
+      var od = new api.ReferenceBound.fromJson(o.toJson());
+      checkReferenceBound(od);
+    });
+  });
+
+
   unittest.group("obj-schema-ReferenceSequence", () {
     unittest.test("to-json--from-json", () {
       var o = buildReferenceSequence();
@@ -1961,20 +2041,20 @@
   });
 
 
-  unittest.group("obj-schema-SearchCallsetsRequest", () {
+  unittest.group("obj-schema-SearchCallSetsRequest", () {
     unittest.test("to-json--from-json", () {
-      var o = buildSearchCallsetsRequest();
-      var od = new api.SearchCallsetsRequest.fromJson(o.toJson());
-      checkSearchCallsetsRequest(od);
+      var o = buildSearchCallSetsRequest();
+      var od = new api.SearchCallSetsRequest.fromJson(o.toJson());
+      checkSearchCallSetsRequest(od);
     });
   });
 
 
-  unittest.group("obj-schema-SearchCallsetsResponse", () {
+  unittest.group("obj-schema-SearchCallSetsResponse", () {
     unittest.test("to-json--from-json", () {
-      var o = buildSearchCallsetsResponse();
-      var od = new api.SearchCallsetsResponse.fromJson(o.toJson());
-      checkSearchCallsetsResponse(od);
+      var o = buildSearchCallSetsResponse();
+      var od = new api.SearchCallSetsResponse.fromJson(o.toJson());
+      checkSearchCallSetsResponse(od);
     });
   });
 
@@ -2033,6 +2113,24 @@
   });
 
 
+  unittest.group("obj-schema-SearchVariantSetsRequest", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSearchVariantSetsRequest();
+      var od = new api.SearchVariantSetsRequest.fromJson(o.toJson());
+      checkSearchVariantSetsRequest(od);
+    });
+  });
+
+
+  unittest.group("obj-schema-SearchVariantSetsResponse", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildSearchVariantSetsResponse();
+      var od = new api.SearchVariantSetsResponse.fromJson(o.toJson());
+      checkSearchVariantSetsResponse(od);
+    });
+  });
+
+
   unittest.group("obj-schema-SearchVariantsRequest", () {
     unittest.test("to-json--from-json", () {
       var o = buildSearchVariantsRequest();
@@ -2060,27 +2158,38 @@
   });
 
 
+  unittest.group("obj-schema-VariantSet", () {
+    unittest.test("to-json--from-json", () {
+      var o = buildVariantSet();
+      var od = new api.VariantSet.fromJson(o.toJson());
+      checkVariantSet(od);
+    });
+  });
+
+
   unittest.group("resource-BeaconsResourceApi", () {
     unittest.test("method--get", () {
 
       var mock = new common_test.HttpServerMock();
       api.BeaconsResourceApi res = new api.GenomicsApi(mock).beacons;
-      var arg_variantsetId = "foo";
+      var arg_variantSetId = "foo";
       var arg_allele = "foo";
-      var arg_contig = "foo";
       var arg_position = "foo";
+      var arg_referenceName = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("beacons/"));
         pathOffset += 8;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
         pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_variantsetId"));
+        unittest.expect(subPart, unittest.equals("$arg_variantSetId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2099,8 +2208,8 @@
           }
         }
         unittest.expect(queryMap["allele"].first, unittest.equals(arg_allele));
-        unittest.expect(queryMap["contig"].first, unittest.equals(arg_contig));
         unittest.expect(queryMap["position"].first, unittest.equals(arg_position));
+        unittest.expect(queryMap["referenceName"].first, unittest.equals(arg_referenceName));
 
 
         var h = {
@@ -2109,7 +2218,7 @@
         var resp = convert.JSON.encode(buildBeacon());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.get(arg_variantsetId, allele: arg_allele, contig: arg_contig, position: arg_position).then(unittest.expectAsync(((api.Beacon response) {
+      res.get(arg_variantSetId, allele: arg_allele, position: arg_position, referenceName: arg_referenceName).then(unittest.expectAsync(((api.Beacon response) {
         checkBeacon(response);
       })));
     });
@@ -2122,17 +2231,19 @@
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_request = buildCallset();
+      var arg_request = buildCallSet();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var obj = new api.Callset.fromJson(json);
-        checkCallset(obj);
+        var obj = new api.CallSet.fromJson(json);
+        checkCallSet(obj);
 
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("callsets"));
         pathOffset += 8;
 
@@ -2157,11 +2268,11 @@
         var h = {
           "content-type" : "application/json; charset=utf-8",
         };
-        var resp = convert.JSON.encode(buildCallset());
+        var resp = convert.JSON.encode(buildCallSet());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.create(arg_request).then(unittest.expectAsync(((api.Callset response) {
-        checkCallset(response);
+      res.create(arg_request).then(unittest.expectAsync(((api.CallSet response) {
+        checkCallSet(response);
       })));
     });
 
@@ -2169,19 +2280,21 @@
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_callsetId = "foo";
+      var arg_callSetId = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("callsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
         pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_callsetId"));
+        unittest.expect(subPart, unittest.equals("$arg_callSetId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2207,26 +2320,28 @@
         var resp = "";
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.delete(arg_callsetId).then(unittest.expectAsync((_) {}));
+      res.delete(arg_callSetId).then(unittest.expectAsync((_) {}));
     });
 
     unittest.test("method--get", () {
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_callsetId = "foo";
+      var arg_callSetId = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("callsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
         pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_callsetId"));
+        unittest.expect(subPart, unittest.equals("$arg_callSetId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2249,11 +2364,11 @@
         var h = {
           "content-type" : "application/json; charset=utf-8",
         };
-        var resp = convert.JSON.encode(buildCallset());
+        var resp = convert.JSON.encode(buildCallSet());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.get(arg_callsetId).then(unittest.expectAsync(((api.Callset response) {
-        checkCallset(response);
+      res.get(arg_callSetId).then(unittest.expectAsync(((api.CallSet response) {
+        checkCallSet(response);
       })));
     });
 
@@ -2261,23 +2376,25 @@
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_request = buildCallset();
-      var arg_callsetId = "foo";
+      var arg_request = buildCallSet();
+      var arg_callSetId = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var obj = new api.Callset.fromJson(json);
-        checkCallset(obj);
+        var obj = new api.CallSet.fromJson(json);
+        checkCallSet(obj);
 
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("callsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
         pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_callsetId"));
+        unittest.expect(subPart, unittest.equals("$arg_callSetId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2300,11 +2417,11 @@
         var h = {
           "content-type" : "application/json; charset=utf-8",
         };
-        var resp = convert.JSON.encode(buildCallset());
+        var resp = convert.JSON.encode(buildCallSet());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.patch(arg_request, arg_callsetId).then(unittest.expectAsync(((api.Callset response) {
-        checkCallset(response);
+      res.patch(arg_request, arg_callSetId).then(unittest.expectAsync(((api.CallSet response) {
+        checkCallSet(response);
       })));
     });
 
@@ -2312,17 +2429,19 @@
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_request = buildSearchCallsetsRequest();
+      var arg_request = buildSearchCallSetsRequest();
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var obj = new api.SearchCallsetsRequest.fromJson(json);
-        checkSearchCallsetsRequest(obj);
+        var obj = new api.SearchCallSetsRequest.fromJson(json);
+        checkSearchCallSetsRequest(obj);
 
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("callsets/search"));
         pathOffset += 15;
 
@@ -2347,11 +2466,11 @@
         var h = {
           "content-type" : "application/json; charset=utf-8",
         };
-        var resp = convert.JSON.encode(buildSearchCallsetsResponse());
+        var resp = convert.JSON.encode(buildSearchCallSetsResponse());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.search(arg_request).then(unittest.expectAsync(((api.SearchCallsetsResponse response) {
-        checkSearchCallsetsResponse(response);
+      res.search(arg_request).then(unittest.expectAsync(((api.SearchCallSetsResponse response) {
+        checkSearchCallSetsResponse(response);
       })));
     });
 
@@ -2359,23 +2478,25 @@
 
       var mock = new common_test.HttpServerMock();
       api.CallsetsResourceApi res = new api.GenomicsApi(mock).callsets;
-      var arg_request = buildCallset();
-      var arg_callsetId = "foo";
+      var arg_request = buildCallSet();
+      var arg_callSetId = "foo";
       mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var obj = new api.Callset.fromJson(json);
-        checkCallset(obj);
+        var obj = new api.CallSet.fromJson(json);
+        checkCallSet(obj);
 
         var path = (req.url).path;
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("callsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
         pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_callsetId"));
+        unittest.expect(subPart, unittest.equals("$arg_callSetId"));
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -2398,11 +2519,11 @@
         var h = {
           "content-type" : "application/json; charset=utf-8",
         };
-        var resp = convert.JSON.encode(buildCallset());
+        var resp = convert.JSON.encode(buildCallSet());
         return new async.Future.value(common_test.stringResponse(200, h, resp));
       }), true);
-      res.update(arg_request, arg_callsetId).then(unittest.expectAsync(((api.Callset response) {
-        checkCallset(response);
+      res.update(arg_request, arg_callSetId).then(unittest.expectAsync(((api.CallSet response) {
+        checkCallSet(response);
       })));
     });
 
@@ -2423,8 +2544,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("datasets"));
         pathOffset += 8;
 
@@ -2467,8 +2590,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("datasets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2512,8 +2637,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("datasets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2561,8 +2688,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("datasets"));
         pathOffset += 8;
 
@@ -2612,8 +2741,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("datasets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2659,8 +2790,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("datasets/"));
         pathOffset += 9;
         index = path.indexOf("/undelete", pathOffset);
@@ -2714,8 +2847,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("datasets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2768,8 +2903,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 24), unittest.equals("experimental/jobs/create"));
         pathOffset += 24;
 
@@ -2816,8 +2953,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("jobs/"));
         pathOffset += 5;
         index = path.indexOf("/cancel", pathOffset);
@@ -2865,8 +3004,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("jobs/"));
         pathOffset += 5;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -2915,8 +3056,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("jobs/search"));
         pathOffset += 11;
 
@@ -2966,8 +3109,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("reads/search"));
         pathOffset += 12;
 
@@ -3014,8 +3159,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("readsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3062,8 +3209,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("readsets/export"));
         pathOffset += 15;
 
@@ -3106,8 +3255,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("readsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3156,8 +3307,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("readsets/import"));
         pathOffset += 15;
 
@@ -3204,8 +3357,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("readsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3254,8 +3409,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("readsets/search"));
         pathOffset += 15;
 
@@ -3302,8 +3459,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("readsets/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3359,8 +3518,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("readsets/"));
         pathOffset += 9;
         index = path.indexOf("/coveragebuckets", pathOffset);
@@ -3423,8 +3584,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("variants"));
         pathOffset += 8;
 
@@ -3467,8 +3630,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("variants/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3515,8 +3680,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("variants/export"));
         pathOffset += 15;
 
@@ -3559,8 +3726,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("variants/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3596,51 +3765,6 @@
       })));
     });
 
-    unittest.test("method--getSummary", () {
-
-      var mock = new common_test.HttpServerMock();
-      api.VariantsResourceApi res = new api.GenomicsApi(mock).variants;
-      var arg_variantsetId = "foo";
-      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var path = (req.url).path;
-        var pathOffset = 0;
-        var index;
-        var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("variants/summary"));
-        pathOffset += 16;
-
-        var query = (req.url).query;
-        var queryOffset = 0;
-        var queryMap = {};
-        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
-        parseBool(n) {
-          if (n == "true") return true;
-          if (n == "false") return false;
-          if (n == null) return null;
-          throw new core.ArgumentError("Invalid boolean: $n");
-        }
-        if (query.length > 0) {
-          for (var part in query.split("&")) {
-            var keyvalue = part.split("=");
-            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
-          }
-        }
-        unittest.expect(queryMap["variantsetId"].first, unittest.equals(arg_variantsetId));
-
-
-        var h = {
-          "content-type" : "application/json; charset=utf-8",
-        };
-        var resp = convert.JSON.encode(buildGetVariantsSummaryResponse());
-        return new async.Future.value(common_test.stringResponse(200, h, resp));
-      }), true);
-      res.getSummary(variantsetId: arg_variantsetId).then(unittest.expectAsync(((api.GetVariantsSummaryResponse response) {
-        checkGetVariantsSummaryResponse(response);
-      })));
-    });
-
     unittest.test("method--import", () {
 
       var mock = new common_test.HttpServerMock();
@@ -3654,8 +3778,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("variants/import"));
         pathOffset += 15;
 
@@ -3688,57 +3814,6 @@
       })));
     });
 
-    unittest.test("method--patch", () {
-
-      var mock = new common_test.HttpServerMock();
-      api.VariantsResourceApi res = new api.GenomicsApi(mock).variants;
-      var arg_request = buildVariant();
-      var arg_variantId = "foo";
-      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
-        var obj = new api.Variant.fromJson(json);
-        checkVariant(obj);
-
-        var path = (req.url).path;
-        var pathOffset = 0;
-        var index;
-        var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("variants/"));
-        pathOffset += 9;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_variantId"));
-
-        var query = (req.url).query;
-        var queryOffset = 0;
-        var queryMap = {};
-        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
-        parseBool(n) {
-          if (n == "true") return true;
-          if (n == "false") return false;
-          if (n == null) return null;
-          throw new core.ArgumentError("Invalid boolean: $n");
-        }
-        if (query.length > 0) {
-          for (var part in query.split("&")) {
-            var keyvalue = part.split("=");
-            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
-          }
-        }
-
-
-        var h = {
-          "content-type" : "application/json; charset=utf-8",
-        };
-        var resp = convert.JSON.encode(buildVariant());
-        return new async.Future.value(common_test.stringResponse(200, h, resp));
-      }), true);
-      res.patch(arg_request, arg_variantId).then(unittest.expectAsync(((api.Variant response) {
-        checkVariant(response);
-      })));
-    });
-
     unittest.test("method--search", () {
 
       var mock = new common_test.HttpServerMock();
@@ -3752,8 +3827,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("variants/search"));
         pathOffset += 15;
 
@@ -3800,8 +3877,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 17), unittest.equals("/genomics/v1beta/"));
-        pathOffset += 17;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("variants/"));
         pathOffset += 9;
         subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
@@ -3840,5 +3919,154 @@
   });
 
 
+  unittest.group("resource-VariantsetsResourceApi", () {
+    unittest.test("method--delete", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.VariantsetsResourceApi res = new api.GenomicsApi(mock).variantsets;
+      var arg_variantSetId = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("variantsets/"));
+        pathOffset += 12;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_variantSetId"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = "";
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.delete(arg_variantSetId).then(unittest.expectAsync((_) {}));
+    });
+
+    unittest.test("method--get", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.VariantsetsResourceApi res = new api.GenomicsApi(mock).variantsets;
+      var arg_variantSetId = "foo";
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("variantsets/"));
+        pathOffset += 12;
+        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
+        pathOffset = path.length;
+        unittest.expect(subPart, unittest.equals("$arg_variantSetId"));
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildVariantSet());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.get(arg_variantSetId).then(unittest.expectAsync(((api.VariantSet response) {
+        checkVariantSet(response);
+      })));
+    });
+
+    unittest.test("method--search", () {
+
+      var mock = new common_test.HttpServerMock();
+      api.VariantsetsResourceApi res = new api.GenomicsApi(mock).variantsets;
+      var arg_request = buildSearchVariantSetsRequest();
+      mock.register(unittest.expectAsync((http.BaseRequest req, json) {
+        var obj = new api.SearchVariantSetsRequest.fromJson(json);
+        checkSearchVariantSetsRequest(obj);
+
+        var path = (req.url).path;
+        var pathOffset = 0;
+        var index;
+        var subPart;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("genomics/v1beta/"));
+        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("variantsets/search"));
+        pathOffset += 18;
+
+        var query = (req.url).query;
+        var queryOffset = 0;
+        var queryMap = {};
+        addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
+        parseBool(n) {
+          if (n == "true") return true;
+          if (n == "false") return false;
+          if (n == null) return null;
+          throw new core.ArgumentError("Invalid boolean: $n");
+        }
+        if (query.length > 0) {
+          for (var part in query.split("&")) {
+            var keyvalue = part.split("=");
+            addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.decodeQueryComponent(keyvalue[1]));
+          }
+        }
+
+
+        var h = {
+          "content-type" : "application/json; charset=utf-8",
+        };
+        var resp = convert.JSON.encode(buildSearchVariantSetsResponse());
+        return new async.Future.value(common_test.stringResponse(200, h, resp));
+      }), true);
+      res.search(arg_request).then(unittest.expectAsync(((api.SearchVariantSetsResponse response) {
+        checkSearchVariantSetsResponse(response);
+      })));
+    });
+
+  });
+
+
 }
 
diff --git a/generated/googleapis_beta/test/manager/v1beta2_test.dart b/generated/googleapis_beta/test/manager/v1beta2_test.dart
index 0cce073..2d0165e 100644
--- a/generated/googleapis_beta/test/manager/v1beta2_test.dart
+++ b/generated/googleapis_beta/test/manager/v1beta2_test.dart
@@ -39,14 +39,14 @@
   buildCounterAccessConfig--;
 }
 
-buildUnnamed1092() {
+buildUnnamed1120() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1092(core.List<core.String> o) {
+checkUnnamed1120(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -57,7 +57,7 @@
   var o = new api.Action();
   buildCounterAction++;
   if (buildCounterAction < 3) {
-    o.commands = buildUnnamed1092();
+    o.commands = buildUnnamed1120();
     o.timeoutMs = 42;
   }
   buildCounterAction--;
@@ -67,20 +67,20 @@
 checkAction(api.Action o) {
   buildCounterAction++;
   if (buildCounterAction < 3) {
-    checkUnnamed1092(o.commands);
+    checkUnnamed1120(o.commands);
     unittest.expect(o.timeoutMs, unittest.equals(42));
   }
   buildCounterAction--;
 }
 
-buildUnnamed1093() {
+buildUnnamed1121() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1093(core.List<core.String> o) {
+checkUnnamed1121(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -92,7 +92,7 @@
   buildCounterAllowedRule++;
   if (buildCounterAllowedRule < 3) {
     o.IPProtocol = "foo";
-    o.ports = buildUnnamed1093();
+    o.ports = buildUnnamed1121();
   }
   buildCounterAllowedRule--;
   return o;
@@ -102,7 +102,7 @@
   buildCounterAllowedRule++;
   if (buildCounterAllowedRule < 3) {
     unittest.expect(o.IPProtocol, unittest.equals('foo'));
-    checkUnnamed1093(o.ports);
+    checkUnnamed1121(o.ports);
   }
   buildCounterAllowedRule--;
 }
@@ -178,27 +178,27 @@
   buildCounterDeployState--;
 }
 
-buildUnnamed1094() {
+buildUnnamed1122() {
   var o = new core.Map<core.String, api.ModuleStatus>();
   o["x"] = buildModuleStatus();
   o["y"] = buildModuleStatus();
   return o;
 }
 
-checkUnnamed1094(core.Map<core.String, api.ModuleStatus> o) {
+checkUnnamed1122(core.Map<core.String, api.ModuleStatus> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkModuleStatus(o["x"]);
   checkModuleStatus(o["y"]);
 }
 
-buildUnnamed1095() {
+buildUnnamed1123() {
   var o = new core.List<api.ParamOverride>();
   o.add(buildParamOverride());
   o.add(buildParamOverride());
   return o;
 }
 
-checkUnnamed1095(core.List<api.ParamOverride> o) {
+checkUnnamed1123(core.List<api.ParamOverride> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkParamOverride(o[0]);
   checkParamOverride(o[1]);
@@ -211,9 +211,9 @@
   if (buildCounterDeployment < 3) {
     o.creationDate = "foo";
     o.description = "foo";
-    o.modules = buildUnnamed1094();
+    o.modules = buildUnnamed1122();
     o.name = "foo";
-    o.overrides = buildUnnamed1095();
+    o.overrides = buildUnnamed1123();
     o.state = buildDeployState();
     o.templateName = "foo";
   }
@@ -226,23 +226,23 @@
   if (buildCounterDeployment < 3) {
     unittest.expect(o.creationDate, unittest.equals('foo'));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1094(o.modules);
+    checkUnnamed1122(o.modules);
     unittest.expect(o.name, unittest.equals('foo'));
-    checkUnnamed1095(o.overrides);
+    checkUnnamed1123(o.overrides);
     checkDeployState(o.state);
     unittest.expect(o.templateName, unittest.equals('foo'));
   }
   buildCounterDeployment--;
 }
 
-buildUnnamed1096() {
+buildUnnamed1124() {
   var o = new core.List<api.Deployment>();
   o.add(buildDeployment());
   o.add(buildDeployment());
   return o;
 }
 
-checkUnnamed1096(core.List<api.Deployment> o) {
+checkUnnamed1124(core.List<api.Deployment> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDeployment(o[0]);
   checkDeployment(o[1]);
@@ -254,7 +254,7 @@
   buildCounterDeploymentsListResponse++;
   if (buildCounterDeploymentsListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed1096();
+    o.resources = buildUnnamed1124();
   }
   buildCounterDeploymentsListResponse--;
   return o;
@@ -264,7 +264,7 @@
   buildCounterDeploymentsListResponse++;
   if (buildCounterDeploymentsListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1096(o.resources);
+    checkUnnamed1124(o.resources);
   }
   buildCounterDeploymentsListResponse--;
 }
@@ -332,53 +332,53 @@
   buildCounterExistingDisk--;
 }
 
-buildUnnamed1097() {
+buildUnnamed1125() {
   var o = new core.List<api.AllowedRule>();
   o.add(buildAllowedRule());
   o.add(buildAllowedRule());
   return o;
 }
 
-checkUnnamed1097(core.List<api.AllowedRule> o) {
+checkUnnamed1125(core.List<api.AllowedRule> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAllowedRule(o[0]);
   checkAllowedRule(o[1]);
 }
 
-buildUnnamed1098() {
+buildUnnamed1126() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1098(core.List<core.String> o) {
+checkUnnamed1126(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1099() {
+buildUnnamed1127() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1099(core.List<core.String> o) {
+checkUnnamed1127(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1100() {
+buildUnnamed1128() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1100(core.List<core.String> o) {
+checkUnnamed1128(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -389,12 +389,12 @@
   var o = new api.FirewallModule();
   buildCounterFirewallModule++;
   if (buildCounterFirewallModule < 3) {
-    o.allowed = buildUnnamed1097();
+    o.allowed = buildUnnamed1125();
     o.description = "foo";
     o.network = "foo";
-    o.sourceRanges = buildUnnamed1098();
-    o.sourceTags = buildUnnamed1099();
-    o.targetTags = buildUnnamed1100();
+    o.sourceRanges = buildUnnamed1126();
+    o.sourceTags = buildUnnamed1127();
+    o.targetTags = buildUnnamed1128();
   }
   buildCounterFirewallModule--;
   return o;
@@ -403,12 +403,12 @@
 checkFirewallModule(api.FirewallModule o) {
   buildCounterFirewallModule++;
   if (buildCounterFirewallModule < 3) {
-    checkUnnamed1097(o.allowed);
+    checkUnnamed1125(o.allowed);
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.network, unittest.equals('foo'));
-    checkUnnamed1098(o.sourceRanges);
-    checkUnnamed1099(o.sourceTags);
-    checkUnnamed1100(o.targetTags);
+    checkUnnamed1126(o.sourceRanges);
+    checkUnnamed1127(o.sourceTags);
+    checkUnnamed1128(o.targetTags);
   }
   buildCounterFirewallModule--;
 }
@@ -484,27 +484,27 @@
   buildCounterHealthCheckModuleStatus--;
 }
 
-buildUnnamed1101() {
+buildUnnamed1129() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1101(core.List<core.String> o) {
+checkUnnamed1129(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1102() {
+buildUnnamed1130() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1102(core.List<core.String> o) {
+checkUnnamed1130(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -516,12 +516,12 @@
   buildCounterLbModule++;
   if (buildCounterLbModule < 3) {
     o.description = "foo";
-    o.healthChecks = buildUnnamed1101();
+    o.healthChecks = buildUnnamed1129();
     o.ipAddress = "foo";
     o.ipProtocol = "foo";
     o.portRange = "foo";
     o.sessionAffinity = "foo";
-    o.targetModules = buildUnnamed1102();
+    o.targetModules = buildUnnamed1130();
   }
   buildCounterLbModule--;
   return o;
@@ -531,12 +531,12 @@
   buildCounterLbModule++;
   if (buildCounterLbModule < 3) {
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1101(o.healthChecks);
+    checkUnnamed1129(o.healthChecks);
     unittest.expect(o.ipAddress, unittest.equals('foo'));
     unittest.expect(o.ipProtocol, unittest.equals('foo'));
     unittest.expect(o.portRange, unittest.equals('foo'));
     unittest.expect(o.sessionAffinity, unittest.equals('foo'));
-    checkUnnamed1102(o.targetModules);
+    checkUnnamed1130(o.targetModules);
   }
   buildCounterLbModule--;
 }
@@ -562,14 +562,14 @@
   buildCounterLbModuleStatus--;
 }
 
-buildUnnamed1103() {
+buildUnnamed1131() {
   var o = new core.List<api.MetadataItem>();
   o.add(buildMetadataItem());
   o.add(buildMetadataItem());
   return o;
 }
 
-checkUnnamed1103(core.List<api.MetadataItem> o) {
+checkUnnamed1131(core.List<api.MetadataItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetadataItem(o[0]);
   checkMetadataItem(o[1]);
@@ -581,7 +581,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     o.fingerPrint = "foo";
-    o.items = buildUnnamed1103();
+    o.items = buildUnnamed1131();
   }
   buildCounterMetadata--;
   return o;
@@ -591,7 +591,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     unittest.expect(o.fingerPrint, unittest.equals('foo'));
-    checkUnnamed1103(o.items);
+    checkUnnamed1131(o.items);
   }
   buildCounterMetadata--;
 }
@@ -681,14 +681,14 @@
   buildCounterModuleStatus--;
 }
 
-buildUnnamed1104() {
+buildUnnamed1132() {
   var o = new core.List<api.AccessConfig>();
   o.add(buildAccessConfig());
   o.add(buildAccessConfig());
   return o;
 }
 
-checkUnnamed1104(core.List<api.AccessConfig> o) {
+checkUnnamed1132(core.List<api.AccessConfig> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccessConfig(o[0]);
   checkAccessConfig(o[1]);
@@ -699,7 +699,7 @@
   var o = new api.NetworkInterface();
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    o.accessConfigs = buildUnnamed1104();
+    o.accessConfigs = buildUnnamed1132();
     o.name = "foo";
     o.network = "foo";
     o.networkIp = "foo";
@@ -711,7 +711,7 @@
 checkNetworkInterface(api.NetworkInterface o) {
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    checkUnnamed1104(o.accessConfigs);
+    checkUnnamed1132(o.accessConfigs);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.network, unittest.equals('foo'));
     unittest.expect(o.networkIp, unittest.equals('foo'));
@@ -792,6 +792,7 @@
   buildCounterNewDiskInitializeParams++;
   if (buildCounterNewDiskInitializeParams < 3) {
     o.diskSizeGb = "foo";
+    o.diskType = "foo";
     o.sourceImage = "foo";
   }
   buildCounterNewDiskInitializeParams--;
@@ -802,6 +803,7 @@
   buildCounterNewDiskInitializeParams++;
   if (buildCounterNewDiskInitializeParams < 3) {
     unittest.expect(o.diskSizeGb, unittest.equals('foo'));
+    unittest.expect(o.diskType, unittest.equals('foo'));
     unittest.expect(o.sourceImage, unittest.equals('foo'));
   }
   buildCounterNewDiskInitializeParams--;
@@ -828,27 +830,27 @@
   buildCounterParamOverride--;
 }
 
-buildUnnamed1105() {
+buildUnnamed1133() {
   var o = new core.Map<core.String, api.EnvVariable>();
   o["x"] = buildEnvVariable();
   o["y"] = buildEnvVariable();
   return o;
 }
 
-checkUnnamed1105(core.Map<core.String, api.EnvVariable> o) {
+checkUnnamed1133(core.Map<core.String, api.EnvVariable> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEnvVariable(o["x"]);
   checkEnvVariable(o["y"]);
 }
 
-buildUnnamed1106() {
+buildUnnamed1134() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1106(core.List<core.String> o) {
+checkUnnamed1134(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -859,8 +861,8 @@
   var o = new api.ReplicaPoolModule();
   buildCounterReplicaPoolModule++;
   if (buildCounterReplicaPoolModule < 3) {
-    o.envVariables = buildUnnamed1105();
-    o.healthChecks = buildUnnamed1106();
+    o.envVariables = buildUnnamed1133();
+    o.healthChecks = buildUnnamed1134();
     o.numReplicas = 42;
     o.replicaPoolParams = buildReplicaPoolParams();
     o.resourceView = "foo";
@@ -872,8 +874,8 @@
 checkReplicaPoolModule(api.ReplicaPoolModule o) {
   buildCounterReplicaPoolModule++;
   if (buildCounterReplicaPoolModule < 3) {
-    checkUnnamed1105(o.envVariables);
-    checkUnnamed1106(o.healthChecks);
+    checkUnnamed1133(o.envVariables);
+    checkUnnamed1134(o.healthChecks);
     unittest.expect(o.numReplicas, unittest.equals(42));
     checkReplicaPoolParams(o.replicaPoolParams);
     unittest.expect(o.resourceView, unittest.equals('foo'));
@@ -921,53 +923,53 @@
   buildCounterReplicaPoolParams--;
 }
 
-buildUnnamed1107() {
+buildUnnamed1135() {
   var o = new core.List<api.ExistingDisk>();
   o.add(buildExistingDisk());
   o.add(buildExistingDisk());
   return o;
 }
 
-checkUnnamed1107(core.List<api.ExistingDisk> o) {
+checkUnnamed1135(core.List<api.ExistingDisk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkExistingDisk(o[0]);
   checkExistingDisk(o[1]);
 }
 
-buildUnnamed1108() {
+buildUnnamed1136() {
   var o = new core.List<api.NewDisk>();
   o.add(buildNewDisk());
   o.add(buildNewDisk());
   return o;
 }
 
-checkUnnamed1108(core.List<api.NewDisk> o) {
+checkUnnamed1136(core.List<api.NewDisk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNewDisk(o[0]);
   checkNewDisk(o[1]);
 }
 
-buildUnnamed1109() {
+buildUnnamed1137() {
   var o = new core.List<api.NetworkInterface>();
   o.add(buildNetworkInterface());
   o.add(buildNetworkInterface());
   return o;
 }
 
-checkUnnamed1109(core.List<api.NetworkInterface> o) {
+checkUnnamed1137(core.List<api.NetworkInterface> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNetworkInterface(o[0]);
   checkNetworkInterface(o[1]);
 }
 
-buildUnnamed1110() {
+buildUnnamed1138() {
   var o = new core.List<api.ServiceAccount>();
   o.add(buildServiceAccount());
   o.add(buildServiceAccount());
   return o;
 }
 
-checkUnnamed1110(core.List<api.ServiceAccount> o) {
+checkUnnamed1138(core.List<api.ServiceAccount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkServiceAccount(o[0]);
   checkServiceAccount(o[1]);
@@ -982,14 +984,14 @@
     o.baseInstanceName = "foo";
     o.canIpForward = true;
     o.description = "foo";
-    o.disksToAttach = buildUnnamed1107();
-    o.disksToCreate = buildUnnamed1108();
+    o.disksToAttach = buildUnnamed1135();
+    o.disksToCreate = buildUnnamed1136();
     o.initAction = "foo";
     o.machineType = "foo";
     o.metadata = buildMetadata();
-    o.networkInterfaces = buildUnnamed1109();
+    o.networkInterfaces = buildUnnamed1137();
     o.onHostMaintenance = "foo";
-    o.serviceAccounts = buildUnnamed1110();
+    o.serviceAccounts = buildUnnamed1138();
     o.tags = buildTag();
     o.zone = "foo";
   }
@@ -1004,28 +1006,28 @@
     unittest.expect(o.baseInstanceName, unittest.equals('foo'));
     unittest.expect(o.canIpForward, unittest.isTrue);
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1107(o.disksToAttach);
-    checkUnnamed1108(o.disksToCreate);
+    checkUnnamed1135(o.disksToAttach);
+    checkUnnamed1136(o.disksToCreate);
     unittest.expect(o.initAction, unittest.equals('foo'));
     unittest.expect(o.machineType, unittest.equals('foo'));
     checkMetadata(o.metadata);
-    checkUnnamed1109(o.networkInterfaces);
+    checkUnnamed1137(o.networkInterfaces);
     unittest.expect(o.onHostMaintenance, unittest.equals('foo'));
-    checkUnnamed1110(o.serviceAccounts);
+    checkUnnamed1138(o.serviceAccounts);
     checkTag(o.tags);
     unittest.expect(o.zone, unittest.equals('foo'));
   }
   buildCounterReplicaPoolParamsV1Beta1--;
 }
 
-buildUnnamed1111() {
+buildUnnamed1139() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1111(core.List<core.String> o) {
+checkUnnamed1139(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1037,7 +1039,7 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     o.email = "foo";
-    o.scopes = buildUnnamed1111();
+    o.scopes = buildUnnamed1139();
   }
   buildCounterServiceAccount--;
   return o;
@@ -1047,19 +1049,19 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     unittest.expect(o.email, unittest.equals('foo'));
-    checkUnnamed1111(o.scopes);
+    checkUnnamed1139(o.scopes);
   }
   buildCounterServiceAccount--;
 }
 
-buildUnnamed1112() {
+buildUnnamed1140() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1112(core.List<core.String> o) {
+checkUnnamed1140(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1071,7 +1073,7 @@
   buildCounterTag++;
   if (buildCounterTag < 3) {
     o.fingerPrint = "foo";
-    o.items = buildUnnamed1112();
+    o.items = buildUnnamed1140();
   }
   buildCounterTag--;
   return o;
@@ -1081,32 +1083,32 @@
   buildCounterTag++;
   if (buildCounterTag < 3) {
     unittest.expect(o.fingerPrint, unittest.equals('foo'));
-    checkUnnamed1112(o.items);
+    checkUnnamed1140(o.items);
   }
   buildCounterTag--;
 }
 
-buildUnnamed1113() {
+buildUnnamed1141() {
   var o = new core.Map<core.String, api.Action>();
   o["x"] = buildAction();
   o["y"] = buildAction();
   return o;
 }
 
-checkUnnamed1113(core.Map<core.String, api.Action> o) {
+checkUnnamed1141(core.Map<core.String, api.Action> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAction(o["x"]);
   checkAction(o["y"]);
 }
 
-buildUnnamed1114() {
+buildUnnamed1142() {
   var o = new core.Map<core.String, api.Module>();
   o["x"] = buildModule();
   o["y"] = buildModule();
   return o;
 }
 
-checkUnnamed1114(core.Map<core.String, api.Module> o) {
+checkUnnamed1142(core.Map<core.String, api.Module> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkModule(o["x"]);
   checkModule(o["y"]);
@@ -1117,9 +1119,9 @@
   var o = new api.Template();
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
-    o.actions = buildUnnamed1113();
+    o.actions = buildUnnamed1141();
     o.description = "foo";
-    o.modules = buildUnnamed1114();
+    o.modules = buildUnnamed1142();
     o.name = "foo";
   }
   buildCounterTemplate--;
@@ -1129,22 +1131,22 @@
 checkTemplate(api.Template o) {
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
-    checkUnnamed1113(o.actions);
+    checkUnnamed1141(o.actions);
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1114(o.modules);
+    checkUnnamed1142(o.modules);
     unittest.expect(o.name, unittest.equals('foo'));
   }
   buildCounterTemplate--;
 }
 
-buildUnnamed1115() {
+buildUnnamed1143() {
   var o = new core.List<api.Template>();
   o.add(buildTemplate());
   o.add(buildTemplate());
   return o;
 }
 
-checkUnnamed1115(core.List<api.Template> o) {
+checkUnnamed1143(core.List<api.Template> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTemplate(o[0]);
   checkTemplate(o[1]);
@@ -1156,7 +1158,7 @@
   buildCounterTemplatesListResponse++;
   if (buildCounterTemplatesListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed1115();
+    o.resources = buildUnnamed1143();
   }
   buildCounterTemplatesListResponse--;
   return o;
@@ -1166,7 +1168,7 @@
   buildCounterTemplatesListResponse++;
   if (buildCounterTemplatesListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1115(o.resources);
+    checkUnnamed1143(o.resources);
   }
   buildCounterTemplatesListResponse--;
 }
@@ -1501,25 +1503,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/deployments/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/deployments/"));
-        pathOffset += 13;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_deploymentName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1560,25 +1545,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/deployments/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/deployments/"));
-        pathOffset += 13;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_deploymentName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1624,22 +1592,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/deployments", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/deployments"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1683,22 +1637,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/deployments", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/deployments"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1746,18 +1686,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/templates/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/templates/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_templateName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1797,18 +1727,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/templates/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("/templates/"));
-        pathOffset += 11;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_templateName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1853,15 +1773,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/templates", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/templates"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1904,15 +1817,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 26), unittest.equals("/manager/v1beta2/projects/"));
-        pathOffset += 26;
-        index = path.indexOf("/templates", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectId"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/templates"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/pubsub/v1beta1_test.dart b/generated/googleapis_beta/test/pubsub/v1beta1_test.dart
index 7df6263..f7ea541 100644
--- a/generated/googleapis_beta/test/pubsub/v1beta1_test.dart
+++ b/generated/googleapis_beta/test/pubsub/v1beta1_test.dart
@@ -16,14 +16,14 @@
 
 
 
-buildUnnamed1170() {
+buildUnnamed1201() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1170(core.List<core.String> o) {
+checkUnnamed1201(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -34,7 +34,7 @@
   var o = new api.AcknowledgeRequest();
   buildCounterAcknowledgeRequest++;
   if (buildCounterAcknowledgeRequest < 3) {
-    o.ackId = buildUnnamed1170();
+    o.ackId = buildUnnamed1201();
     o.subscription = "foo";
   }
   buildCounterAcknowledgeRequest--;
@@ -44,7 +44,7 @@
 checkAcknowledgeRequest(api.AcknowledgeRequest o) {
   buildCounterAcknowledgeRequest++;
   if (buildCounterAcknowledgeRequest < 3) {
-    checkUnnamed1170(o.ackId);
+    checkUnnamed1201(o.ackId);
     unittest.expect(o.subscription, unittest.equals('foo'));
   }
   buildCounterAcknowledgeRequest--;
@@ -73,14 +73,14 @@
   buildCounterLabel--;
 }
 
-buildUnnamed1171() {
+buildUnnamed1202() {
   var o = new core.List<api.Subscription>();
   o.add(buildSubscription());
   o.add(buildSubscription());
   return o;
 }
 
-checkUnnamed1171(core.List<api.Subscription> o) {
+checkUnnamed1202(core.List<api.Subscription> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSubscription(o[0]);
   checkSubscription(o[1]);
@@ -92,7 +92,7 @@
   buildCounterListSubscriptionsResponse++;
   if (buildCounterListSubscriptionsResponse < 3) {
     o.nextPageToken = "foo";
-    o.subscription = buildUnnamed1171();
+    o.subscription = buildUnnamed1202();
   }
   buildCounterListSubscriptionsResponse--;
   return o;
@@ -102,19 +102,19 @@
   buildCounterListSubscriptionsResponse++;
   if (buildCounterListSubscriptionsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1171(o.subscription);
+    checkUnnamed1202(o.subscription);
   }
   buildCounterListSubscriptionsResponse--;
 }
 
-buildUnnamed1172() {
+buildUnnamed1203() {
   var o = new core.List<api.Topic>();
   o.add(buildTopic());
   o.add(buildTopic());
   return o;
 }
 
-checkUnnamed1172(core.List<api.Topic> o) {
+checkUnnamed1203(core.List<api.Topic> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTopic(o[0]);
   checkTopic(o[1]);
@@ -126,7 +126,7 @@
   buildCounterListTopicsResponse++;
   if (buildCounterListTopicsResponse < 3) {
     o.nextPageToken = "foo";
-    o.topic = buildUnnamed1172();
+    o.topic = buildUnnamed1203();
   }
   buildCounterListTopicsResponse--;
   return o;
@@ -136,7 +136,7 @@
   buildCounterListTopicsResponse++;
   if (buildCounterListTopicsResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1172(o.topic);
+    checkUnnamed1203(o.topic);
   }
   buildCounterListTopicsResponse--;
 }
@@ -231,14 +231,14 @@
   buildCounterPubsubEvent--;
 }
 
-buildUnnamed1173() {
+buildUnnamed1204() {
   var o = new core.List<api.Label>();
   o.add(buildLabel());
   o.add(buildLabel());
   return o;
 }
 
-checkUnnamed1173(core.List<api.Label> o) {
+checkUnnamed1204(core.List<api.Label> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLabel(o[0]);
   checkLabel(o[1]);
@@ -250,7 +250,7 @@
   buildCounterPubsubMessage++;
   if (buildCounterPubsubMessage < 3) {
     o.data = "foo";
-    o.label = buildUnnamed1173();
+    o.label = buildUnnamed1204();
   }
   buildCounterPubsubMessage--;
   return o;
@@ -260,7 +260,7 @@
   buildCounterPubsubMessage++;
   if (buildCounterPubsubMessage < 3) {
     unittest.expect(o.data, unittest.equals('foo'));
-    checkUnnamed1173(o.label);
+    checkUnnamed1204(o.label);
   }
   buildCounterPubsubMessage--;
 }
@@ -512,8 +512,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 25), unittest.equals("subscriptions/acknowledge"));
         pathOffset += 25;
 
@@ -557,8 +559,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -601,8 +605,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("subscriptions/"));
         pathOffset += 14;
         // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
@@ -644,8 +650,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("subscriptions/"));
         pathOffset += 14;
         // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
@@ -691,8 +699,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("subscriptions"));
         pathOffset += 13;
 
@@ -741,8 +751,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 31), unittest.equals("subscriptions/modifyAckDeadline"));
         pathOffset += 31;
 
@@ -786,8 +798,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("subscriptions/modifyPushConfig"));
         pathOffset += 30;
 
@@ -831,8 +845,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 18), unittest.equals("subscriptions/pull"));
         pathOffset += 18;
 
@@ -882,8 +898,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("topics"));
         pathOffset += 6;
 
@@ -926,8 +944,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("topics/"));
         pathOffset += 7;
         // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
@@ -969,8 +989,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("topics/"));
         pathOffset += 7;
         // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
@@ -1016,8 +1038,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("topics"));
         pathOffset += 6;
 
@@ -1066,8 +1090,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/pubsub/v1beta1/"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("pubsub/v1beta1/"));
+        pathOffset += 15;
         unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("topics/publish"));
         pathOffset += 14;
 
diff --git a/generated/googleapis_beta/test/replicapool/v1beta1_test.dart b/generated/googleapis_beta/test/replicapool/v1beta1_test.dart
index 9c6d1db..47cfda4 100644
--- a/generated/googleapis_beta/test/replicapool/v1beta1_test.dart
+++ b/generated/googleapis_beta/test/replicapool/v1beta1_test.dart
@@ -39,27 +39,27 @@
   buildCounterAccessConfig--;
 }
 
-buildUnnamed1059() {
+buildUnnamed1087() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1059(core.List<core.String> o) {
+checkUnnamed1087(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1060() {
+buildUnnamed1088() {
   var o = new core.List<api.EnvVariable>();
   o.add(buildEnvVariable());
   o.add(buildEnvVariable());
   return o;
 }
 
-checkUnnamed1060(core.List<api.EnvVariable> o) {
+checkUnnamed1088(core.List<api.EnvVariable> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkEnvVariable(o[0]);
   checkEnvVariable(o[1]);
@@ -70,8 +70,8 @@
   var o = new api.Action();
   buildCounterAction++;
   if (buildCounterAction < 3) {
-    o.commands = buildUnnamed1059();
-    o.envVariables = buildUnnamed1060();
+    o.commands = buildUnnamed1087();
+    o.envVariables = buildUnnamed1088();
     o.timeoutMilliSeconds = 42;
   }
   buildCounterAction--;
@@ -81,8 +81,8 @@
 checkAction(api.Action o) {
   buildCounterAction++;
   if (buildCounterAction < 3) {
-    checkUnnamed1059(o.commands);
-    checkUnnamed1060(o.envVariables);
+    checkUnnamed1087(o.commands);
+    checkUnnamed1088(o.envVariables);
     unittest.expect(o.timeoutMilliSeconds, unittest.equals(42));
   }
   buildCounterAction--;
@@ -209,14 +209,14 @@
   buildCounterLabel--;
 }
 
-buildUnnamed1061() {
+buildUnnamed1089() {
   var o = new core.List<api.MetadataItem>();
   o.add(buildMetadataItem());
   o.add(buildMetadataItem());
   return o;
 }
 
-checkUnnamed1061(core.List<api.MetadataItem> o) {
+checkUnnamed1089(core.List<api.MetadataItem> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkMetadataItem(o[0]);
   checkMetadataItem(o[1]);
@@ -228,7 +228,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     o.fingerPrint = "foo";
-    o.items = buildUnnamed1061();
+    o.items = buildUnnamed1089();
   }
   buildCounterMetadata--;
   return o;
@@ -238,7 +238,7 @@
   buildCounterMetadata++;
   if (buildCounterMetadata < 3) {
     unittest.expect(o.fingerPrint, unittest.equals('foo'));
-    checkUnnamed1061(o.items);
+    checkUnnamed1089(o.items);
   }
   buildCounterMetadata--;
 }
@@ -264,14 +264,14 @@
   buildCounterMetadataItem--;
 }
 
-buildUnnamed1062() {
+buildUnnamed1090() {
   var o = new core.List<api.AccessConfig>();
   o.add(buildAccessConfig());
   o.add(buildAccessConfig());
   return o;
 }
 
-checkUnnamed1062(core.List<api.AccessConfig> o) {
+checkUnnamed1090(core.List<api.AccessConfig> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkAccessConfig(o[0]);
   checkAccessConfig(o[1]);
@@ -282,7 +282,7 @@
   var o = new api.NetworkInterface();
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    o.accessConfigs = buildUnnamed1062();
+    o.accessConfigs = buildUnnamed1090();
     o.network = "foo";
     o.networkIp = "foo";
   }
@@ -293,7 +293,7 @@
 checkNetworkInterface(api.NetworkInterface o) {
   buildCounterNetworkInterface++;
   if (buildCounterNetworkInterface < 3) {
-    checkUnnamed1062(o.accessConfigs);
+    checkUnnamed1090(o.accessConfigs);
     unittest.expect(o.network, unittest.equals('foo'));
     unittest.expect(o.networkIp, unittest.equals('foo'));
   }
@@ -348,53 +348,53 @@
   buildCounterNewDiskInitializeParams--;
 }
 
-buildUnnamed1063() {
+buildUnnamed1091() {
   var o = new core.List<api.HealthCheck>();
   o.add(buildHealthCheck());
   o.add(buildHealthCheck());
   return o;
 }
 
-checkUnnamed1063(core.List<api.HealthCheck> o) {
+checkUnnamed1091(core.List<api.HealthCheck> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthCheck(o[0]);
   checkHealthCheck(o[1]);
 }
 
-buildUnnamed1064() {
+buildUnnamed1092() {
   var o = new core.List<api.Label>();
   o.add(buildLabel());
   o.add(buildLabel());
   return o;
 }
 
-checkUnnamed1064(core.List<api.Label> o) {
+checkUnnamed1092(core.List<api.Label> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLabel(o[0]);
   checkLabel(o[1]);
 }
 
-buildUnnamed1065() {
+buildUnnamed1093() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1065(core.List<core.String> o) {
+checkUnnamed1093(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1066() {
+buildUnnamed1094() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1066(core.List<core.String> o) {
+checkUnnamed1094(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -409,15 +409,15 @@
     o.baseInstanceName = "foo";
     o.currentNumReplicas = 42;
     o.description = "foo";
-    o.healthChecks = buildUnnamed1063();
+    o.healthChecks = buildUnnamed1091();
     o.initialNumReplicas = 42;
-    o.labels = buildUnnamed1064();
+    o.labels = buildUnnamed1092();
     o.name = "foo";
     o.numReplicas = 42;
-    o.resourceViews = buildUnnamed1065();
+    o.resourceViews = buildUnnamed1093();
     o.selfLink = "foo";
     o.targetPool = "foo";
-    o.targetPools = buildUnnamed1066();
+    o.targetPools = buildUnnamed1094();
     o.template = buildTemplate();
     o.type = "foo";
   }
@@ -432,29 +432,29 @@
     unittest.expect(o.baseInstanceName, unittest.equals('foo'));
     unittest.expect(o.currentNumReplicas, unittest.equals(42));
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1063(o.healthChecks);
+    checkUnnamed1091(o.healthChecks);
     unittest.expect(o.initialNumReplicas, unittest.equals(42));
-    checkUnnamed1064(o.labels);
+    checkUnnamed1092(o.labels);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.numReplicas, unittest.equals(42));
-    checkUnnamed1065(o.resourceViews);
+    checkUnnamed1093(o.resourceViews);
     unittest.expect(o.selfLink, unittest.equals('foo'));
     unittest.expect(o.targetPool, unittest.equals('foo'));
-    checkUnnamed1066(o.targetPools);
+    checkUnnamed1094(o.targetPools);
     checkTemplate(o.template);
     unittest.expect(o.type, unittest.equals('foo'));
   }
   buildCounterPool--;
 }
 
-buildUnnamed1067() {
+buildUnnamed1095() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1067(core.List<core.String> o) {
+checkUnnamed1095(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -465,7 +465,7 @@
   var o = new api.PoolsDeleteRequest();
   buildCounterPoolsDeleteRequest++;
   if (buildCounterPoolsDeleteRequest < 3) {
-    o.abandonInstances = buildUnnamed1067();
+    o.abandonInstances = buildUnnamed1095();
   }
   buildCounterPoolsDeleteRequest--;
   return o;
@@ -474,19 +474,19 @@
 checkPoolsDeleteRequest(api.PoolsDeleteRequest o) {
   buildCounterPoolsDeleteRequest++;
   if (buildCounterPoolsDeleteRequest < 3) {
-    checkUnnamed1067(o.abandonInstances);
+    checkUnnamed1095(o.abandonInstances);
   }
   buildCounterPoolsDeleteRequest--;
 }
 
-buildUnnamed1068() {
+buildUnnamed1096() {
   var o = new core.List<api.Pool>();
   o.add(buildPool());
   o.add(buildPool());
   return o;
 }
 
-checkUnnamed1068(core.List<api.Pool> o) {
+checkUnnamed1096(core.List<api.Pool> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkPool(o[0]);
   checkPool(o[1]);
@@ -498,7 +498,7 @@
   buildCounterPoolsListResponse++;
   if (buildCounterPoolsListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed1068();
+    o.resources = buildUnnamed1096();
   }
   buildCounterPoolsListResponse--;
   return o;
@@ -508,7 +508,7 @@
   buildCounterPoolsListResponse++;
   if (buildCounterPoolsListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1068(o.resources);
+    checkUnnamed1096(o.resources);
   }
   buildCounterPoolsListResponse--;
 }
@@ -582,14 +582,14 @@
   buildCounterReplicasDeleteRequest--;
 }
 
-buildUnnamed1069() {
+buildUnnamed1097() {
   var o = new core.List<api.Replica>();
   o.add(buildReplica());
   o.add(buildReplica());
   return o;
 }
 
-checkUnnamed1069(core.List<api.Replica> o) {
+checkUnnamed1097(core.List<api.Replica> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkReplica(o[0]);
   checkReplica(o[1]);
@@ -601,7 +601,7 @@
   buildCounterReplicasListResponse++;
   if (buildCounterReplicasListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resources = buildUnnamed1069();
+    o.resources = buildUnnamed1097();
   }
   buildCounterReplicasListResponse--;
   return o;
@@ -611,19 +611,19 @@
   buildCounterReplicasListResponse++;
   if (buildCounterReplicasListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1069(o.resources);
+    checkUnnamed1097(o.resources);
   }
   buildCounterReplicasListResponse--;
 }
 
-buildUnnamed1070() {
+buildUnnamed1098() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1070(core.List<core.String> o) {
+checkUnnamed1098(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -635,7 +635,7 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     o.email = "foo";
-    o.scopes = buildUnnamed1070();
+    o.scopes = buildUnnamed1098();
   }
   buildCounterServiceAccount--;
   return o;
@@ -645,19 +645,19 @@
   buildCounterServiceAccount++;
   if (buildCounterServiceAccount < 3) {
     unittest.expect(o.email, unittest.equals('foo'));
-    checkUnnamed1070(o.scopes);
+    checkUnnamed1098(o.scopes);
   }
   buildCounterServiceAccount--;
 }
 
-buildUnnamed1071() {
+buildUnnamed1099() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1071(core.List<core.String> o) {
+checkUnnamed1099(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -669,7 +669,7 @@
   buildCounterTag++;
   if (buildCounterTag < 3) {
     o.fingerPrint = "foo";
-    o.items = buildUnnamed1071();
+    o.items = buildUnnamed1099();
   }
   buildCounterTag--;
   return o;
@@ -679,19 +679,19 @@
   buildCounterTag++;
   if (buildCounterTag < 3) {
     unittest.expect(o.fingerPrint, unittest.equals('foo'));
-    checkUnnamed1071(o.items);
+    checkUnnamed1099(o.items);
   }
   buildCounterTag--;
 }
 
-buildUnnamed1072() {
+buildUnnamed1100() {
   var o = new core.List<api.HealthCheck>();
   o.add(buildHealthCheck());
   o.add(buildHealthCheck());
   return o;
 }
 
-checkUnnamed1072(core.List<api.HealthCheck> o) {
+checkUnnamed1100(core.List<api.HealthCheck> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkHealthCheck(o[0]);
   checkHealthCheck(o[1]);
@@ -703,7 +703,7 @@
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
     o.action = buildAction();
-    o.healthChecks = buildUnnamed1072();
+    o.healthChecks = buildUnnamed1100();
     o.version = "foo";
     o.vmParams = buildVmParams();
   }
@@ -715,60 +715,60 @@
   buildCounterTemplate++;
   if (buildCounterTemplate < 3) {
     checkAction(o.action);
-    checkUnnamed1072(o.healthChecks);
+    checkUnnamed1100(o.healthChecks);
     unittest.expect(o.version, unittest.equals('foo'));
     checkVmParams(o.vmParams);
   }
   buildCounterTemplate--;
 }
 
-buildUnnamed1073() {
+buildUnnamed1101() {
   var o = new core.List<api.ExistingDisk>();
   o.add(buildExistingDisk());
   o.add(buildExistingDisk());
   return o;
 }
 
-checkUnnamed1073(core.List<api.ExistingDisk> o) {
+checkUnnamed1101(core.List<api.ExistingDisk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkExistingDisk(o[0]);
   checkExistingDisk(o[1]);
 }
 
-buildUnnamed1074() {
+buildUnnamed1102() {
   var o = new core.List<api.NewDisk>();
   o.add(buildNewDisk());
   o.add(buildNewDisk());
   return o;
 }
 
-checkUnnamed1074(core.List<api.NewDisk> o) {
+checkUnnamed1102(core.List<api.NewDisk> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNewDisk(o[0]);
   checkNewDisk(o[1]);
 }
 
-buildUnnamed1075() {
+buildUnnamed1103() {
   var o = new core.List<api.NetworkInterface>();
   o.add(buildNetworkInterface());
   o.add(buildNetworkInterface());
   return o;
 }
 
-checkUnnamed1075(core.List<api.NetworkInterface> o) {
+checkUnnamed1103(core.List<api.NetworkInterface> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkNetworkInterface(o[0]);
   checkNetworkInterface(o[1]);
 }
 
-buildUnnamed1076() {
+buildUnnamed1104() {
   var o = new core.List<api.ServiceAccount>();
   o.add(buildServiceAccount());
   o.add(buildServiceAccount());
   return o;
 }
 
-checkUnnamed1076(core.List<api.ServiceAccount> o) {
+checkUnnamed1104(core.List<api.ServiceAccount> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkServiceAccount(o[0]);
   checkServiceAccount(o[1]);
@@ -782,13 +782,13 @@
     o.baseInstanceName = "foo";
     o.canIpForward = true;
     o.description = "foo";
-    o.disksToAttach = buildUnnamed1073();
-    o.disksToCreate = buildUnnamed1074();
+    o.disksToAttach = buildUnnamed1101();
+    o.disksToCreate = buildUnnamed1102();
     o.machineType = "foo";
     o.metadata = buildMetadata();
-    o.networkInterfaces = buildUnnamed1075();
+    o.networkInterfaces = buildUnnamed1103();
     o.onHostMaintenance = "foo";
-    o.serviceAccounts = buildUnnamed1076();
+    o.serviceAccounts = buildUnnamed1104();
     o.tags = buildTag();
   }
   buildCounterVmParams--;
@@ -801,13 +801,13 @@
     unittest.expect(o.baseInstanceName, unittest.equals('foo'));
     unittest.expect(o.canIpForward, unittest.isTrue);
     unittest.expect(o.description, unittest.equals('foo'));
-    checkUnnamed1073(o.disksToAttach);
-    checkUnnamed1074(o.disksToCreate);
+    checkUnnamed1101(o.disksToAttach);
+    checkUnnamed1102(o.disksToCreate);
     unittest.expect(o.machineType, unittest.equals('foo'));
     checkMetadata(o.metadata);
-    checkUnnamed1075(o.networkInterfaces);
+    checkUnnamed1103(o.networkInterfaces);
     unittest.expect(o.onHostMaintenance, unittest.equals('foo'));
-    checkUnnamed1076(o.serviceAccounts);
+    checkUnnamed1104(o.serviceAccounts);
     checkTag(o.tags);
   }
   buildCounterVmParams--;
@@ -1039,25 +1039,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1098,25 +1081,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1162,22 +1128,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/pools"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1221,22 +1173,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/pools"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1282,29 +1220,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/resize", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/resize"));
-        pathOffset += 7;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1352,29 +1269,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/updateTemplate", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/updateTemplate"));
-        pathOffset += 15;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1424,32 +1320,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/replicas/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/replicas/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_replicaName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1493,32 +1365,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/replicas/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/replicas/"));
-        pathOffset += 10;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_replicaName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1563,29 +1411,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/replicas", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/replicas"));
-        pathOffset += 9;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1631,36 +1458,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 30), unittest.equals("/replicapool/v1beta1/projects/"));
-        pathOffset += 30;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/pools/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/pools/"));
-        pathOffset += 7;
-        index = path.indexOf("/replicas/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_poolName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/replicas/"));
-        pathOffset += 10;
-        index = path.indexOf("/restart", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_replicaName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 8), unittest.equals("/restart"));
-        pathOffset += 8;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/resourceviews/v1beta1_test.dart b/generated/googleapis_beta/test/resourceviews/v1beta1_test.dart
index b453ac3..51b32b7 100644
--- a/generated/googleapis_beta/test/resourceviews/v1beta1_test.dart
+++ b/generated/googleapis_beta/test/resourceviews/v1beta1_test.dart
@@ -37,14 +37,14 @@
   buildCounterLabel--;
 }
 
-buildUnnamed1082() {
+buildUnnamed1110() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1082(core.List<core.String> o) {
+checkUnnamed1110(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -55,7 +55,7 @@
   var o = new api.RegionViewsAddResourcesRequest();
   buildCounterRegionViewsAddResourcesRequest++;
   if (buildCounterRegionViewsAddResourcesRequest < 3) {
-    o.resources = buildUnnamed1082();
+    o.resources = buildUnnamed1110();
   }
   buildCounterRegionViewsAddResourcesRequest--;
   return o;
@@ -64,7 +64,7 @@
 checkRegionViewsAddResourcesRequest(api.RegionViewsAddResourcesRequest o) {
   buildCounterRegionViewsAddResourcesRequest++;
   if (buildCounterRegionViewsAddResourcesRequest < 3) {
-    checkUnnamed1082(o.resources);
+    checkUnnamed1110(o.resources);
   }
   buildCounterRegionViewsAddResourcesRequest--;
 }
@@ -88,14 +88,14 @@
   buildCounterRegionViewsInsertResponse--;
 }
 
-buildUnnamed1083() {
+buildUnnamed1111() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1083(core.List<core.String> o) {
+checkUnnamed1111(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -106,7 +106,7 @@
   var o = new api.RegionViewsListResourcesResponse();
   buildCounterRegionViewsListResourcesResponse++;
   if (buildCounterRegionViewsListResourcesResponse < 3) {
-    o.members = buildUnnamed1083();
+    o.members = buildUnnamed1111();
     o.nextPageToken = "foo";
   }
   buildCounterRegionViewsListResourcesResponse--;
@@ -116,20 +116,20 @@
 checkRegionViewsListResourcesResponse(api.RegionViewsListResourcesResponse o) {
   buildCounterRegionViewsListResourcesResponse++;
   if (buildCounterRegionViewsListResourcesResponse < 3) {
-    checkUnnamed1083(o.members);
+    checkUnnamed1111(o.members);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterRegionViewsListResourcesResponse--;
 }
 
-buildUnnamed1084() {
+buildUnnamed1112() {
   var o = new core.List<api.ResourceView>();
   o.add(buildResourceView());
   o.add(buildResourceView());
   return o;
 }
 
-checkUnnamed1084(core.List<api.ResourceView> o) {
+checkUnnamed1112(core.List<api.ResourceView> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResourceView(o[0]);
   checkResourceView(o[1]);
@@ -141,7 +141,7 @@
   buildCounterRegionViewsListResponse++;
   if (buildCounterRegionViewsListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resourceViews = buildUnnamed1084();
+    o.resourceViews = buildUnnamed1112();
   }
   buildCounterRegionViewsListResponse--;
   return o;
@@ -151,19 +151,19 @@
   buildCounterRegionViewsListResponse++;
   if (buildCounterRegionViewsListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1084(o.resourceViews);
+    checkUnnamed1112(o.resourceViews);
   }
   buildCounterRegionViewsListResponse--;
 }
 
-buildUnnamed1085() {
+buildUnnamed1113() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1085(core.List<core.String> o) {
+checkUnnamed1113(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -174,7 +174,7 @@
   var o = new api.RegionViewsRemoveResourcesRequest();
   buildCounterRegionViewsRemoveResourcesRequest++;
   if (buildCounterRegionViewsRemoveResourcesRequest < 3) {
-    o.resources = buildUnnamed1085();
+    o.resources = buildUnnamed1113();
   }
   buildCounterRegionViewsRemoveResourcesRequest--;
   return o;
@@ -183,32 +183,32 @@
 checkRegionViewsRemoveResourcesRequest(api.RegionViewsRemoveResourcesRequest o) {
   buildCounterRegionViewsRemoveResourcesRequest++;
   if (buildCounterRegionViewsRemoveResourcesRequest < 3) {
-    checkUnnamed1085(o.resources);
+    checkUnnamed1113(o.resources);
   }
   buildCounterRegionViewsRemoveResourcesRequest--;
 }
 
-buildUnnamed1086() {
+buildUnnamed1114() {
   var o = new core.List<api.Label>();
   o.add(buildLabel());
   o.add(buildLabel());
   return o;
 }
 
-checkUnnamed1086(core.List<api.Label> o) {
+checkUnnamed1114(core.List<api.Label> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkLabel(o[0]);
   checkLabel(o[1]);
 }
 
-buildUnnamed1087() {
+buildUnnamed1115() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1087(core.List<core.String> o) {
+checkUnnamed1115(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -223,9 +223,9 @@
     o.description = "foo";
     o.id = "foo";
     o.kind = "foo";
-    o.labels = buildUnnamed1086();
+    o.labels = buildUnnamed1114();
     o.lastModified = "foo";
-    o.members = buildUnnamed1087();
+    o.members = buildUnnamed1115();
     o.name = "foo";
     o.numMembers = 42;
     o.selfLink = "foo";
@@ -241,9 +241,9 @@
     unittest.expect(o.description, unittest.equals('foo'));
     unittest.expect(o.id, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1086(o.labels);
+    checkUnnamed1114(o.labels);
     unittest.expect(o.lastModified, unittest.equals('foo'));
-    checkUnnamed1087(o.members);
+    checkUnnamed1115(o.members);
     unittest.expect(o.name, unittest.equals('foo'));
     unittest.expect(o.numMembers, unittest.equals(42));
     unittest.expect(o.selfLink, unittest.equals('foo'));
@@ -251,14 +251,14 @@
   buildCounterResourceView--;
 }
 
-buildUnnamed1088() {
+buildUnnamed1116() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1088(core.List<core.String> o) {
+checkUnnamed1116(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -269,7 +269,7 @@
   var o = new api.ZoneViewsAddResourcesRequest();
   buildCounterZoneViewsAddResourcesRequest++;
   if (buildCounterZoneViewsAddResourcesRequest < 3) {
-    o.resources = buildUnnamed1088();
+    o.resources = buildUnnamed1116();
   }
   buildCounterZoneViewsAddResourcesRequest--;
   return o;
@@ -278,7 +278,7 @@
 checkZoneViewsAddResourcesRequest(api.ZoneViewsAddResourcesRequest o) {
   buildCounterZoneViewsAddResourcesRequest++;
   if (buildCounterZoneViewsAddResourcesRequest < 3) {
-    checkUnnamed1088(o.resources);
+    checkUnnamed1116(o.resources);
   }
   buildCounterZoneViewsAddResourcesRequest--;
 }
@@ -302,14 +302,14 @@
   buildCounterZoneViewsInsertResponse--;
 }
 
-buildUnnamed1089() {
+buildUnnamed1117() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1089(core.List<core.String> o) {
+checkUnnamed1117(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -320,7 +320,7 @@
   var o = new api.ZoneViewsListResourcesResponse();
   buildCounterZoneViewsListResourcesResponse++;
   if (buildCounterZoneViewsListResourcesResponse < 3) {
-    o.members = buildUnnamed1089();
+    o.members = buildUnnamed1117();
     o.nextPageToken = "foo";
   }
   buildCounterZoneViewsListResourcesResponse--;
@@ -330,20 +330,20 @@
 checkZoneViewsListResourcesResponse(api.ZoneViewsListResourcesResponse o) {
   buildCounterZoneViewsListResourcesResponse++;
   if (buildCounterZoneViewsListResourcesResponse < 3) {
-    checkUnnamed1089(o.members);
+    checkUnnamed1117(o.members);
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
   buildCounterZoneViewsListResourcesResponse--;
 }
 
-buildUnnamed1090() {
+buildUnnamed1118() {
   var o = new core.List<api.ResourceView>();
   o.add(buildResourceView());
   o.add(buildResourceView());
   return o;
 }
 
-checkUnnamed1090(core.List<api.ResourceView> o) {
+checkUnnamed1118(core.List<api.ResourceView> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkResourceView(o[0]);
   checkResourceView(o[1]);
@@ -355,7 +355,7 @@
   buildCounterZoneViewsListResponse++;
   if (buildCounterZoneViewsListResponse < 3) {
     o.nextPageToken = "foo";
-    o.resourceViews = buildUnnamed1090();
+    o.resourceViews = buildUnnamed1118();
   }
   buildCounterZoneViewsListResponse--;
   return o;
@@ -365,19 +365,19 @@
   buildCounterZoneViewsListResponse++;
   if (buildCounterZoneViewsListResponse < 3) {
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
-    checkUnnamed1090(o.resourceViews);
+    checkUnnamed1118(o.resourceViews);
   }
   buildCounterZoneViewsListResponse--;
 }
 
-buildUnnamed1091() {
+buildUnnamed1119() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1091(core.List<core.String> o) {
+checkUnnamed1119(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -388,7 +388,7 @@
   var o = new api.ZoneViewsRemoveResourcesRequest();
   buildCounterZoneViewsRemoveResourcesRequest++;
   if (buildCounterZoneViewsRemoveResourcesRequest < 3) {
-    o.resources = buildUnnamed1091();
+    o.resources = buildUnnamed1119();
   }
   buildCounterZoneViewsRemoveResourcesRequest--;
   return o;
@@ -397,7 +397,7 @@
 checkZoneViewsRemoveResourcesRequest(api.ZoneViewsRemoveResourcesRequest o) {
   buildCounterZoneViewsRemoveResourcesRequest++;
   if (buildCounterZoneViewsRemoveResourcesRequest < 3) {
-    checkUnnamed1091(o.resources);
+    checkUnnamed1119(o.resources);
   }
   buildCounterZoneViewsRemoveResourcesRequest--;
 }
@@ -529,29 +529,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/addResources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/addResources"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -592,25 +571,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -651,25 +613,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -715,22 +660,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/resourceViews"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -774,22 +705,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/resourceViews"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -836,29 +753,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/resources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/resources"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -907,29 +803,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/regions/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("/regions/"));
-        pathOffset += 9;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_region"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/removeResources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/removeResources"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -978,29 +853,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/addResources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/addResources"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1041,25 +895,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1100,25 +937,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1164,22 +984,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/resourceViews"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1223,22 +1029,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 14), unittest.equals("/resourceViews"));
-        pathOffset += 14;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1285,29 +1077,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/resources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 10), unittest.equals("/resources"));
-        pathOffset += 10;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -1356,29 +1127,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 32), unittest.equals("/resourceviews/v1beta1/projects/"));
-        pathOffset += 32;
-        index = path.indexOf("/zones/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_projectName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/zones/"));
-        pathOffset += 7;
-        index = path.indexOf("/resourceViews/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_zone"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 15), unittest.equals("/resourceViews/"));
-        pathOffset += 15;
-        index = path.indexOf("/removeResources", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_resourceViewName"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.equals("/removeResources"));
-        pathOffset += 16;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/generated/googleapis_beta/test/sqladmin/v1beta3_test.dart b/generated/googleapis_beta/test/sqladmin/v1beta3_test.dart
index ce18a5b..1c0642b 100644
--- a/generated/googleapis_beta/test/sqladmin/v1beta3_test.dart
+++ b/generated/googleapis_beta/test/sqladmin/v1beta3_test.dart
@@ -78,14 +78,14 @@
   buildCounterBackupRun--;
 }
 
-buildUnnamed1033() {
+buildUnnamed1061() {
   var o = new core.List<api.BackupRun>();
   o.add(buildBackupRun());
   o.add(buildBackupRun());
   return o;
 }
 
-checkUnnamed1033(core.List<api.BackupRun> o) {
+checkUnnamed1061(core.List<api.BackupRun> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBackupRun(o[0]);
   checkBackupRun(o[1]);
@@ -96,7 +96,7 @@
   var o = new api.BackupRunsListResponse();
   buildCounterBackupRunsListResponse++;
   if (buildCounterBackupRunsListResponse < 3) {
-    o.items = buildUnnamed1033();
+    o.items = buildUnnamed1061();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -107,7 +107,7 @@
 checkBackupRunsListResponse(api.BackupRunsListResponse o) {
   buildCounterBackupRunsListResponse++;
   if (buildCounterBackupRunsListResponse < 3) {
-    checkUnnamed1033(o.items);
+    checkUnnamed1061(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -183,27 +183,27 @@
   buildCounterDatabaseFlags--;
 }
 
-buildUnnamed1034() {
+buildUnnamed1062() {
   var o = new core.List<api.IpMapping>();
   o.add(buildIpMapping());
   o.add(buildIpMapping());
   return o;
 }
 
-checkUnnamed1034(core.List<api.IpMapping> o) {
+checkUnnamed1062(core.List<api.IpMapping> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkIpMapping(o[0]);
   checkIpMapping(o[1]);
 }
 
-buildUnnamed1035() {
+buildUnnamed1063() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1035(core.List<core.String> o) {
+checkUnnamed1063(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -219,13 +219,13 @@
     o.etag = "foo";
     o.instance = "foo";
     o.instanceType = "foo";
-    o.ipAddresses = buildUnnamed1034();
+    o.ipAddresses = buildUnnamed1062();
     o.kind = "foo";
     o.masterInstanceName = "foo";
     o.maxDiskSize = "foo";
     o.project = "foo";
     o.region = "foo";
-    o.replicaNames = buildUnnamed1035();
+    o.replicaNames = buildUnnamed1063();
     o.serverCaCert = buildSslCert();
     o.settings = buildSettings();
     o.state = "foo";
@@ -242,13 +242,13 @@
     unittest.expect(o.etag, unittest.equals('foo'));
     unittest.expect(o.instance, unittest.equals('foo'));
     unittest.expect(o.instanceType, unittest.equals('foo'));
-    checkUnnamed1034(o.ipAddresses);
+    checkUnnamed1062(o.ipAddresses);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.masterInstanceName, unittest.equals('foo'));
     unittest.expect(o.maxDiskSize, unittest.equals('foo'));
     unittest.expect(o.project, unittest.equals('foo'));
     unittest.expect(o.region, unittest.equals('foo'));
-    checkUnnamed1035(o.replicaNames);
+    checkUnnamed1063(o.replicaNames);
     checkSslCert(o.serverCaCert);
     checkSettings(o.settings);
     unittest.expect(o.state, unittest.equals('foo'));
@@ -256,27 +256,27 @@
   buildCounterDatabaseInstance--;
 }
 
-buildUnnamed1036() {
+buildUnnamed1064() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1036(core.List<core.String> o) {
+checkUnnamed1064(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1037() {
+buildUnnamed1065() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1037(core.List<core.String> o) {
+checkUnnamed1065(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -287,9 +287,9 @@
   var o = new api.ExportContext();
   buildCounterExportContext++;
   if (buildCounterExportContext < 3) {
-    o.database = buildUnnamed1036();
+    o.database = buildUnnamed1064();
     o.kind = "foo";
-    o.table = buildUnnamed1037();
+    o.table = buildUnnamed1065();
     o.uri = "foo";
   }
   buildCounterExportContext--;
@@ -299,35 +299,35 @@
 checkExportContext(api.ExportContext o) {
   buildCounterExportContext++;
   if (buildCounterExportContext < 3) {
-    checkUnnamed1036(o.database);
+    checkUnnamed1064(o.database);
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1037(o.table);
+    checkUnnamed1065(o.table);
     unittest.expect(o.uri, unittest.equals('foo'));
   }
   buildCounterExportContext--;
 }
 
-buildUnnamed1038() {
+buildUnnamed1066() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1038(core.List<core.String> o) {
+checkUnnamed1066(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1039() {
+buildUnnamed1067() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1039(core.List<core.String> o) {
+checkUnnamed1067(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -338,8 +338,8 @@
   var o = new api.Flag();
   buildCounterFlag++;
   if (buildCounterFlag < 3) {
-    o.allowedStringValues = buildUnnamed1038();
-    o.appliesTo = buildUnnamed1039();
+    o.allowedStringValues = buildUnnamed1066();
+    o.appliesTo = buildUnnamed1067();
     o.kind = "foo";
     o.maxValue = "foo";
     o.minValue = "foo";
@@ -353,8 +353,8 @@
 checkFlag(api.Flag o) {
   buildCounterFlag++;
   if (buildCounterFlag < 3) {
-    checkUnnamed1038(o.allowedStringValues);
-    checkUnnamed1039(o.appliesTo);
+    checkUnnamed1066(o.allowedStringValues);
+    checkUnnamed1067(o.appliesTo);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.maxValue, unittest.equals('foo'));
     unittest.expect(o.minValue, unittest.equals('foo'));
@@ -364,14 +364,14 @@
   buildCounterFlag--;
 }
 
-buildUnnamed1040() {
+buildUnnamed1068() {
   var o = new core.List<api.Flag>();
   o.add(buildFlag());
   o.add(buildFlag());
   return o;
 }
 
-checkUnnamed1040(core.List<api.Flag> o) {
+checkUnnamed1068(core.List<api.Flag> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkFlag(o[0]);
   checkFlag(o[1]);
@@ -382,7 +382,7 @@
   var o = new api.FlagsListResponse();
   buildCounterFlagsListResponse++;
   if (buildCounterFlagsListResponse < 3) {
-    o.items = buildUnnamed1040();
+    o.items = buildUnnamed1068();
     o.kind = "foo";
   }
   buildCounterFlagsListResponse--;
@@ -392,20 +392,20 @@
 checkFlagsListResponse(api.FlagsListResponse o) {
   buildCounterFlagsListResponse++;
   if (buildCounterFlagsListResponse < 3) {
-    checkUnnamed1040(o.items);
+    checkUnnamed1068(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterFlagsListResponse--;
 }
 
-buildUnnamed1041() {
+buildUnnamed1069() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1041(core.List<core.String> o) {
+checkUnnamed1069(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -418,7 +418,7 @@
   if (buildCounterImportContext < 3) {
     o.database = "foo";
     o.kind = "foo";
-    o.uri = buildUnnamed1041();
+    o.uri = buildUnnamed1069();
   }
   buildCounterImportContext--;
   return o;
@@ -429,19 +429,19 @@
   if (buildCounterImportContext < 3) {
     unittest.expect(o.database, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1041(o.uri);
+    checkUnnamed1069(o.uri);
   }
   buildCounterImportContext--;
 }
 
-buildUnnamed1042() {
+buildUnnamed1070() {
   var o = new core.List<api.OperationError>();
   o.add(buildOperationError());
   o.add(buildOperationError());
   return o;
 }
 
-checkUnnamed1042(core.List<api.OperationError> o) {
+checkUnnamed1070(core.List<api.OperationError> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkOperationError(o[0]);
   checkOperationError(o[1]);
@@ -454,7 +454,7 @@
   if (buildCounterInstanceOperation < 3) {
     o.endTime = core.DateTime.parse("2002-02-27T14:01:02");
     o.enqueuedTime = core.DateTime.parse("2002-02-27T14:01:02");
-    o.error = buildUnnamed1042();
+    o.error = buildUnnamed1070();
     o.exportContext = buildExportContext();
     o.importContext = buildImportContext();
     o.instance = "foo";
@@ -474,7 +474,7 @@
   if (buildCounterInstanceOperation < 3) {
     unittest.expect(o.endTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
     unittest.expect(o.enqueuedTime, unittest.equals(core.DateTime.parse("2002-02-27T14:01:02")));
-    checkUnnamed1042(o.error);
+    checkUnnamed1070(o.error);
     checkExportContext(o.exportContext);
     checkImportContext(o.importContext);
     unittest.expect(o.instance, unittest.equals('foo'));
@@ -669,14 +669,14 @@
   buildCounterInstancesInsertResponse--;
 }
 
-buildUnnamed1043() {
+buildUnnamed1071() {
   var o = new core.List<api.DatabaseInstance>();
   o.add(buildDatabaseInstance());
   o.add(buildDatabaseInstance());
   return o;
 }
 
-checkUnnamed1043(core.List<api.DatabaseInstance> o) {
+checkUnnamed1071(core.List<api.DatabaseInstance> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatabaseInstance(o[0]);
   checkDatabaseInstance(o[1]);
@@ -687,7 +687,7 @@
   var o = new api.InstancesListResponse();
   buildCounterInstancesListResponse++;
   if (buildCounterInstancesListResponse < 3) {
-    o.items = buildUnnamed1043();
+    o.items = buildUnnamed1071();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -698,7 +698,7 @@
 checkInstancesListResponse(api.InstancesListResponse o) {
   buildCounterInstancesListResponse++;
   if (buildCounterInstancesListResponse < 3) {
-    checkUnnamed1043(o.items);
+    checkUnnamed1071(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -831,14 +831,14 @@
   buildCounterInstancesUpdateResponse--;
 }
 
-buildUnnamed1044() {
+buildUnnamed1072() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1044(core.List<core.String> o) {
+checkUnnamed1072(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -849,7 +849,7 @@
   var o = new api.IpConfiguration();
   buildCounterIpConfiguration++;
   if (buildCounterIpConfiguration < 3) {
-    o.authorizedNetworks = buildUnnamed1044();
+    o.authorizedNetworks = buildUnnamed1072();
     o.enabled = true;
     o.requireSsl = true;
   }
@@ -860,7 +860,7 @@
 checkIpConfiguration(api.IpConfiguration o) {
   buildCounterIpConfiguration++;
   if (buildCounterIpConfiguration < 3) {
-    checkUnnamed1044(o.authorizedNetworks);
+    checkUnnamed1072(o.authorizedNetworks);
     unittest.expect(o.enabled, unittest.isTrue);
     unittest.expect(o.requireSsl, unittest.isTrue);
   }
@@ -932,14 +932,14 @@
   buildCounterOperationError--;
 }
 
-buildUnnamed1045() {
+buildUnnamed1073() {
   var o = new core.List<api.InstanceOperation>();
   o.add(buildInstanceOperation());
   o.add(buildInstanceOperation());
   return o;
 }
 
-checkUnnamed1045(core.List<api.InstanceOperation> o) {
+checkUnnamed1073(core.List<api.InstanceOperation> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkInstanceOperation(o[0]);
   checkInstanceOperation(o[1]);
@@ -950,7 +950,7 @@
   var o = new api.OperationsListResponse();
   buildCounterOperationsListResponse++;
   if (buildCounterOperationsListResponse < 3) {
-    o.items = buildUnnamed1045();
+    o.items = buildUnnamed1073();
     o.kind = "foo";
     o.nextPageToken = "foo";
   }
@@ -961,7 +961,7 @@
 checkOperationsListResponse(api.OperationsListResponse o) {
   buildCounterOperationsListResponse++;
   if (buildCounterOperationsListResponse < 3) {
-    checkUnnamed1045(o.items);
+    checkUnnamed1073(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
     unittest.expect(o.nextPageToken, unittest.equals('foo'));
   }
@@ -989,40 +989,40 @@
   buildCounterSetRootPasswordContext--;
 }
 
-buildUnnamed1046() {
+buildUnnamed1074() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1046(core.List<core.String> o) {
+checkUnnamed1074(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1047() {
+buildUnnamed1075() {
   var o = new core.List<api.BackupConfiguration>();
   o.add(buildBackupConfiguration());
   o.add(buildBackupConfiguration());
   return o;
 }
 
-checkUnnamed1047(core.List<api.BackupConfiguration> o) {
+checkUnnamed1075(core.List<api.BackupConfiguration> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkBackupConfiguration(o[0]);
   checkBackupConfiguration(o[1]);
 }
 
-buildUnnamed1048() {
+buildUnnamed1076() {
   var o = new core.List<api.DatabaseFlags>();
   o.add(buildDatabaseFlags());
   o.add(buildDatabaseFlags());
   return o;
 }
 
-checkUnnamed1048(core.List<api.DatabaseFlags> o) {
+checkUnnamed1076(core.List<api.DatabaseFlags> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkDatabaseFlags(o[0]);
   checkDatabaseFlags(o[1]);
@@ -1034,9 +1034,9 @@
   buildCounterSettings++;
   if (buildCounterSettings < 3) {
     o.activationPolicy = "foo";
-    o.authorizedGaeApplications = buildUnnamed1046();
-    o.backupConfiguration = buildUnnamed1047();
-    o.databaseFlags = buildUnnamed1048();
+    o.authorizedGaeApplications = buildUnnamed1074();
+    o.backupConfiguration = buildUnnamed1075();
+    o.databaseFlags = buildUnnamed1076();
     o.databaseReplicationEnabled = true;
     o.ipConfiguration = buildIpConfiguration();
     o.kind = "foo";
@@ -1054,9 +1054,9 @@
   buildCounterSettings++;
   if (buildCounterSettings < 3) {
     unittest.expect(o.activationPolicy, unittest.equals('foo'));
-    checkUnnamed1046(o.authorizedGaeApplications);
-    checkUnnamed1047(o.backupConfiguration);
-    checkUnnamed1048(o.databaseFlags);
+    checkUnnamed1074(o.authorizedGaeApplications);
+    checkUnnamed1075(o.backupConfiguration);
+    checkUnnamed1076(o.databaseFlags);
     unittest.expect(o.databaseReplicationEnabled, unittest.isTrue);
     checkIpConfiguration(o.ipConfiguration);
     unittest.expect(o.kind, unittest.equals('foo'));
@@ -1186,14 +1186,14 @@
   buildCounterSslCertsInsertResponse--;
 }
 
-buildUnnamed1049() {
+buildUnnamed1077() {
   var o = new core.List<api.SslCert>();
   o.add(buildSslCert());
   o.add(buildSslCert());
   return o;
 }
 
-checkUnnamed1049(core.List<api.SslCert> o) {
+checkUnnamed1077(core.List<api.SslCert> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkSslCert(o[0]);
   checkSslCert(o[1]);
@@ -1204,7 +1204,7 @@
   var o = new api.SslCertsListResponse();
   buildCounterSslCertsListResponse++;
   if (buildCounterSslCertsListResponse < 3) {
-    o.items = buildUnnamed1049();
+    o.items = buildUnnamed1077();
     o.kind = "foo";
   }
   buildCounterSslCertsListResponse--;
@@ -1214,20 +1214,20 @@
 checkSslCertsListResponse(api.SslCertsListResponse o) {
   buildCounterSslCertsListResponse++;
   if (buildCounterSslCertsListResponse < 3) {
-    checkUnnamed1049(o.items);
+    checkUnnamed1077(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterSslCertsListResponse--;
 }
 
-buildUnnamed1050() {
+buildUnnamed1078() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1050(core.List<core.String> o) {
+checkUnnamed1078(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -1241,7 +1241,7 @@
     o.DiskQuota = "foo";
     o.RAM = "foo";
     o.kind = "foo";
-    o.region = buildUnnamed1050();
+    o.region = buildUnnamed1078();
     o.tier = "foo";
   }
   buildCounterTier--;
@@ -1254,20 +1254,20 @@
     unittest.expect(o.DiskQuota, unittest.equals('foo'));
     unittest.expect(o.RAM, unittest.equals('foo'));
     unittest.expect(o.kind, unittest.equals('foo'));
-    checkUnnamed1050(o.region);
+    checkUnnamed1078(o.region);
     unittest.expect(o.tier, unittest.equals('foo'));
   }
   buildCounterTier--;
 }
 
-buildUnnamed1051() {
+buildUnnamed1079() {
   var o = new core.List<api.Tier>();
   o.add(buildTier());
   o.add(buildTier());
   return o;
 }
 
-checkUnnamed1051(core.List<api.Tier> o) {
+checkUnnamed1079(core.List<api.Tier> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTier(o[0]);
   checkTier(o[1]);
@@ -1278,7 +1278,7 @@
   var o = new api.TiersListResponse();
   buildCounterTiersListResponse++;
   if (buildCounterTiersListResponse < 3) {
-    o.items = buildUnnamed1051();
+    o.items = buildUnnamed1079();
     o.kind = "foo";
   }
   buildCounterTiersListResponse--;
@@ -1288,7 +1288,7 @@
 checkTiersListResponse(api.TiersListResponse o) {
   buildCounterTiersListResponse++;
   if (buildCounterTiersListResponse < 3) {
-    checkUnnamed1051(o.items);
+    checkUnnamed1079(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTiersListResponse--;
@@ -1697,8 +1697,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -1763,8 +1765,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -1827,8 +1831,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 5), unittest.equals("flags"));
         pathOffset += 5;
 
@@ -1879,8 +1885,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/clone", pathOffset);
@@ -1931,8 +1939,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -1990,8 +2000,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2049,8 +2061,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2108,8 +2122,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2170,8 +2186,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances", pathOffset);
@@ -2223,8 +2241,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances", pathOffset);
@@ -2281,8 +2301,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2336,8 +2358,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2395,8 +2419,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2454,8 +2480,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2515,8 +2543,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2580,8 +2610,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2643,8 +2675,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2703,8 +2737,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2767,8 +2803,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2833,8 +2871,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2896,8 +2936,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -2962,8 +3004,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -3021,8 +3065,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/instances/", pathOffset);
@@ -3083,8 +3129,10 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 13), unittest.equals("/sql/v1beta3/"));
-        pathOffset += 13;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
+        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("sql/v1beta3/"));
+        pathOffset += 12;
         unittest.expect(path.substring(pathOffset, pathOffset + 9), unittest.equals("projects/"));
         pathOffset += 9;
         index = path.indexOf("/tiers", pathOffset);
diff --git a/generated/googleapis_beta/test/taskqueue/v1beta2_test.dart b/generated/googleapis_beta/test/taskqueue/v1beta2_test.dart
index 1a855f9..24fd751 100644
--- a/generated/googleapis_beta/test/taskqueue/v1beta2_test.dart
+++ b/generated/googleapis_beta/test/taskqueue/v1beta2_test.dart
@@ -49,40 +49,40 @@
   buildCounterTask--;
 }
 
-buildUnnamed1077() {
+buildUnnamed1105() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1077(core.List<core.String> o) {
+checkUnnamed1105(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1078() {
+buildUnnamed1106() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1078(core.List<core.String> o) {
+checkUnnamed1106(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
 }
 
-buildUnnamed1079() {
+buildUnnamed1107() {
   var o = new core.List<core.String>();
   o.add("foo");
   o.add("foo");
   return o;
 }
 
-checkUnnamed1079(core.List<core.String> o) {
+checkUnnamed1107(core.List<core.String> o) {
   unittest.expect(o, unittest.hasLength(2));
   unittest.expect(o[0], unittest.equals('foo'));
   unittest.expect(o[1], unittest.equals('foo'));
@@ -93,9 +93,9 @@
   var o = new api.TaskQueueAcl();
   buildCounterTaskQueueAcl++;
   if (buildCounterTaskQueueAcl < 3) {
-    o.adminEmails = buildUnnamed1077();
-    o.consumerEmails = buildUnnamed1078();
-    o.producerEmails = buildUnnamed1079();
+    o.adminEmails = buildUnnamed1105();
+    o.consumerEmails = buildUnnamed1106();
+    o.producerEmails = buildUnnamed1107();
   }
   buildCounterTaskQueueAcl--;
   return o;
@@ -104,9 +104,9 @@
 checkTaskQueueAcl(api.TaskQueueAcl o) {
   buildCounterTaskQueueAcl++;
   if (buildCounterTaskQueueAcl < 3) {
-    checkUnnamed1077(o.adminEmails);
-    checkUnnamed1078(o.consumerEmails);
-    checkUnnamed1079(o.producerEmails);
+    checkUnnamed1105(o.adminEmails);
+    checkUnnamed1106(o.consumerEmails);
+    checkUnnamed1107(o.producerEmails);
   }
   buildCounterTaskQueueAcl--;
 }
@@ -163,14 +163,14 @@
   buildCounterTaskQueue--;
 }
 
-buildUnnamed1080() {
+buildUnnamed1108() {
   var o = new core.List<api.Task>();
   o.add(buildTask());
   o.add(buildTask());
   return o;
 }
 
-checkUnnamed1080(core.List<api.Task> o) {
+checkUnnamed1108(core.List<api.Task> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTask(o[0]);
   checkTask(o[1]);
@@ -181,7 +181,7 @@
   var o = new api.Tasks();
   buildCounterTasks++;
   if (buildCounterTasks < 3) {
-    o.items = buildUnnamed1080();
+    o.items = buildUnnamed1108();
     o.kind = "foo";
   }
   buildCounterTasks--;
@@ -191,20 +191,20 @@
 checkTasks(api.Tasks o) {
   buildCounterTasks++;
   if (buildCounterTasks < 3) {
-    checkUnnamed1080(o.items);
+    checkUnnamed1108(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTasks--;
 }
 
-buildUnnamed1081() {
+buildUnnamed1109() {
   var o = new core.List<api.Task>();
   o.add(buildTask());
   o.add(buildTask());
   return o;
 }
 
-checkUnnamed1081(core.List<api.Task> o) {
+checkUnnamed1109(core.List<api.Task> o) {
   unittest.expect(o, unittest.hasLength(2));
   checkTask(o[0]);
   checkTask(o[1]);
@@ -215,7 +215,7 @@
   var o = new api.Tasks2();
   buildCounterTasks2++;
   if (buildCounterTasks2 < 3) {
-    o.items = buildUnnamed1081();
+    o.items = buildUnnamed1109();
     o.kind = "foo";
   }
   buildCounterTasks2--;
@@ -225,7 +225,7 @@
 checkTasks2(api.Tasks2 o) {
   buildCounterTasks2++;
   if (buildCounterTasks2 < 3) {
-    checkUnnamed1081(o.items);
+    checkUnnamed1109(o.items);
     unittest.expect(o.kind, unittest.equals('foo'));
   }
   buildCounterTasks2--;
@@ -300,18 +300,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -359,25 +349,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/tasks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_task"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -418,25 +391,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/tasks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_task"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -482,22 +438,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/tasks"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -543,22 +485,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks/lease", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/tasks/lease"));
-        pathOffset += 12;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -604,22 +532,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equals("/tasks"));
-        pathOffset += 6;
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -667,25 +581,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/tasks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_task"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
@@ -734,25 +631,8 @@
         var pathOffset = 0;
         var index;
         var subPart;
-        unittest.expect(path.substring(pathOffset, pathOffset + 28), unittest.equals("/taskqueue/v1beta2/projects/"));
-        pathOffset += 28;
-        index = path.indexOf("/taskqueues/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_project"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.equals("/taskqueues/"));
-        pathOffset += 12;
-        index = path.indexOf("/tasks/", pathOffset);
-        unittest.expect(index >= 0, unittest.isTrue);
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index));
-        pathOffset = index;
-        unittest.expect(subPart, unittest.equals("$arg_taskqueue"));
-        unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equals("/tasks/"));
-        pathOffset += 7;
-        subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset));
-        pathOffset = path.length;
-        unittest.expect(subPart, unittest.equals("$arg_task"));
+        unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
+        pathOffset += 1;
 
         var query = (req.url).query;
         var queryOffset = 0;
diff --git a/pubspec.lock b/pubspec.lock
index f79939b..b21eda4 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,18 +5,6 @@
     description: args
     source: hosted
     version: "0.11.0+1"
-  asn1lib:
-    description: asn1lib
-    source: hosted
-    version: "0.3.2"
-  bignum:
-    description: bignum
-    source: hosted
-    version: "0.0.6"
-  cipher:
-    description: cipher
-    source: hosted
-    version: "0.7.1"
   collection:
     description: collection
     source: hosted
@@ -27,23 +15,11 @@
     version: "0.9.0"
   discovery_api_client_generator:
     description:
-      ref: "161e09c032d8fd3d42474120921f6ac9add66370"
-      resolved-ref: "161e09c032d8fd3d42474120921f6ac9add66370"
+      ref: "00b3043ef8e7c9269df63a93cf0f34f209657cb4"
+      resolved-ref: "00b3043ef8e7c9269df63a93cf0f34f209657cb4"
       url: "https://github.com/dart-lang/discovery_api_dart_client_generator"
     source: git
     version: "0.5.1-dev"
-  fixnum:
-    description: fixnum
-    source: hosted
-    version: "0.9.0"
-  google_discovery_v1_api:
-    description: google_discovery_v1_api
-    source: hosted
-    version: "0.4.13"
-  google_oauth2_client:
-    description: google_oauth2_client
-    source: hosted
-    version: "0.3.9"
   http:
     description: http
     source: hosted
@@ -52,22 +28,10 @@
     description: http_parser
     source: hosted
     version: "0.0.2+5"
-  json_web_token:
-    description: json_web_token
-    source: hosted
-    version: "0.1.3"
-  oauth2:
-    description: oauth2
-    source: hosted
-    version: "0.9.3"
   path:
     description: path
     source: hosted
     version: "1.3.0"
-  rsa_pkcs:
-    description: rsa_pkcs
-    source: hosted
-    version: "0.1.1"
   source_span:
     description: source_span
     source: hosted
diff --git a/pubspec.yaml b/pubspec.yaml
index f079cd8..3302406 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -6,5 +6,5 @@
   discovery_api_client_generator:
     git:
       url: https://github.com/dart-lang/discovery_api_dart_client_generator
-      ref: 161e09c032d8fd3d42474120921f6ac9add66370
+      ref: 00b3043ef8e7c9269df63a93cf0f34f209657cb4
     version: ">=0.5.0 <0.6.0"
diff --git a/resources/googleapis/CHANGELOG.md b/resources/googleapis/CHANGELOG.md
index 85f6c15..17d617f 100644
--- a/resources/googleapis/CHANGELOG.md
+++ b/resources/googleapis/CHANGELOG.md
@@ -1,3 +1,16 @@
+## 0.2.0
+
+* [apis] admin:directory: additional schemas/methods
+* [apis] admin:reports_v1: schema changes
+* [apis] androidpublisher:v2: additional schemas/methods
+* [apis] drive:v2: schema changes
+* [apis] identitytoolkit:v3: schema changes
+* [apis] mirror:v1: schema changes
+* [apis-breaking] mapsengine:v1: major changes (additional schemas/methods)
+* [apis-breaking] prediction:v1.6: double -> String change
+* [generator] Bugfix in resumable media uploader.
+* [generator] Bugfix json decoding optimization.
+
 ## 0.1.1
 
 * [apis] Added Discovery API
diff --git a/resources/googleapis_beta/CHANGELOG.md b/resources/googleapis_beta/CHANGELOG.md
index e01e4e7..9954163 100644
--- a/resources/googleapis_beta/CHANGELOG.md
+++ b/resources/googleapis_beta/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 0.2.0
+
+* [apis] autoscaler:v1beta2: schema changes
+* [apis] datastore:v1beta2: new API scopes, more descriptions
+* [apis] manager:v1beta2: schema changes
+* [apis-breaking] genomics:v1beta: major changes (method argument changes, schema renames, method removals/additions)
+* [generator] Bugfix in resumable media uploader.
+
 ## 0.1.1
 
 * [generator] Make shorter descriptions in pubspec.yaml: Only list api:version tuples.