@googlemaps/solar 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/protos/google/maps/solar/v1/solar_service.proto +66 -4
- package/build/protos/protos.d.ts +135 -0
- package/build/protos/protos.js +1 -1
- package/build/protos/protos.json +42 -0
- package/build/src/v1/index.js.map +1 -1
- package/build/src/v1/solar_client.d.ts +18 -2
- package/build/src/v1/solar_client.js +5 -5
- package/build/src/v1/solar_client.js.map +1 -1
- package/package.json +1 -6
package/build/protos/protos.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(global,factory){if(typeof define==="function"&&define.amd)define(["protobufjs/minimal"],factory);else if(typeof require==="function"&&typeof module==="object"&&module&&module.exports)module.exports=factory(require("google-gax/build/src/protobuf").protobufMinimal)})(this,function($protobuf){"use strict";var $Reader=$protobuf.Reader,$Writer=$protobuf.Writer,$util=$protobuf.util;var $root=$protobuf.roots._googlemaps_solar_protos||($protobuf.roots._googlemaps_solar_protos={});$root.google=function(){var google={};google.maps=function(){var maps={};maps.solar=function(){var solar={};solar.v1=function(){var v1={};v1.Solar=function(){function Solar(rpcImpl,requestDelimited,responseDelimited){$protobuf.rpc.Service.call(this,rpcImpl,requestDelimited,responseDelimited)}(Solar.prototype=Object.create($protobuf.rpc.Service.prototype)).constructor=Solar;Solar.create=function create(rpcImpl,requestDelimited,responseDelimited){return new this(rpcImpl,requestDelimited,responseDelimited)};Object.defineProperty(Solar.prototype.findClosestBuildingInsights=function findClosestBuildingInsights(request,callback){return this.rpcCall(findClosestBuildingInsights,$root.google.maps.solar.v1.FindClosestBuildingInsightsRequest,$root.google.maps.solar.v1.BuildingInsights,request,callback)},"name",{value:"FindClosestBuildingInsights"});Object.defineProperty(Solar.prototype.getDataLayers=function getDataLayers(request,callback){return this.rpcCall(getDataLayers,$root.google.maps.solar.v1.GetDataLayersRequest,$root.google.maps.solar.v1.DataLayers,request,callback)},"name",{value:"GetDataLayers"});Object.defineProperty(Solar.prototype.getGeoTiff=function getGeoTiff(request,callback){return this.rpcCall(getGeoTiff,$root.google.maps.solar.v1.GetGeoTiffRequest,$root.google.api.HttpBody,request,callback)},"name",{value:"GetGeoTiff"});return Solar}();v1.FindClosestBuildingInsightsRequest=function(){function FindClosestBuildingInsightsRequest(properties){this.experiments=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FindClosestBuildingInsightsRequest.prototype.location=null;FindClosestBuildingInsightsRequest.prototype.requiredQuality=0;FindClosestBuildingInsightsRequest.prototype.exactQualityRequired=false;FindClosestBuildingInsightsRequest.prototype.experiments=$util.emptyArray;FindClosestBuildingInsightsRequest.create=function create(properties){return new FindClosestBuildingInsightsRequest(properties)};FindClosestBuildingInsightsRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&Object.hasOwnProperty.call(message,"location"))$root.google.type.LatLng.encode(message.location,writer.uint32(10).fork()).ldelim();if(message.requiredQuality!=null&&Object.hasOwnProperty.call(message,"requiredQuality"))writer.uint32(24).int32(message.requiredQuality);if(message.exactQualityRequired!=null&&Object.hasOwnProperty.call(message,"exactQualityRequired"))writer.uint32(32).bool(message.exactQualityRequired);if(message.experiments!=null&&message.experiments.length){writer.uint32(42).fork();for(var i=0;i<message.experiments.length;++i)writer.int32(message.experiments[i]);writer.ldelim()}return writer};FindClosestBuildingInsightsRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FindClosestBuildingInsightsRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.location=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.requiredQuality=reader.int32();break}case 4:{message.exactQualityRequired=reader.bool();break}case 5:{if(!(message.experiments&&message.experiments.length))message.experiments=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.experiments.push(reader.int32())}else message.experiments.push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};FindClosestBuildingInsightsRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FindClosestBuildingInsightsRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){var error=$root.google.type.LatLng.verify(message.location,long+1);if(error)return"location."+error}if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))switch(message.requiredQuality){default:return"requiredQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))if(typeof message.exactQualityRequired!=="boolean")return"exactQualityRequired: boolean expected";if(message.experiments!=null&&message.hasOwnProperty("experiments")){if(!Array.isArray(message.experiments))return"experiments: array expected";for(var i=0;i<message.experiments.length;++i)switch(message.experiments[i]){default:return"experiments: enum value[] expected";case 0:case 1:break}}return null};FindClosestBuildingInsightsRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest;if(object.location!=null){if(typeof object.location!=="object")throw TypeError(".google.maps.solar.v1.FindClosestBuildingInsightsRequest.location: object expected");message.location=$root.google.type.LatLng.fromObject(object.location,long+1)}switch(object.requiredQuality){default:if(typeof object.requiredQuality==="number"){message.requiredQuality=object.requiredQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.requiredQuality=0;break;case"HIGH":case 1:message.requiredQuality=1;break;case"MEDIUM":case 2:message.requiredQuality=2;break;case"LOW":case 3:message.requiredQuality=3;break;case"BASE":case 4:message.requiredQuality=4;break}if(object.exactQualityRequired!=null)message.exactQualityRequired=Boolean(object.exactQualityRequired);if(object.experiments){if(!Array.isArray(object.experiments))throw TypeError(".google.maps.solar.v1.FindClosestBuildingInsightsRequest.experiments: array expected");message.experiments=[];for(var i=0;i<object.experiments.length;++i)switch(object.experiments[i]){default:if(typeof object.experiments[i]==="number"){message.experiments[i]=object.experiments[i];break}case"EXPERIMENT_UNSPECIFIED":case 0:message.experiments[i]=0;break;case"EXPANDED_COVERAGE":case 1:message.experiments[i]=1;break}}return message};FindClosestBuildingInsightsRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.experiments=[];if(options.defaults){object.location=null;object.requiredQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.exactQualityRequired=false}if(message.location!=null&&message.hasOwnProperty("location"))object.location=$root.google.type.LatLng.toObject(message.location,options);if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))object.requiredQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]===undefined?message.requiredQuality:$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]:message.requiredQuality;if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))object.exactQualityRequired=message.exactQualityRequired;if(message.experiments&&message.experiments.length){object.experiments=[];for(var j=0;j<message.experiments.length;++j)object.experiments[j]=options.enums===String?$root.google.maps.solar.v1.Experiment[message.experiments[j]]===undefined?message.experiments[j]:$root.google.maps.solar.v1.Experiment[message.experiments[j]]:message.experiments[j]}return object};FindClosestBuildingInsightsRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FindClosestBuildingInsightsRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FindClosestBuildingInsightsRequest"};return FindClosestBuildingInsightsRequest}();v1.LatLngBox=function(){function LatLngBox(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LatLngBox.prototype.sw=null;LatLngBox.prototype.ne=null;LatLngBox.create=function create(properties){return new LatLngBox(properties)};LatLngBox.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.sw!=null&&Object.hasOwnProperty.call(message,"sw"))$root.google.type.LatLng.encode(message.sw,writer.uint32(10).fork()).ldelim();if(message.ne!=null&&Object.hasOwnProperty.call(message,"ne"))$root.google.type.LatLng.encode(message.ne,writer.uint32(18).fork()).ldelim();return writer};LatLngBox.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LatLngBox.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.LatLngBox;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.sw=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.ne=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LatLngBox.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LatLngBox.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.sw!=null&&message.hasOwnProperty("sw")){var error=$root.google.type.LatLng.verify(message.sw,long+1);if(error)return"sw."+error}if(message.ne!=null&&message.hasOwnProperty("ne")){var error=$root.google.type.LatLng.verify(message.ne,long+1);if(error)return"ne."+error}return null};LatLngBox.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.LatLngBox)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.LatLngBox;if(object.sw!=null){if(typeof object.sw!=="object")throw TypeError(".google.maps.solar.v1.LatLngBox.sw: object expected");message.sw=$root.google.type.LatLng.fromObject(object.sw,long+1)}if(object.ne!=null){if(typeof object.ne!=="object")throw TypeError(".google.maps.solar.v1.LatLngBox.ne: object expected");message.ne=$root.google.type.LatLng.fromObject(object.ne,long+1)}return message};LatLngBox.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.sw=null;object.ne=null}if(message.sw!=null&&message.hasOwnProperty("sw"))object.sw=$root.google.type.LatLng.toObject(message.sw,options);if(message.ne!=null&&message.hasOwnProperty("ne"))object.ne=$root.google.type.LatLng.toObject(message.ne,options);return object};LatLngBox.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LatLngBox.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.LatLngBox"};return LatLngBox}();v1.BuildingInsights=function(){function BuildingInsights(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BuildingInsights.prototype.name="";BuildingInsights.prototype.center=null;BuildingInsights.prototype.boundingBox=null;BuildingInsights.prototype.imageryDate=null;BuildingInsights.prototype.imageryProcessedDate=null;BuildingInsights.prototype.postalCode="";BuildingInsights.prototype.administrativeArea="";BuildingInsights.prototype.statisticalArea="";BuildingInsights.prototype.regionCode="";BuildingInsights.prototype.solarPotential=null;BuildingInsights.prototype.imageryQuality=0;BuildingInsights.create=function create(properties){return new BuildingInsights(properties)};BuildingInsights.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(18).fork()).ldelim();if(message.imageryDate!=null&&Object.hasOwnProperty.call(message,"imageryDate"))$root.google.type.Date.encode(message.imageryDate,writer.uint32(26).fork()).ldelim();if(message.postalCode!=null&&Object.hasOwnProperty.call(message,"postalCode"))writer.uint32(34).string(message.postalCode);if(message.administrativeArea!=null&&Object.hasOwnProperty.call(message,"administrativeArea"))writer.uint32(42).string(message.administrativeArea);if(message.statisticalArea!=null&&Object.hasOwnProperty.call(message,"statisticalArea"))writer.uint32(50).string(message.statisticalArea);if(message.regionCode!=null&&Object.hasOwnProperty.call(message,"regionCode"))writer.uint32(58).string(message.regionCode);if(message.solarPotential!=null&&Object.hasOwnProperty.call(message,"solarPotential"))$root.google.maps.solar.v1.SolarPotential.encode(message.solarPotential,writer.uint32(66).fork()).ldelim();if(message.boundingBox!=null&&Object.hasOwnProperty.call(message,"boundingBox"))$root.google.maps.solar.v1.LatLngBox.encode(message.boundingBox,writer.uint32(74).fork()).ldelim();if(message.imageryQuality!=null&&Object.hasOwnProperty.call(message,"imageryQuality"))writer.uint32(80).int32(message.imageryQuality);if(message.imageryProcessedDate!=null&&Object.hasOwnProperty.call(message,"imageryProcessedDate"))$root.google.type.Date.encode(message.imageryProcessedDate,writer.uint32(90).fork()).ldelim();return writer};BuildingInsights.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BuildingInsights.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.BuildingInsights;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.boundingBox=$root.google.maps.solar.v1.LatLngBox.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.imageryDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 11:{message.imageryProcessedDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.postalCode=reader.string();break}case 5:{message.administrativeArea=reader.string();break}case 6:{message.statisticalArea=reader.string();break}case 7:{message.regionCode=reader.string();break}case 8:{message.solarPotential=$root.google.maps.solar.v1.SolarPotential.decode(reader,reader.uint32(),undefined,long+1);break}case 10:{message.imageryQuality=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};BuildingInsights.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BuildingInsights.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox")){var error=$root.google.maps.solar.v1.LatLngBox.verify(message.boundingBox,long+1);if(error)return"boundingBox."+error}if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate")){var error=$root.google.type.Date.verify(message.imageryDate,long+1);if(error)return"imageryDate."+error}if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate")){var error=$root.google.type.Date.verify(message.imageryProcessedDate,long+1);if(error)return"imageryProcessedDate."+error}if(message.postalCode!=null&&message.hasOwnProperty("postalCode"))if(!$util.isString(message.postalCode))return"postalCode: string expected";if(message.administrativeArea!=null&&message.hasOwnProperty("administrativeArea"))if(!$util.isString(message.administrativeArea))return"administrativeArea: string expected";if(message.statisticalArea!=null&&message.hasOwnProperty("statisticalArea"))if(!$util.isString(message.statisticalArea))return"statisticalArea: string expected";if(message.regionCode!=null&&message.hasOwnProperty("regionCode"))if(!$util.isString(message.regionCode))return"regionCode: string expected";if(message.solarPotential!=null&&message.hasOwnProperty("solarPotential")){var error=$root.google.maps.solar.v1.SolarPotential.verify(message.solarPotential,long+1);if(error)return"solarPotential."+error}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))switch(message.imageryQuality){default:return"imageryQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null};BuildingInsights.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.BuildingInsights)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.BuildingInsights;if(object.name!=null)message.name=String(object.name);if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}if(object.boundingBox!=null){if(typeof object.boundingBox!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.boundingBox: object expected");message.boundingBox=$root.google.maps.solar.v1.LatLngBox.fromObject(object.boundingBox,long+1)}if(object.imageryDate!=null){if(typeof object.imageryDate!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.imageryDate: object expected");message.imageryDate=$root.google.type.Date.fromObject(object.imageryDate,long+1)}if(object.imageryProcessedDate!=null){if(typeof object.imageryProcessedDate!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.imageryProcessedDate: object expected");message.imageryProcessedDate=$root.google.type.Date.fromObject(object.imageryProcessedDate,long+1)}if(object.postalCode!=null)message.postalCode=String(object.postalCode);if(object.administrativeArea!=null)message.administrativeArea=String(object.administrativeArea);if(object.statisticalArea!=null)message.statisticalArea=String(object.statisticalArea);if(object.regionCode!=null)message.regionCode=String(object.regionCode);if(object.solarPotential!=null){if(typeof object.solarPotential!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.solarPotential: object expected");message.solarPotential=$root.google.maps.solar.v1.SolarPotential.fromObject(object.solarPotential,long+1)}switch(object.imageryQuality){default:if(typeof object.imageryQuality==="number"){message.imageryQuality=object.imageryQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.imageryQuality=0;break;case"HIGH":case 1:message.imageryQuality=1;break;case"MEDIUM":case 2:message.imageryQuality=2;break;case"LOW":case 3:message.imageryQuality=3;break;case"BASE":case 4:message.imageryQuality=4;break}return message};BuildingInsights.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.center=null;object.imageryDate=null;object.postalCode="";object.administrativeArea="";object.statisticalArea="";object.regionCode="";object.solarPotential=null;object.boundingBox=null;object.imageryQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.imageryProcessedDate=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate"))object.imageryDate=$root.google.type.Date.toObject(message.imageryDate,options);if(message.postalCode!=null&&message.hasOwnProperty("postalCode"))object.postalCode=message.postalCode;if(message.administrativeArea!=null&&message.hasOwnProperty("administrativeArea"))object.administrativeArea=message.administrativeArea;if(message.statisticalArea!=null&&message.hasOwnProperty("statisticalArea"))object.statisticalArea=message.statisticalArea;if(message.regionCode!=null&&message.hasOwnProperty("regionCode"))object.regionCode=message.regionCode;if(message.solarPotential!=null&&message.hasOwnProperty("solarPotential"))object.solarPotential=$root.google.maps.solar.v1.SolarPotential.toObject(message.solarPotential,options);if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox"))object.boundingBox=$root.google.maps.solar.v1.LatLngBox.toObject(message.boundingBox,options);if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))object.imageryQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]===undefined?message.imageryQuality:$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]:message.imageryQuality;if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate"))object.imageryProcessedDate=$root.google.type.Date.toObject(message.imageryProcessedDate,options);return object};BuildingInsights.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BuildingInsights.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.BuildingInsights"};return BuildingInsights}();v1.SolarPotential=function(){function SolarPotential(properties){this.roofSegmentStats=[];this.solarPanels=[];this.solarPanelConfigs=[];this.financialAnalyses=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPotential.prototype.maxArrayPanelsCount=0;SolarPotential.prototype.panelCapacityWatts=0;SolarPotential.prototype.panelHeightMeters=0;SolarPotential.prototype.panelWidthMeters=0;SolarPotential.prototype.panelLifetimeYears=0;SolarPotential.prototype.maxArrayAreaMeters2=0;SolarPotential.prototype.maxSunshineHoursPerYear=0;SolarPotential.prototype.carbonOffsetFactorKgPerMwh=0;SolarPotential.prototype.wholeRoofStats=null;SolarPotential.prototype.buildingStats=null;SolarPotential.prototype.roofSegmentStats=$util.emptyArray;SolarPotential.prototype.solarPanels=$util.emptyArray;SolarPotential.prototype.solarPanelConfigs=$util.emptyArray;SolarPotential.prototype.financialAnalyses=$util.emptyArray;SolarPotential.create=function create(properties){return new SolarPotential(properties)};SolarPotential.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.maxArrayPanelsCount!=null&&Object.hasOwnProperty.call(message,"maxArrayPanelsCount"))writer.uint32(8).int32(message.maxArrayPanelsCount);if(message.maxArrayAreaMeters2!=null&&Object.hasOwnProperty.call(message,"maxArrayAreaMeters2"))writer.uint32(21).float(message.maxArrayAreaMeters2);if(message.maxSunshineHoursPerYear!=null&&Object.hasOwnProperty.call(message,"maxSunshineHoursPerYear"))writer.uint32(29).float(message.maxSunshineHoursPerYear);if(message.carbonOffsetFactorKgPerMwh!=null&&Object.hasOwnProperty.call(message,"carbonOffsetFactorKgPerMwh"))writer.uint32(37).float(message.carbonOffsetFactorKgPerMwh);if(message.wholeRoofStats!=null&&Object.hasOwnProperty.call(message,"wholeRoofStats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.wholeRoofStats,writer.uint32(42).fork()).ldelim();if(message.roofSegmentStats!=null&&message.roofSegmentStats.length)for(var i=0;i<message.roofSegmentStats.length;++i)$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.encode(message.roofSegmentStats[i],writer.uint32(50).fork()).ldelim();if(message.solarPanelConfigs!=null&&message.solarPanelConfigs.length)for(var i=0;i<message.solarPanelConfigs.length;++i)$root.google.maps.solar.v1.SolarPanelConfig.encode(message.solarPanelConfigs[i],writer.uint32(58).fork()).ldelim();if(message.financialAnalyses!=null&&message.financialAnalyses.length)for(var i=0;i<message.financialAnalyses.length;++i)$root.google.maps.solar.v1.FinancialAnalysis.encode(message.financialAnalyses[i],writer.uint32(66).fork()).ldelim();if(message.panelCapacityWatts!=null&&Object.hasOwnProperty.call(message,"panelCapacityWatts"))writer.uint32(77).float(message.panelCapacityWatts);if(message.panelHeightMeters!=null&&Object.hasOwnProperty.call(message,"panelHeightMeters"))writer.uint32(85).float(message.panelHeightMeters);if(message.panelWidthMeters!=null&&Object.hasOwnProperty.call(message,"panelWidthMeters"))writer.uint32(93).float(message.panelWidthMeters);if(message.panelLifetimeYears!=null&&Object.hasOwnProperty.call(message,"panelLifetimeYears"))writer.uint32(96).int32(message.panelLifetimeYears);if(message.buildingStats!=null&&Object.hasOwnProperty.call(message,"buildingStats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.buildingStats,writer.uint32(106).fork()).ldelim();if(message.solarPanels!=null&&message.solarPanels.length)for(var i=0;i<message.solarPanels.length;++i)$root.google.maps.solar.v1.SolarPanel.encode(message.solarPanels[i],writer.uint32(114).fork()).ldelim();return writer};SolarPotential.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPotential.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPotential;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.maxArrayPanelsCount=reader.int32();break}case 9:{message.panelCapacityWatts=reader.float();break}case 10:{message.panelHeightMeters=reader.float();break}case 11:{message.panelWidthMeters=reader.float();break}case 12:{message.panelLifetimeYears=reader.int32();break}case 2:{message.maxArrayAreaMeters2=reader.float();break}case 3:{message.maxSunshineHoursPerYear=reader.float();break}case 4:{message.carbonOffsetFactorKgPerMwh=reader.float();break}case 5:{message.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 13:{message.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{if(!(message.roofSegmentStats&&message.roofSegmentStats.length))message.roofSegmentStats=[];message.roofSegmentStats.push($root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1));break}case 14:{if(!(message.solarPanels&&message.solarPanels.length))message.solarPanels=[];message.solarPanels.push($root.google.maps.solar.v1.SolarPanel.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{if(!(message.solarPanelConfigs&&message.solarPanelConfigs.length))message.solarPanelConfigs=[];message.solarPanelConfigs.push($root.google.maps.solar.v1.SolarPanelConfig.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{if(!(message.financialAnalyses&&message.financialAnalyses.length))message.financialAnalyses=[];message.financialAnalyses.push($root.google.maps.solar.v1.FinancialAnalysis.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SolarPotential.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPotential.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.maxArrayPanelsCount!=null&&message.hasOwnProperty("maxArrayPanelsCount"))if(!$util.isInteger(message.maxArrayPanelsCount))return"maxArrayPanelsCount: integer expected";if(message.panelCapacityWatts!=null&&message.hasOwnProperty("panelCapacityWatts"))if(typeof message.panelCapacityWatts!=="number")return"panelCapacityWatts: number expected";if(message.panelHeightMeters!=null&&message.hasOwnProperty("panelHeightMeters"))if(typeof message.panelHeightMeters!=="number")return"panelHeightMeters: number expected";if(message.panelWidthMeters!=null&&message.hasOwnProperty("panelWidthMeters"))if(typeof message.panelWidthMeters!=="number")return"panelWidthMeters: number expected";if(message.panelLifetimeYears!=null&&message.hasOwnProperty("panelLifetimeYears"))if(!$util.isInteger(message.panelLifetimeYears))return"panelLifetimeYears: integer expected";if(message.maxArrayAreaMeters2!=null&&message.hasOwnProperty("maxArrayAreaMeters2"))if(typeof message.maxArrayAreaMeters2!=="number")return"maxArrayAreaMeters2: number expected";if(message.maxSunshineHoursPerYear!=null&&message.hasOwnProperty("maxSunshineHoursPerYear"))if(typeof message.maxSunshineHoursPerYear!=="number")return"maxSunshineHoursPerYear: number expected";if(message.carbonOffsetFactorKgPerMwh!=null&&message.hasOwnProperty("carbonOffsetFactorKgPerMwh"))if(typeof message.carbonOffsetFactorKgPerMwh!=="number")return"carbonOffsetFactorKgPerMwh: number expected";if(message.wholeRoofStats!=null&&message.hasOwnProperty("wholeRoofStats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.wholeRoofStats,long+1);if(error)return"wholeRoofStats."+error}if(message.buildingStats!=null&&message.hasOwnProperty("buildingStats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.buildingStats,long+1);if(error)return"buildingStats."+error}if(message.roofSegmentStats!=null&&message.hasOwnProperty("roofSegmentStats")){if(!Array.isArray(message.roofSegmentStats))return"roofSegmentStats: array expected";for(var i=0;i<message.roofSegmentStats.length;++i){var error=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.verify(message.roofSegmentStats[i],long+1);if(error)return"roofSegmentStats."+error}}if(message.solarPanels!=null&&message.hasOwnProperty("solarPanels")){if(!Array.isArray(message.solarPanels))return"solarPanels: array expected";for(var i=0;i<message.solarPanels.length;++i){var error=$root.google.maps.solar.v1.SolarPanel.verify(message.solarPanels[i],long+1);if(error)return"solarPanels."+error}}if(message.solarPanelConfigs!=null&&message.hasOwnProperty("solarPanelConfigs")){if(!Array.isArray(message.solarPanelConfigs))return"solarPanelConfigs: array expected";for(var i=0;i<message.solarPanelConfigs.length;++i){var error=$root.google.maps.solar.v1.SolarPanelConfig.verify(message.solarPanelConfigs[i],long+1);if(error)return"solarPanelConfigs."+error}}if(message.financialAnalyses!=null&&message.hasOwnProperty("financialAnalyses")){if(!Array.isArray(message.financialAnalyses))return"financialAnalyses: array expected";for(var i=0;i<message.financialAnalyses.length;++i){var error=$root.google.maps.solar.v1.FinancialAnalysis.verify(message.financialAnalyses[i],long+1);if(error)return"financialAnalyses."+error}}return null};SolarPotential.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPotential)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPotential;if(object.maxArrayPanelsCount!=null)message.maxArrayPanelsCount=object.maxArrayPanelsCount|0;if(object.panelCapacityWatts!=null)message.panelCapacityWatts=Number(object.panelCapacityWatts);if(object.panelHeightMeters!=null)message.panelHeightMeters=Number(object.panelHeightMeters);if(object.panelWidthMeters!=null)message.panelWidthMeters=Number(object.panelWidthMeters);if(object.panelLifetimeYears!=null)message.panelLifetimeYears=object.panelLifetimeYears|0;if(object.maxArrayAreaMeters2!=null)message.maxArrayAreaMeters2=Number(object.maxArrayAreaMeters2);if(object.maxSunshineHoursPerYear!=null)message.maxSunshineHoursPerYear=Number(object.maxSunshineHoursPerYear);if(object.carbonOffsetFactorKgPerMwh!=null)message.carbonOffsetFactorKgPerMwh=Number(object.carbonOffsetFactorKgPerMwh);if(object.wholeRoofStats!=null){if(typeof object.wholeRoofStats!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.wholeRoofStats: object expected");message.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.wholeRoofStats,long+1)}if(object.buildingStats!=null){if(typeof object.buildingStats!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.buildingStats: object expected");message.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.buildingStats,long+1)}if(object.roofSegmentStats){if(!Array.isArray(object.roofSegmentStats))throw TypeError(".google.maps.solar.v1.SolarPotential.roofSegmentStats: array expected");message.roofSegmentStats=[];for(var i=0;i<object.roofSegmentStats.length;++i){if(typeof object.roofSegmentStats[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.roofSegmentStats: object expected");message.roofSegmentStats[i]=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.fromObject(object.roofSegmentStats[i],long+1)}}if(object.solarPanels){if(!Array.isArray(object.solarPanels))throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanels: array expected");message.solarPanels=[];for(var i=0;i<object.solarPanels.length;++i){if(typeof object.solarPanels[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanels: object expected");message.solarPanels[i]=$root.google.maps.solar.v1.SolarPanel.fromObject(object.solarPanels[i],long+1)}}if(object.solarPanelConfigs){if(!Array.isArray(object.solarPanelConfigs))throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanelConfigs: array expected");message.solarPanelConfigs=[];for(var i=0;i<object.solarPanelConfigs.length;++i){if(typeof object.solarPanelConfigs[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanelConfigs: object expected");message.solarPanelConfigs[i]=$root.google.maps.solar.v1.SolarPanelConfig.fromObject(object.solarPanelConfigs[i],long+1)}}if(object.financialAnalyses){if(!Array.isArray(object.financialAnalyses))throw TypeError(".google.maps.solar.v1.SolarPotential.financialAnalyses: array expected");message.financialAnalyses=[];for(var i=0;i<object.financialAnalyses.length;++i){if(typeof object.financialAnalyses[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.financialAnalyses: object expected");message.financialAnalyses[i]=$root.google.maps.solar.v1.FinancialAnalysis.fromObject(object.financialAnalyses[i],long+1)}}return message};SolarPotential.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.roofSegmentStats=[];object.solarPanelConfigs=[];object.financialAnalyses=[];object.solarPanels=[]}if(options.defaults){object.maxArrayPanelsCount=0;object.maxArrayAreaMeters2=0;object.maxSunshineHoursPerYear=0;object.carbonOffsetFactorKgPerMwh=0;object.wholeRoofStats=null;object.panelCapacityWatts=0;object.panelHeightMeters=0;object.panelWidthMeters=0;object.panelLifetimeYears=0;object.buildingStats=null}if(message.maxArrayPanelsCount!=null&&message.hasOwnProperty("maxArrayPanelsCount"))object.maxArrayPanelsCount=message.maxArrayPanelsCount;if(message.maxArrayAreaMeters2!=null&&message.hasOwnProperty("maxArrayAreaMeters2"))object.maxArrayAreaMeters2=options.json&&!isFinite(message.maxArrayAreaMeters2)?String(message.maxArrayAreaMeters2):message.maxArrayAreaMeters2;if(message.maxSunshineHoursPerYear!=null&&message.hasOwnProperty("maxSunshineHoursPerYear"))object.maxSunshineHoursPerYear=options.json&&!isFinite(message.maxSunshineHoursPerYear)?String(message.maxSunshineHoursPerYear):message.maxSunshineHoursPerYear;if(message.carbonOffsetFactorKgPerMwh!=null&&message.hasOwnProperty("carbonOffsetFactorKgPerMwh"))object.carbonOffsetFactorKgPerMwh=options.json&&!isFinite(message.carbonOffsetFactorKgPerMwh)?String(message.carbonOffsetFactorKgPerMwh):message.carbonOffsetFactorKgPerMwh;if(message.wholeRoofStats!=null&&message.hasOwnProperty("wholeRoofStats"))object.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.wholeRoofStats,options);if(message.roofSegmentStats&&message.roofSegmentStats.length){object.roofSegmentStats=[];for(var j=0;j<message.roofSegmentStats.length;++j)object.roofSegmentStats[j]=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.toObject(message.roofSegmentStats[j],options)}if(message.solarPanelConfigs&&message.solarPanelConfigs.length){object.solarPanelConfigs=[];for(var j=0;j<message.solarPanelConfigs.length;++j)object.solarPanelConfigs[j]=$root.google.maps.solar.v1.SolarPanelConfig.toObject(message.solarPanelConfigs[j],options)}if(message.financialAnalyses&&message.financialAnalyses.length){object.financialAnalyses=[];for(var j=0;j<message.financialAnalyses.length;++j)object.financialAnalyses[j]=$root.google.maps.solar.v1.FinancialAnalysis.toObject(message.financialAnalyses[j],options)}if(message.panelCapacityWatts!=null&&message.hasOwnProperty("panelCapacityWatts"))object.panelCapacityWatts=options.json&&!isFinite(message.panelCapacityWatts)?String(message.panelCapacityWatts):message.panelCapacityWatts;if(message.panelHeightMeters!=null&&message.hasOwnProperty("panelHeightMeters"))object.panelHeightMeters=options.json&&!isFinite(message.panelHeightMeters)?String(message.panelHeightMeters):message.panelHeightMeters;if(message.panelWidthMeters!=null&&message.hasOwnProperty("panelWidthMeters"))object.panelWidthMeters=options.json&&!isFinite(message.panelWidthMeters)?String(message.panelWidthMeters):message.panelWidthMeters;if(message.panelLifetimeYears!=null&&message.hasOwnProperty("panelLifetimeYears"))object.panelLifetimeYears=message.panelLifetimeYears;if(message.buildingStats!=null&&message.hasOwnProperty("buildingStats"))object.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.buildingStats,options);if(message.solarPanels&&message.solarPanels.length){object.solarPanels=[];for(var j=0;j<message.solarPanels.length;++j)object.solarPanels[j]=$root.google.maps.solar.v1.SolarPanel.toObject(message.solarPanels[j],options)}return object};SolarPotential.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPotential.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPotential"};return SolarPotential}();v1.RoofSegmentSizeAndSunshineStats=function(){function RoofSegmentSizeAndSunshineStats(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RoofSegmentSizeAndSunshineStats.prototype.pitchDegrees=null;RoofSegmentSizeAndSunshineStats.prototype.azimuthDegrees=null;RoofSegmentSizeAndSunshineStats.prototype.stats=null;RoofSegmentSizeAndSunshineStats.prototype.center=null;RoofSegmentSizeAndSunshineStats.prototype.boundingBox=null;RoofSegmentSizeAndSunshineStats.prototype.planeHeightAtCenterMeters=null;var $oneOfFields;Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_pitchDegrees",{get:$util.oneOfGetter($oneOfFields=["pitchDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_azimuthDegrees",{get:$util.oneOfGetter($oneOfFields=["azimuthDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_planeHeightAtCenterMeters",{get:$util.oneOfGetter($oneOfFields=["planeHeightAtCenterMeters"]),set:$util.oneOfSetter($oneOfFields)});RoofSegmentSizeAndSunshineStats.create=function create(properties){return new RoofSegmentSizeAndSunshineStats(properties)};RoofSegmentSizeAndSunshineStats.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.pitchDegrees!=null&&Object.hasOwnProperty.call(message,"pitchDegrees"))writer.uint32(13).float(message.pitchDegrees);if(message.azimuthDegrees!=null&&Object.hasOwnProperty.call(message,"azimuthDegrees"))writer.uint32(21).float(message.azimuthDegrees);if(message.stats!=null&&Object.hasOwnProperty.call(message,"stats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.stats,writer.uint32(26).fork()).ldelim();if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(34).fork()).ldelim();if(message.boundingBox!=null&&Object.hasOwnProperty.call(message,"boundingBox"))$root.google.maps.solar.v1.LatLngBox.encode(message.boundingBox,writer.uint32(42).fork()).ldelim();if(message.planeHeightAtCenterMeters!=null&&Object.hasOwnProperty.call(message,"planeHeightAtCenterMeters"))writer.uint32(53).float(message.planeHeightAtCenterMeters);return writer};RoofSegmentSizeAndSunshineStats.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RoofSegmentSizeAndSunshineStats.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.pitchDegrees=reader.float();break}case 2:{message.azimuthDegrees=reader.float();break}case 3:{message.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.boundingBox=$root.google.maps.solar.v1.LatLngBox.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.planeHeightAtCenterMeters=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};RoofSegmentSizeAndSunshineStats.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RoofSegmentSizeAndSunshineStats.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){properties._pitchDegrees=1;if(typeof message.pitchDegrees!=="number")return"pitchDegrees: number expected"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){properties._azimuthDegrees=1;if(typeof message.azimuthDegrees!=="number")return"azimuthDegrees: number expected"}if(message.stats!=null&&message.hasOwnProperty("stats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.stats,long+1);if(error)return"stats."+error}if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox")){var error=$root.google.maps.solar.v1.LatLngBox.verify(message.boundingBox,long+1);if(error)return"boundingBox."+error}if(message.planeHeightAtCenterMeters!=null&&message.hasOwnProperty("planeHeightAtCenterMeters")){properties._planeHeightAtCenterMeters=1;if(typeof message.planeHeightAtCenterMeters!=="number")return"planeHeightAtCenterMeters: number expected"}return null};RoofSegmentSizeAndSunshineStats.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats;if(object.pitchDegrees!=null)message.pitchDegrees=Number(object.pitchDegrees);if(object.azimuthDegrees!=null)message.azimuthDegrees=Number(object.azimuthDegrees);if(object.stats!=null){if(typeof object.stats!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.stats: object expected");message.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.stats,long+1)}if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}if(object.boundingBox!=null){if(typeof object.boundingBox!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.boundingBox: object expected");message.boundingBox=$root.google.maps.solar.v1.LatLngBox.fromObject(object.boundingBox,long+1)}if(object.planeHeightAtCenterMeters!=null)message.planeHeightAtCenterMeters=Number(object.planeHeightAtCenterMeters);return message};RoofSegmentSizeAndSunshineStats.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.stats=null;object.center=null;object.boundingBox=null}if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){object.pitchDegrees=options.json&&!isFinite(message.pitchDegrees)?String(message.pitchDegrees):message.pitchDegrees;if(options.oneofs)object._pitchDegrees="pitchDegrees"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){object.azimuthDegrees=options.json&&!isFinite(message.azimuthDegrees)?String(message.azimuthDegrees):message.azimuthDegrees;if(options.oneofs)object._azimuthDegrees="azimuthDegrees"}if(message.stats!=null&&message.hasOwnProperty("stats"))object.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.stats,options);if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox"))object.boundingBox=$root.google.maps.solar.v1.LatLngBox.toObject(message.boundingBox,options);if(message.planeHeightAtCenterMeters!=null&&message.hasOwnProperty("planeHeightAtCenterMeters")){object.planeHeightAtCenterMeters=options.json&&!isFinite(message.planeHeightAtCenterMeters)?String(message.planeHeightAtCenterMeters):message.planeHeightAtCenterMeters;if(options.oneofs)object._planeHeightAtCenterMeters="planeHeightAtCenterMeters"}return object};RoofSegmentSizeAndSunshineStats.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RoofSegmentSizeAndSunshineStats.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.RoofSegmentSizeAndSunshineStats"};return RoofSegmentSizeAndSunshineStats}();v1.SizeAndSunshineStats=function(){function SizeAndSunshineStats(properties){this.sunshineQuantiles=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SizeAndSunshineStats.prototype.areaMeters2=0;SizeAndSunshineStats.prototype.sunshineQuantiles=$util.emptyArray;SizeAndSunshineStats.prototype.groundAreaMeters2=0;SizeAndSunshineStats.create=function create(properties){return new SizeAndSunshineStats(properties)};SizeAndSunshineStats.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.areaMeters2!=null&&Object.hasOwnProperty.call(message,"areaMeters2"))writer.uint32(13).float(message.areaMeters2);if(message.sunshineQuantiles!=null&&message.sunshineQuantiles.length){writer.uint32(18).fork();for(var i=0;i<message.sunshineQuantiles.length;++i)writer.float(message.sunshineQuantiles[i]);writer.ldelim()}if(message.groundAreaMeters2!=null&&Object.hasOwnProperty.call(message,"groundAreaMeters2"))writer.uint32(29).float(message.groundAreaMeters2);return writer};SizeAndSunshineStats.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SizeAndSunshineStats.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SizeAndSunshineStats;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.areaMeters2=reader.float();break}case 2:{if(!(message.sunshineQuantiles&&message.sunshineQuantiles.length))message.sunshineQuantiles=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.sunshineQuantiles.push(reader.float())}else message.sunshineQuantiles.push(reader.float());break}case 3:{message.groundAreaMeters2=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};SizeAndSunshineStats.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SizeAndSunshineStats.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.areaMeters2!=null&&message.hasOwnProperty("areaMeters2"))if(typeof message.areaMeters2!=="number")return"areaMeters2: number expected";if(message.sunshineQuantiles!=null&&message.hasOwnProperty("sunshineQuantiles")){if(!Array.isArray(message.sunshineQuantiles))return"sunshineQuantiles: array expected";for(var i=0;i<message.sunshineQuantiles.length;++i)if(typeof message.sunshineQuantiles[i]!=="number")return"sunshineQuantiles: number[] expected"}if(message.groundAreaMeters2!=null&&message.hasOwnProperty("groundAreaMeters2"))if(typeof message.groundAreaMeters2!=="number")return"groundAreaMeters2: number expected";return null};SizeAndSunshineStats.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SizeAndSunshineStats)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SizeAndSunshineStats;if(object.areaMeters2!=null)message.areaMeters2=Number(object.areaMeters2);if(object.sunshineQuantiles){if(!Array.isArray(object.sunshineQuantiles))throw TypeError(".google.maps.solar.v1.SizeAndSunshineStats.sunshineQuantiles: array expected");message.sunshineQuantiles=[];for(var i=0;i<object.sunshineQuantiles.length;++i)message.sunshineQuantiles[i]=Number(object.sunshineQuantiles[i])}if(object.groundAreaMeters2!=null)message.groundAreaMeters2=Number(object.groundAreaMeters2);return message};SizeAndSunshineStats.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.sunshineQuantiles=[];if(options.defaults){object.areaMeters2=0;object.groundAreaMeters2=0}if(message.areaMeters2!=null&&message.hasOwnProperty("areaMeters2"))object.areaMeters2=options.json&&!isFinite(message.areaMeters2)?String(message.areaMeters2):message.areaMeters2;if(message.sunshineQuantiles&&message.sunshineQuantiles.length){object.sunshineQuantiles=[];for(var j=0;j<message.sunshineQuantiles.length;++j)object.sunshineQuantiles[j]=options.json&&!isFinite(message.sunshineQuantiles[j])?String(message.sunshineQuantiles[j]):message.sunshineQuantiles[j]}if(message.groundAreaMeters2!=null&&message.hasOwnProperty("groundAreaMeters2"))object.groundAreaMeters2=options.json&&!isFinite(message.groundAreaMeters2)?String(message.groundAreaMeters2):message.groundAreaMeters2;return object};SizeAndSunshineStats.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SizeAndSunshineStats.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SizeAndSunshineStats"};return SizeAndSunshineStats}();v1.SolarPanel=function(){function SolarPanel(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPanel.prototype.center=null;SolarPanel.prototype.orientation=0;SolarPanel.prototype.yearlyEnergyDcKwh=0;SolarPanel.prototype.segmentIndex=null;var $oneOfFields;Object.defineProperty(SolarPanel.prototype,"_segmentIndex",{get:$util.oneOfGetter($oneOfFields=["segmentIndex"]),set:$util.oneOfSetter($oneOfFields)});SolarPanel.create=function create(properties){return new SolarPanel(properties)};SolarPanel.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(10).fork()).ldelim();if(message.orientation!=null&&Object.hasOwnProperty.call(message,"orientation"))writer.uint32(16).int32(message.orientation);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(29).float(message.yearlyEnergyDcKwh);if(message.segmentIndex!=null&&Object.hasOwnProperty.call(message,"segmentIndex"))writer.uint32(32).int32(message.segmentIndex);return writer};SolarPanel.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPanel.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPanel;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.orientation=reader.int32();break}case 3:{message.yearlyEnergyDcKwh=reader.float();break}case 4:{message.segmentIndex=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};SolarPanel.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPanel.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.orientation!=null&&message.hasOwnProperty("orientation"))switch(message.orientation){default:return"orientation: enum value expected";case 0:case 1:case 2:break}if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){properties._segmentIndex=1;if(!$util.isInteger(message.segmentIndex))return"segmentIndex: integer expected"}return null};SolarPanel.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPanel)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPanel;if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.SolarPanel.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}switch(object.orientation){default:if(typeof object.orientation==="number"){message.orientation=object.orientation;break}break;case"SOLAR_PANEL_ORIENTATION_UNSPECIFIED":case 0:message.orientation=0;break;case"LANDSCAPE":case 1:message.orientation=1;break;case"PORTRAIT":case 2:message.orientation=2;break}if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.segmentIndex!=null)message.segmentIndex=object.segmentIndex|0;return message};SolarPanel.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.center=null;object.orientation=options.enums===String?"SOLAR_PANEL_ORIENTATION_UNSPECIFIED":0;object.yearlyEnergyDcKwh=0}if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.orientation!=null&&message.hasOwnProperty("orientation"))object.orientation=options.enums===String?$root.google.maps.solar.v1.SolarPanelOrientation[message.orientation]===undefined?message.orientation:$root.google.maps.solar.v1.SolarPanelOrientation[message.orientation]:message.orientation;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){object.segmentIndex=message.segmentIndex;if(options.oneofs)object._segmentIndex="segmentIndex"}return object};SolarPanel.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPanel.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPanel"};return SolarPanel}();v1.SolarPanelConfig=function(){function SolarPanelConfig(properties){this.roofSegmentSummaries=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPanelConfig.prototype.panelsCount=0;SolarPanelConfig.prototype.yearlyEnergyDcKwh=0;SolarPanelConfig.prototype.roofSegmentSummaries=$util.emptyArray;SolarPanelConfig.create=function create(properties){return new SolarPanelConfig(properties)};SolarPanelConfig.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.panelsCount!=null&&Object.hasOwnProperty.call(message,"panelsCount"))writer.uint32(8).int32(message.panelsCount);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(21).float(message.yearlyEnergyDcKwh);if(message.roofSegmentSummaries!=null&&message.roofSegmentSummaries.length)for(var i=0;i<message.roofSegmentSummaries.length;++i)$root.google.maps.solar.v1.RoofSegmentSummary.encode(message.roofSegmentSummaries[i],writer.uint32(34).fork()).ldelim();return writer};SolarPanelConfig.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPanelConfig.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPanelConfig;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.panelsCount=reader.int32();break}case 2:{message.yearlyEnergyDcKwh=reader.float();break}case 4:{if(!(message.roofSegmentSummaries&&message.roofSegmentSummaries.length))message.roofSegmentSummaries=[];message.roofSegmentSummaries.push($root.google.maps.solar.v1.RoofSegmentSummary.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SolarPanelConfig.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPanelConfig.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))if(!$util.isInteger(message.panelsCount))return"panelsCount: integer expected";if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.roofSegmentSummaries!=null&&message.hasOwnProperty("roofSegmentSummaries")){if(!Array.isArray(message.roofSegmentSummaries))return"roofSegmentSummaries: array expected";for(var i=0;i<message.roofSegmentSummaries.length;++i){var error=$root.google.maps.solar.v1.RoofSegmentSummary.verify(message.roofSegmentSummaries[i],long+1);if(error)return"roofSegmentSummaries."+error}}return null};SolarPanelConfig.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPanelConfig)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPanelConfig;if(object.panelsCount!=null)message.panelsCount=object.panelsCount|0;if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.roofSegmentSummaries){if(!Array.isArray(object.roofSegmentSummaries))throw TypeError(".google.maps.solar.v1.SolarPanelConfig.roofSegmentSummaries: array expected");message.roofSegmentSummaries=[];for(var i=0;i<object.roofSegmentSummaries.length;++i){if(typeof object.roofSegmentSummaries[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPanelConfig.roofSegmentSummaries: object expected");message.roofSegmentSummaries[i]=$root.google.maps.solar.v1.RoofSegmentSummary.fromObject(object.roofSegmentSummaries[i],long+1)}}return message};SolarPanelConfig.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.roofSegmentSummaries=[];if(options.defaults){object.panelsCount=0;object.yearlyEnergyDcKwh=0}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))object.panelsCount=message.panelsCount;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.roofSegmentSummaries&&message.roofSegmentSummaries.length){object.roofSegmentSummaries=[];for(var j=0;j<message.roofSegmentSummaries.length;++j)object.roofSegmentSummaries[j]=$root.google.maps.solar.v1.RoofSegmentSummary.toObject(message.roofSegmentSummaries[j],options)}return object};SolarPanelConfig.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPanelConfig.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPanelConfig"};return SolarPanelConfig}();v1.RoofSegmentSummary=function(){function RoofSegmentSummary(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RoofSegmentSummary.prototype.pitchDegrees=null;RoofSegmentSummary.prototype.azimuthDegrees=null;RoofSegmentSummary.prototype.panelsCount=0;RoofSegmentSummary.prototype.yearlyEnergyDcKwh=0;RoofSegmentSummary.prototype.segmentIndex=null;var $oneOfFields;Object.defineProperty(RoofSegmentSummary.prototype,"_pitchDegrees",{get:$util.oneOfGetter($oneOfFields=["pitchDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSummary.prototype,"_azimuthDegrees",{get:$util.oneOfGetter($oneOfFields=["azimuthDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSummary.prototype,"_segmentIndex",{get:$util.oneOfGetter($oneOfFields=["segmentIndex"]),set:$util.oneOfSetter($oneOfFields)});RoofSegmentSummary.create=function create(properties){return new RoofSegmentSummary(properties)};RoofSegmentSummary.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.pitchDegrees!=null&&Object.hasOwnProperty.call(message,"pitchDegrees"))writer.uint32(21).float(message.pitchDegrees);if(message.azimuthDegrees!=null&&Object.hasOwnProperty.call(message,"azimuthDegrees"))writer.uint32(29).float(message.azimuthDegrees);if(message.panelsCount!=null&&Object.hasOwnProperty.call(message,"panelsCount"))writer.uint32(56).int32(message.panelsCount);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(69).float(message.yearlyEnergyDcKwh);if(message.segmentIndex!=null&&Object.hasOwnProperty.call(message,"segmentIndex"))writer.uint32(72).int32(message.segmentIndex);return writer};RoofSegmentSummary.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RoofSegmentSummary.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.RoofSegmentSummary;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{message.pitchDegrees=reader.float();break}case 3:{message.azimuthDegrees=reader.float();break}case 7:{message.panelsCount=reader.int32();break}case 8:{message.yearlyEnergyDcKwh=reader.float();break}case 9:{message.segmentIndex=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};RoofSegmentSummary.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RoofSegmentSummary.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){properties._pitchDegrees=1;if(typeof message.pitchDegrees!=="number")return"pitchDegrees: number expected"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){properties._azimuthDegrees=1;if(typeof message.azimuthDegrees!=="number")return"azimuthDegrees: number expected"}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))if(!$util.isInteger(message.panelsCount))return"panelsCount: integer expected";if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){properties._segmentIndex=1;if(!$util.isInteger(message.segmentIndex))return"segmentIndex: integer expected"}return null};RoofSegmentSummary.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.RoofSegmentSummary)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.RoofSegmentSummary;if(object.pitchDegrees!=null)message.pitchDegrees=Number(object.pitchDegrees);if(object.azimuthDegrees!=null)message.azimuthDegrees=Number(object.azimuthDegrees);if(object.panelsCount!=null)message.panelsCount=object.panelsCount|0;if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.segmentIndex!=null)message.segmentIndex=object.segmentIndex|0;return message};RoofSegmentSummary.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.panelsCount=0;object.yearlyEnergyDcKwh=0}if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){object.pitchDegrees=options.json&&!isFinite(message.pitchDegrees)?String(message.pitchDegrees):message.pitchDegrees;if(options.oneofs)object._pitchDegrees="pitchDegrees"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){object.azimuthDegrees=options.json&&!isFinite(message.azimuthDegrees)?String(message.azimuthDegrees):message.azimuthDegrees;if(options.oneofs)object._azimuthDegrees="azimuthDegrees"}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))object.panelsCount=message.panelsCount;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){object.segmentIndex=message.segmentIndex;if(options.oneofs)object._segmentIndex="segmentIndex"}return object};RoofSegmentSummary.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RoofSegmentSummary.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.RoofSegmentSummary"};return RoofSegmentSummary}();v1.FinancialAnalysis=function(){function FinancialAnalysis(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancialAnalysis.prototype.monthlyBill=null;FinancialAnalysis.prototype.defaultBill=false;FinancialAnalysis.prototype.averageKwhPerMonth=0;FinancialAnalysis.prototype.panelConfigIndex=null;FinancialAnalysis.prototype.financialDetails=null;FinancialAnalysis.prototype.leasingSavings=null;FinancialAnalysis.prototype.cashPurchaseSavings=null;FinancialAnalysis.prototype.financedPurchaseSavings=null;var $oneOfFields;Object.defineProperty(FinancialAnalysis.prototype,"_panelConfigIndex",{get:$util.oneOfGetter($oneOfFields=["panelConfigIndex"]),set:$util.oneOfSetter($oneOfFields)});FinancialAnalysis.create=function create(properties){return new FinancialAnalysis(properties)};FinancialAnalysis.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.monthlyBill!=null&&Object.hasOwnProperty.call(message,"monthlyBill"))$root.google.type.Money.encode(message.monthlyBill,writer.uint32(26).fork()).ldelim();if(message.defaultBill!=null&&Object.hasOwnProperty.call(message,"defaultBill"))writer.uint32(32).bool(message.defaultBill);if(message.averageKwhPerMonth!=null&&Object.hasOwnProperty.call(message,"averageKwhPerMonth"))writer.uint32(45).float(message.averageKwhPerMonth);if(message.panelConfigIndex!=null&&Object.hasOwnProperty.call(message,"panelConfigIndex"))writer.uint32(48).int32(message.panelConfigIndex);if(message.financialDetails!=null&&Object.hasOwnProperty.call(message,"financialDetails"))$root.google.maps.solar.v1.FinancialDetails.encode(message.financialDetails,writer.uint32(58).fork()).ldelim();if(message.leasingSavings!=null&&Object.hasOwnProperty.call(message,"leasingSavings"))$root.google.maps.solar.v1.LeasingSavings.encode(message.leasingSavings,writer.uint32(66).fork()).ldelim();if(message.cashPurchaseSavings!=null&&Object.hasOwnProperty.call(message,"cashPurchaseSavings"))$root.google.maps.solar.v1.CashPurchaseSavings.encode(message.cashPurchaseSavings,writer.uint32(74).fork()).ldelim();if(message.financedPurchaseSavings!=null&&Object.hasOwnProperty.call(message,"financedPurchaseSavings"))$root.google.maps.solar.v1.FinancedPurchaseSavings.encode(message.financedPurchaseSavings,writer.uint32(82).fork()).ldelim();return writer};FinancialAnalysis.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancialAnalysis.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancialAnalysis;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.monthlyBill=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.defaultBill=reader.bool();break}case 5:{message.averageKwhPerMonth=reader.float();break}case 6:{message.panelConfigIndex=reader.int32();break}case 7:{message.financialDetails=$root.google.maps.solar.v1.FinancialDetails.decode(reader,reader.uint32(),undefined,long+1);break}case 8:{message.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.decode(reader,reader.uint32(),undefined,long+1);break}case 10:{message.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FinancialAnalysis.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancialAnalysis.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.monthlyBill!=null&&message.hasOwnProperty("monthlyBill")){var error=$root.google.type.Money.verify(message.monthlyBill,long+1);if(error)return"monthlyBill."+error}if(message.defaultBill!=null&&message.hasOwnProperty("defaultBill"))if(typeof message.defaultBill!=="boolean")return"defaultBill: boolean expected";if(message.averageKwhPerMonth!=null&&message.hasOwnProperty("averageKwhPerMonth"))if(typeof message.averageKwhPerMonth!=="number")return"averageKwhPerMonth: number expected";if(message.panelConfigIndex!=null&&message.hasOwnProperty("panelConfigIndex")){properties._panelConfigIndex=1;if(!$util.isInteger(message.panelConfigIndex))return"panelConfigIndex: integer expected"}if(message.financialDetails!=null&&message.hasOwnProperty("financialDetails")){var error=$root.google.maps.solar.v1.FinancialDetails.verify(message.financialDetails,long+1);if(error)return"financialDetails."+error}if(message.leasingSavings!=null&&message.hasOwnProperty("leasingSavings")){var error=$root.google.maps.solar.v1.LeasingSavings.verify(message.leasingSavings,long+1);if(error)return"leasingSavings."+error}if(message.cashPurchaseSavings!=null&&message.hasOwnProperty("cashPurchaseSavings")){var error=$root.google.maps.solar.v1.CashPurchaseSavings.verify(message.cashPurchaseSavings,long+1);if(error)return"cashPurchaseSavings."+error}if(message.financedPurchaseSavings!=null&&message.hasOwnProperty("financedPurchaseSavings")){var error=$root.google.maps.solar.v1.FinancedPurchaseSavings.verify(message.financedPurchaseSavings,long+1);if(error)return"financedPurchaseSavings."+error}return null};FinancialAnalysis.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancialAnalysis)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancialAnalysis;if(object.monthlyBill!=null){if(typeof object.monthlyBill!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.monthlyBill: object expected");message.monthlyBill=$root.google.type.Money.fromObject(object.monthlyBill,long+1)}if(object.defaultBill!=null)message.defaultBill=Boolean(object.defaultBill);if(object.averageKwhPerMonth!=null)message.averageKwhPerMonth=Number(object.averageKwhPerMonth);if(object.panelConfigIndex!=null)message.panelConfigIndex=object.panelConfigIndex|0;if(object.financialDetails!=null){if(typeof object.financialDetails!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.financialDetails: object expected");message.financialDetails=$root.google.maps.solar.v1.FinancialDetails.fromObject(object.financialDetails,long+1)}if(object.leasingSavings!=null){if(typeof object.leasingSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.leasingSavings: object expected");message.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.fromObject(object.leasingSavings,long+1)}if(object.cashPurchaseSavings!=null){if(typeof object.cashPurchaseSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.cashPurchaseSavings: object expected");message.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.fromObject(object.cashPurchaseSavings,long+1)}if(object.financedPurchaseSavings!=null){if(typeof object.financedPurchaseSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.financedPurchaseSavings: object expected");message.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.fromObject(object.financedPurchaseSavings,long+1)}return message};FinancialAnalysis.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.monthlyBill=null;object.defaultBill=false;object.averageKwhPerMonth=0;object.financialDetails=null;object.leasingSavings=null;object.cashPurchaseSavings=null;object.financedPurchaseSavings=null}if(message.monthlyBill!=null&&message.hasOwnProperty("monthlyBill"))object.monthlyBill=$root.google.type.Money.toObject(message.monthlyBill,options);if(message.defaultBill!=null&&message.hasOwnProperty("defaultBill"))object.defaultBill=message.defaultBill;if(message.averageKwhPerMonth!=null&&message.hasOwnProperty("averageKwhPerMonth"))object.averageKwhPerMonth=options.json&&!isFinite(message.averageKwhPerMonth)?String(message.averageKwhPerMonth):message.averageKwhPerMonth;if(message.panelConfigIndex!=null&&message.hasOwnProperty("panelConfigIndex")){object.panelConfigIndex=message.panelConfigIndex;if(options.oneofs)object._panelConfigIndex="panelConfigIndex"}if(message.financialDetails!=null&&message.hasOwnProperty("financialDetails"))object.financialDetails=$root.google.maps.solar.v1.FinancialDetails.toObject(message.financialDetails,options);if(message.leasingSavings!=null&&message.hasOwnProperty("leasingSavings"))object.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.toObject(message.leasingSavings,options);if(message.cashPurchaseSavings!=null&&message.hasOwnProperty("cashPurchaseSavings"))object.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.toObject(message.cashPurchaseSavings,options);if(message.financedPurchaseSavings!=null&&message.hasOwnProperty("financedPurchaseSavings"))object.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.toObject(message.financedPurchaseSavings,options);return object};FinancialAnalysis.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancialAnalysis.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancialAnalysis"};return FinancialAnalysis}();v1.FinancialDetails=function(){function FinancialDetails(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancialDetails.prototype.initialAcKwhPerYear=0;FinancialDetails.prototype.remainingLifetimeUtilityBill=null;FinancialDetails.prototype.federalIncentive=null;FinancialDetails.prototype.stateIncentive=null;FinancialDetails.prototype.utilityIncentive=null;FinancialDetails.prototype.lifetimeSrecTotal=null;FinancialDetails.prototype.costOfElectricityWithoutSolar=null;FinancialDetails.prototype.netMeteringAllowed=false;FinancialDetails.prototype.solarPercentage=null;FinancialDetails.prototype.percentageExportedToGrid=null;var $oneOfFields;Object.defineProperty(FinancialDetails.prototype,"_solarPercentage",{get:$util.oneOfGetter($oneOfFields=["solarPercentage"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(FinancialDetails.prototype,"_percentageExportedToGrid",{get:$util.oneOfGetter($oneOfFields=["percentageExportedToGrid"]),set:$util.oneOfSetter($oneOfFields)});FinancialDetails.create=function create(properties){return new FinancialDetails(properties)};FinancialDetails.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.initialAcKwhPerYear!=null&&Object.hasOwnProperty.call(message,"initialAcKwhPerYear"))writer.uint32(13).float(message.initialAcKwhPerYear);if(message.remainingLifetimeUtilityBill!=null&&Object.hasOwnProperty.call(message,"remainingLifetimeUtilityBill"))$root.google.type.Money.encode(message.remainingLifetimeUtilityBill,writer.uint32(18).fork()).ldelim();if(message.federalIncentive!=null&&Object.hasOwnProperty.call(message,"federalIncentive"))$root.google.type.Money.encode(message.federalIncentive,writer.uint32(26).fork()).ldelim();if(message.stateIncentive!=null&&Object.hasOwnProperty.call(message,"stateIncentive"))$root.google.type.Money.encode(message.stateIncentive,writer.uint32(34).fork()).ldelim();if(message.utilityIncentive!=null&&Object.hasOwnProperty.call(message,"utilityIncentive"))$root.google.type.Money.encode(message.utilityIncentive,writer.uint32(42).fork()).ldelim();if(message.lifetimeSrecTotal!=null&&Object.hasOwnProperty.call(message,"lifetimeSrecTotal"))$root.google.type.Money.encode(message.lifetimeSrecTotal,writer.uint32(50).fork()).ldelim();if(message.costOfElectricityWithoutSolar!=null&&Object.hasOwnProperty.call(message,"costOfElectricityWithoutSolar"))$root.google.type.Money.encode(message.costOfElectricityWithoutSolar,writer.uint32(58).fork()).ldelim();if(message.netMeteringAllowed!=null&&Object.hasOwnProperty.call(message,"netMeteringAllowed"))writer.uint32(64).bool(message.netMeteringAllowed);if(message.solarPercentage!=null&&Object.hasOwnProperty.call(message,"solarPercentage"))writer.uint32(77).float(message.solarPercentage);if(message.percentageExportedToGrid!=null&&Object.hasOwnProperty.call(message,"percentageExportedToGrid"))writer.uint32(85).float(message.percentageExportedToGrid);return writer};FinancialDetails.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancialDetails.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancialDetails;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.initialAcKwhPerYear=reader.float();break}case 2:{message.remainingLifetimeUtilityBill=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.federalIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.stateIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.utilityIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.lifetimeSrecTotal=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 7:{message.costOfElectricityWithoutSolar=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 8:{message.netMeteringAllowed=reader.bool();break}case 9:{message.solarPercentage=reader.float();break}case 10:{message.percentageExportedToGrid=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};FinancialDetails.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancialDetails.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.initialAcKwhPerYear!=null&&message.hasOwnProperty("initialAcKwhPerYear"))if(typeof message.initialAcKwhPerYear!=="number")return"initialAcKwhPerYear: number expected";if(message.remainingLifetimeUtilityBill!=null&&message.hasOwnProperty("remainingLifetimeUtilityBill")){var error=$root.google.type.Money.verify(message.remainingLifetimeUtilityBill,long+1);if(error)return"remainingLifetimeUtilityBill."+error}if(message.federalIncentive!=null&&message.hasOwnProperty("federalIncentive")){var error=$root.google.type.Money.verify(message.federalIncentive,long+1);if(error)return"federalIncentive."+error}if(message.stateIncentive!=null&&message.hasOwnProperty("stateIncentive")){var error=$root.google.type.Money.verify(message.stateIncentive,long+1);if(error)return"stateIncentive."+error}if(message.utilityIncentive!=null&&message.hasOwnProperty("utilityIncentive")){var error=$root.google.type.Money.verify(message.utilityIncentive,long+1);if(error)return"utilityIncentive."+error}if(message.lifetimeSrecTotal!=null&&message.hasOwnProperty("lifetimeSrecTotal")){var error=$root.google.type.Money.verify(message.lifetimeSrecTotal,long+1);if(error)return"lifetimeSrecTotal."+error}if(message.costOfElectricityWithoutSolar!=null&&message.hasOwnProperty("costOfElectricityWithoutSolar")){var error=$root.google.type.Money.verify(message.costOfElectricityWithoutSolar,long+1);if(error)return"costOfElectricityWithoutSolar."+error}if(message.netMeteringAllowed!=null&&message.hasOwnProperty("netMeteringAllowed"))if(typeof message.netMeteringAllowed!=="boolean")return"netMeteringAllowed: boolean expected";if(message.solarPercentage!=null&&message.hasOwnProperty("solarPercentage")){properties._solarPercentage=1;if(typeof message.solarPercentage!=="number")return"solarPercentage: number expected"}if(message.percentageExportedToGrid!=null&&message.hasOwnProperty("percentageExportedToGrid")){properties._percentageExportedToGrid=1;if(typeof message.percentageExportedToGrid!=="number")return"percentageExportedToGrid: number expected"}return null};FinancialDetails.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancialDetails)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancialDetails;if(object.initialAcKwhPerYear!=null)message.initialAcKwhPerYear=Number(object.initialAcKwhPerYear);if(object.remainingLifetimeUtilityBill!=null){if(typeof object.remainingLifetimeUtilityBill!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.remainingLifetimeUtilityBill: object expected");message.remainingLifetimeUtilityBill=$root.google.type.Money.fromObject(object.remainingLifetimeUtilityBill,long+1)}if(object.federalIncentive!=null){if(typeof object.federalIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.federalIncentive: object expected");message.federalIncentive=$root.google.type.Money.fromObject(object.federalIncentive,long+1)}if(object.stateIncentive!=null){if(typeof object.stateIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.stateIncentive: object expected");message.stateIncentive=$root.google.type.Money.fromObject(object.stateIncentive,long+1)}if(object.utilityIncentive!=null){if(typeof object.utilityIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.utilityIncentive: object expected");message.utilityIncentive=$root.google.type.Money.fromObject(object.utilityIncentive,long+1)}if(object.lifetimeSrecTotal!=null){if(typeof object.lifetimeSrecTotal!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.lifetimeSrecTotal: object expected");message.lifetimeSrecTotal=$root.google.type.Money.fromObject(object.lifetimeSrecTotal,long+1)}if(object.costOfElectricityWithoutSolar!=null){if(typeof object.costOfElectricityWithoutSolar!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.costOfElectricityWithoutSolar: object expected");message.costOfElectricityWithoutSolar=$root.google.type.Money.fromObject(object.costOfElectricityWithoutSolar,long+1)}if(object.netMeteringAllowed!=null)message.netMeteringAllowed=Boolean(object.netMeteringAllowed);if(object.solarPercentage!=null)message.solarPercentage=Number(object.solarPercentage);if(object.percentageExportedToGrid!=null)message.percentageExportedToGrid=Number(object.percentageExportedToGrid);return message};FinancialDetails.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.initialAcKwhPerYear=0;object.remainingLifetimeUtilityBill=null;object.federalIncentive=null;object.stateIncentive=null;object.utilityIncentive=null;object.lifetimeSrecTotal=null;object.costOfElectricityWithoutSolar=null;object.netMeteringAllowed=false}if(message.initialAcKwhPerYear!=null&&message.hasOwnProperty("initialAcKwhPerYear"))object.initialAcKwhPerYear=options.json&&!isFinite(message.initialAcKwhPerYear)?String(message.initialAcKwhPerYear):message.initialAcKwhPerYear;if(message.remainingLifetimeUtilityBill!=null&&message.hasOwnProperty("remainingLifetimeUtilityBill"))object.remainingLifetimeUtilityBill=$root.google.type.Money.toObject(message.remainingLifetimeUtilityBill,options);if(message.federalIncentive!=null&&message.hasOwnProperty("federalIncentive"))object.federalIncentive=$root.google.type.Money.toObject(message.federalIncentive,options);if(message.stateIncentive!=null&&message.hasOwnProperty("stateIncentive"))object.stateIncentive=$root.google.type.Money.toObject(message.stateIncentive,options);if(message.utilityIncentive!=null&&message.hasOwnProperty("utilityIncentive"))object.utilityIncentive=$root.google.type.Money.toObject(message.utilityIncentive,options);if(message.lifetimeSrecTotal!=null&&message.hasOwnProperty("lifetimeSrecTotal"))object.lifetimeSrecTotal=$root.google.type.Money.toObject(message.lifetimeSrecTotal,options);if(message.costOfElectricityWithoutSolar!=null&&message.hasOwnProperty("costOfElectricityWithoutSolar"))object.costOfElectricityWithoutSolar=$root.google.type.Money.toObject(message.costOfElectricityWithoutSolar,options);if(message.netMeteringAllowed!=null&&message.hasOwnProperty("netMeteringAllowed"))object.netMeteringAllowed=message.netMeteringAllowed;if(message.solarPercentage!=null&&message.hasOwnProperty("solarPercentage")){object.solarPercentage=options.json&&!isFinite(message.solarPercentage)?String(message.solarPercentage):message.solarPercentage;if(options.oneofs)object._solarPercentage="solarPercentage"}if(message.percentageExportedToGrid!=null&&message.hasOwnProperty("percentageExportedToGrid")){object.percentageExportedToGrid=options.json&&!isFinite(message.percentageExportedToGrid)?String(message.percentageExportedToGrid):message.percentageExportedToGrid;if(options.oneofs)object._percentageExportedToGrid="percentageExportedToGrid"}return object};FinancialDetails.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancialDetails.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancialDetails"};return FinancialDetails}();v1.SavingsOverTime=function(){function SavingsOverTime(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SavingsOverTime.prototype.savingsYear1=null;SavingsOverTime.prototype.savingsYear20=null;SavingsOverTime.prototype.presentValueOfSavingsYear20=null;SavingsOverTime.prototype.savingsLifetime=null;SavingsOverTime.prototype.presentValueOfSavingsLifetime=null;SavingsOverTime.prototype.financiallyViable=false;SavingsOverTime.create=function create(properties){return new SavingsOverTime(properties)};SavingsOverTime.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.savingsYear1!=null&&Object.hasOwnProperty.call(message,"savingsYear1"))$root.google.type.Money.encode(message.savingsYear1,writer.uint32(10).fork()).ldelim();if(message.savingsYear20!=null&&Object.hasOwnProperty.call(message,"savingsYear20"))$root.google.type.Money.encode(message.savingsYear20,writer.uint32(18).fork()).ldelim();if(message.presentValueOfSavingsYear20!=null&&Object.hasOwnProperty.call(message,"presentValueOfSavingsYear20"))$root.google.type.Money.encode(message.presentValueOfSavingsYear20,writer.uint32(26).fork()).ldelim();if(message.financiallyViable!=null&&Object.hasOwnProperty.call(message,"financiallyViable"))writer.uint32(32).bool(message.financiallyViable);if(message.savingsLifetime!=null&&Object.hasOwnProperty.call(message,"savingsLifetime"))$root.google.type.Money.encode(message.savingsLifetime,writer.uint32(42).fork()).ldelim();if(message.presentValueOfSavingsLifetime!=null&&Object.hasOwnProperty.call(message,"presentValueOfSavingsLifetime"))$root.google.type.Money.encode(message.presentValueOfSavingsLifetime,writer.uint32(50).fork()).ldelim();return writer};SavingsOverTime.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SavingsOverTime.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SavingsOverTime;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.savingsYear1=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.savingsYear20=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.presentValueOfSavingsYear20=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.savingsLifetime=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.presentValueOfSavingsLifetime=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.financiallyViable=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};SavingsOverTime.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SavingsOverTime.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.savingsYear1!=null&&message.hasOwnProperty("savingsYear1")){var error=$root.google.type.Money.verify(message.savingsYear1,long+1);if(error)return"savingsYear1."+error}if(message.savingsYear20!=null&&message.hasOwnProperty("savingsYear20")){var error=$root.google.type.Money.verify(message.savingsYear20,long+1);if(error)return"savingsYear20."+error}if(message.presentValueOfSavingsYear20!=null&&message.hasOwnProperty("presentValueOfSavingsYear20")){var error=$root.google.type.Money.verify(message.presentValueOfSavingsYear20,long+1);if(error)return"presentValueOfSavingsYear20."+error}if(message.savingsLifetime!=null&&message.hasOwnProperty("savingsLifetime")){var error=$root.google.type.Money.verify(message.savingsLifetime,long+1);if(error)return"savingsLifetime."+error}if(message.presentValueOfSavingsLifetime!=null&&message.hasOwnProperty("presentValueOfSavingsLifetime")){var error=$root.google.type.Money.verify(message.presentValueOfSavingsLifetime,long+1);if(error)return"presentValueOfSavingsLifetime."+error}if(message.financiallyViable!=null&&message.hasOwnProperty("financiallyViable"))if(typeof message.financiallyViable!=="boolean")return"financiallyViable: boolean expected";return null};SavingsOverTime.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SavingsOverTime)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SavingsOverTime;if(object.savingsYear1!=null){if(typeof object.savingsYear1!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsYear1: object expected");message.savingsYear1=$root.google.type.Money.fromObject(object.savingsYear1,long+1)}if(object.savingsYear20!=null){if(typeof object.savingsYear20!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsYear20: object expected");message.savingsYear20=$root.google.type.Money.fromObject(object.savingsYear20,long+1)}if(object.presentValueOfSavingsYear20!=null){if(typeof object.presentValueOfSavingsYear20!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.presentValueOfSavingsYear20: object expected");message.presentValueOfSavingsYear20=$root.google.type.Money.fromObject(object.presentValueOfSavingsYear20,long+1)}if(object.savingsLifetime!=null){if(typeof object.savingsLifetime!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsLifetime: object expected");message.savingsLifetime=$root.google.type.Money.fromObject(object.savingsLifetime,long+1)}if(object.presentValueOfSavingsLifetime!=null){if(typeof object.presentValueOfSavingsLifetime!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.presentValueOfSavingsLifetime: object expected");message.presentValueOfSavingsLifetime=$root.google.type.Money.fromObject(object.presentValueOfSavingsLifetime,long+1)}if(object.financiallyViable!=null)message.financiallyViable=Boolean(object.financiallyViable);return message};SavingsOverTime.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.savingsYear1=null;object.savingsYear20=null;object.presentValueOfSavingsYear20=null;object.financiallyViable=false;object.savingsLifetime=null;object.presentValueOfSavingsLifetime=null}if(message.savingsYear1!=null&&message.hasOwnProperty("savingsYear1"))object.savingsYear1=$root.google.type.Money.toObject(message.savingsYear1,options);if(message.savingsYear20!=null&&message.hasOwnProperty("savingsYear20"))object.savingsYear20=$root.google.type.Money.toObject(message.savingsYear20,options);if(message.presentValueOfSavingsYear20!=null&&message.hasOwnProperty("presentValueOfSavingsYear20"))object.presentValueOfSavingsYear20=$root.google.type.Money.toObject(message.presentValueOfSavingsYear20,options);if(message.financiallyViable!=null&&message.hasOwnProperty("financiallyViable"))object.financiallyViable=message.financiallyViable;if(message.savingsLifetime!=null&&message.hasOwnProperty("savingsLifetime"))object.savingsLifetime=$root.google.type.Money.toObject(message.savingsLifetime,options);if(message.presentValueOfSavingsLifetime!=null&&message.hasOwnProperty("presentValueOfSavingsLifetime"))object.presentValueOfSavingsLifetime=$root.google.type.Money.toObject(message.presentValueOfSavingsLifetime,options);return object};SavingsOverTime.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SavingsOverTime.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SavingsOverTime"};return SavingsOverTime}();v1.LeasingSavings=function(){function LeasingSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LeasingSavings.prototype.leasesAllowed=false;LeasingSavings.prototype.leasesSupported=false;LeasingSavings.prototype.annualLeasingCost=null;LeasingSavings.prototype.savings=null;LeasingSavings.create=function create(properties){return new LeasingSavings(properties)};LeasingSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.leasesAllowed!=null&&Object.hasOwnProperty.call(message,"leasesAllowed"))writer.uint32(8).bool(message.leasesAllowed);if(message.leasesSupported!=null&&Object.hasOwnProperty.call(message,"leasesSupported"))writer.uint32(16).bool(message.leasesSupported);if(message.annualLeasingCost!=null&&Object.hasOwnProperty.call(message,"annualLeasingCost"))$root.google.type.Money.encode(message.annualLeasingCost,writer.uint32(26).fork()).ldelim();if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(34).fork()).ldelim();return writer};LeasingSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LeasingSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.LeasingSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.leasesAllowed=reader.bool();break}case 2:{message.leasesSupported=reader.bool();break}case 3:{message.annualLeasingCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LeasingSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LeasingSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.leasesAllowed!=null&&message.hasOwnProperty("leasesAllowed"))if(typeof message.leasesAllowed!=="boolean")return"leasesAllowed: boolean expected";if(message.leasesSupported!=null&&message.hasOwnProperty("leasesSupported"))if(typeof message.leasesSupported!=="boolean")return"leasesSupported: boolean expected";if(message.annualLeasingCost!=null&&message.hasOwnProperty("annualLeasingCost")){var error=$root.google.type.Money.verify(message.annualLeasingCost,long+1);if(error)return"annualLeasingCost."+error}if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};LeasingSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.LeasingSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.LeasingSavings;if(object.leasesAllowed!=null)message.leasesAllowed=Boolean(object.leasesAllowed);if(object.leasesSupported!=null)message.leasesSupported=Boolean(object.leasesSupported);if(object.annualLeasingCost!=null){if(typeof object.annualLeasingCost!=="object")throw TypeError(".google.maps.solar.v1.LeasingSavings.annualLeasingCost: object expected");message.annualLeasingCost=$root.google.type.Money.fromObject(object.annualLeasingCost,long+1)}if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.LeasingSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};LeasingSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.leasesAllowed=false;object.leasesSupported=false;object.annualLeasingCost=null;object.savings=null}if(message.leasesAllowed!=null&&message.hasOwnProperty("leasesAllowed"))object.leasesAllowed=message.leasesAllowed;if(message.leasesSupported!=null&&message.hasOwnProperty("leasesSupported"))object.leasesSupported=message.leasesSupported;if(message.annualLeasingCost!=null&&message.hasOwnProperty("annualLeasingCost"))object.annualLeasingCost=$root.google.type.Money.toObject(message.annualLeasingCost,options);if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};LeasingSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LeasingSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.LeasingSavings"};return LeasingSavings}();v1.CashPurchaseSavings=function(){function CashPurchaseSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CashPurchaseSavings.prototype.outOfPocketCost=null;CashPurchaseSavings.prototype.upfrontCost=null;CashPurchaseSavings.prototype.rebateValue=null;CashPurchaseSavings.prototype.paybackYears=null;CashPurchaseSavings.prototype.savings=null;var $oneOfFields;Object.defineProperty(CashPurchaseSavings.prototype,"_paybackYears",{get:$util.oneOfGetter($oneOfFields=["paybackYears"]),set:$util.oneOfSetter($oneOfFields)});CashPurchaseSavings.create=function create(properties){return new CashPurchaseSavings(properties)};CashPurchaseSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.outOfPocketCost!=null&&Object.hasOwnProperty.call(message,"outOfPocketCost"))$root.google.type.Money.encode(message.outOfPocketCost,writer.uint32(10).fork()).ldelim();if(message.upfrontCost!=null&&Object.hasOwnProperty.call(message,"upfrontCost"))$root.google.type.Money.encode(message.upfrontCost,writer.uint32(18).fork()).ldelim();if(message.rebateValue!=null&&Object.hasOwnProperty.call(message,"rebateValue"))$root.google.type.Money.encode(message.rebateValue,writer.uint32(26).fork()).ldelim();if(message.paybackYears!=null&&Object.hasOwnProperty.call(message,"paybackYears"))writer.uint32(37).float(message.paybackYears);if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(42).fork()).ldelim();return writer};CashPurchaseSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CashPurchaseSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.CashPurchaseSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.outOfPocketCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.upfrontCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.rebateValue=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.paybackYears=reader.float();break}case 5:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CashPurchaseSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CashPurchaseSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.outOfPocketCost!=null&&message.hasOwnProperty("outOfPocketCost")){var error=$root.google.type.Money.verify(message.outOfPocketCost,long+1);if(error)return"outOfPocketCost."+error}if(message.upfrontCost!=null&&message.hasOwnProperty("upfrontCost")){var error=$root.google.type.Money.verify(message.upfrontCost,long+1);if(error)return"upfrontCost."+error}if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue")){var error=$root.google.type.Money.verify(message.rebateValue,long+1);if(error)return"rebateValue."+error}if(message.paybackYears!=null&&message.hasOwnProperty("paybackYears")){properties._paybackYears=1;if(typeof message.paybackYears!=="number")return"paybackYears: number expected"}if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};CashPurchaseSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.CashPurchaseSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.CashPurchaseSavings;if(object.outOfPocketCost!=null){if(typeof object.outOfPocketCost!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.outOfPocketCost: object expected");message.outOfPocketCost=$root.google.type.Money.fromObject(object.outOfPocketCost,long+1)}if(object.upfrontCost!=null){if(typeof object.upfrontCost!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.upfrontCost: object expected");message.upfrontCost=$root.google.type.Money.fromObject(object.upfrontCost,long+1)}if(object.rebateValue!=null){if(typeof object.rebateValue!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.rebateValue: object expected");message.rebateValue=$root.google.type.Money.fromObject(object.rebateValue,long+1)}if(object.paybackYears!=null)message.paybackYears=Number(object.paybackYears);if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};CashPurchaseSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.outOfPocketCost=null;object.upfrontCost=null;object.rebateValue=null;object.savings=null}if(message.outOfPocketCost!=null&&message.hasOwnProperty("outOfPocketCost"))object.outOfPocketCost=$root.google.type.Money.toObject(message.outOfPocketCost,options);if(message.upfrontCost!=null&&message.hasOwnProperty("upfrontCost"))object.upfrontCost=$root.google.type.Money.toObject(message.upfrontCost,options);if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue"))object.rebateValue=$root.google.type.Money.toObject(message.rebateValue,options);if(message.paybackYears!=null&&message.hasOwnProperty("paybackYears")){object.paybackYears=options.json&&!isFinite(message.paybackYears)?String(message.paybackYears):message.paybackYears;if(options.oneofs)object._paybackYears="paybackYears"}if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};CashPurchaseSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CashPurchaseSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.CashPurchaseSavings"};return CashPurchaseSavings}();v1.FinancedPurchaseSavings=function(){function FinancedPurchaseSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancedPurchaseSavings.prototype.annualLoanPayment=null;FinancedPurchaseSavings.prototype.rebateValue=null;FinancedPurchaseSavings.prototype.loanInterestRate=0;FinancedPurchaseSavings.prototype.savings=null;FinancedPurchaseSavings.create=function create(properties){return new FinancedPurchaseSavings(properties)};FinancedPurchaseSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.annualLoanPayment!=null&&Object.hasOwnProperty.call(message,"annualLoanPayment"))$root.google.type.Money.encode(message.annualLoanPayment,writer.uint32(10).fork()).ldelim();if(message.rebateValue!=null&&Object.hasOwnProperty.call(message,"rebateValue"))$root.google.type.Money.encode(message.rebateValue,writer.uint32(18).fork()).ldelim();if(message.loanInterestRate!=null&&Object.hasOwnProperty.call(message,"loanInterestRate"))writer.uint32(29).float(message.loanInterestRate);if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(34).fork()).ldelim();return writer};FinancedPurchaseSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancedPurchaseSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancedPurchaseSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.annualLoanPayment=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.rebateValue=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.loanInterestRate=reader.float();break}case 4:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FinancedPurchaseSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancedPurchaseSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.annualLoanPayment!=null&&message.hasOwnProperty("annualLoanPayment")){var error=$root.google.type.Money.verify(message.annualLoanPayment,long+1);if(error)return"annualLoanPayment."+error}if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue")){var error=$root.google.type.Money.verify(message.rebateValue,long+1);if(error)return"rebateValue."+error}if(message.loanInterestRate!=null&&message.hasOwnProperty("loanInterestRate"))if(typeof message.loanInterestRate!=="number")return"loanInterestRate: number expected";if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};FinancedPurchaseSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancedPurchaseSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancedPurchaseSavings;if(object.annualLoanPayment!=null){if(typeof object.annualLoanPayment!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.annualLoanPayment: object expected");message.annualLoanPayment=$root.google.type.Money.fromObject(object.annualLoanPayment,long+1)}if(object.rebateValue!=null){if(typeof object.rebateValue!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.rebateValue: object expected");message.rebateValue=$root.google.type.Money.fromObject(object.rebateValue,long+1)}if(object.loanInterestRate!=null)message.loanInterestRate=Number(object.loanInterestRate);if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};FinancedPurchaseSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.annualLoanPayment=null;object.rebateValue=null;object.loanInterestRate=0;object.savings=null}if(message.annualLoanPayment!=null&&message.hasOwnProperty("annualLoanPayment"))object.annualLoanPayment=$root.google.type.Money.toObject(message.annualLoanPayment,options);if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue"))object.rebateValue=$root.google.type.Money.toObject(message.rebateValue,options);if(message.loanInterestRate!=null&&message.hasOwnProperty("loanInterestRate"))object.loanInterestRate=options.json&&!isFinite(message.loanInterestRate)?String(message.loanInterestRate):message.loanInterestRate;if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};FinancedPurchaseSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancedPurchaseSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancedPurchaseSavings"};return FinancedPurchaseSavings}();v1.GetDataLayersRequest=function(){function GetDataLayersRequest(properties){this.experiments=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GetDataLayersRequest.prototype.location=null;GetDataLayersRequest.prototype.radiusMeters=0;GetDataLayersRequest.prototype.view=0;GetDataLayersRequest.prototype.requiredQuality=0;GetDataLayersRequest.prototype.pixelSizeMeters=0;GetDataLayersRequest.prototype.exactQualityRequired=false;GetDataLayersRequest.prototype.experiments=$util.emptyArray;GetDataLayersRequest.create=function create(properties){return new GetDataLayersRequest(properties)};GetDataLayersRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&Object.hasOwnProperty.call(message,"location"))$root.google.type.LatLng.encode(message.location,writer.uint32(10).fork()).ldelim();if(message.radiusMeters!=null&&Object.hasOwnProperty.call(message,"radiusMeters"))writer.uint32(21).float(message.radiusMeters);if(message.view!=null&&Object.hasOwnProperty.call(message,"view"))writer.uint32(24).int32(message.view);if(message.requiredQuality!=null&&Object.hasOwnProperty.call(message,"requiredQuality"))writer.uint32(40).int32(message.requiredQuality);if(message.pixelSizeMeters!=null&&Object.hasOwnProperty.call(message,"pixelSizeMeters"))writer.uint32(53).float(message.pixelSizeMeters);if(message.exactQualityRequired!=null&&Object.hasOwnProperty.call(message,"exactQualityRequired"))writer.uint32(56).bool(message.exactQualityRequired);if(message.experiments!=null&&message.experiments.length){writer.uint32(66).fork();for(var i=0;i<message.experiments.length;++i)writer.int32(message.experiments[i]);writer.ldelim()}return writer};GetDataLayersRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GetDataLayersRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.GetDataLayersRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.location=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.radiusMeters=reader.float();break}case 3:{message.view=reader.int32();break}case 5:{message.requiredQuality=reader.int32();break}case 6:{message.pixelSizeMeters=reader.float();break}case 7:{message.exactQualityRequired=reader.bool();break}case 8:{if(!(message.experiments&&message.experiments.length))message.experiments=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.experiments.push(reader.int32())}else message.experiments.push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};GetDataLayersRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GetDataLayersRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){var error=$root.google.type.LatLng.verify(message.location,long+1);if(error)return"location."+error}if(message.radiusMeters!=null&&message.hasOwnProperty("radiusMeters"))if(typeof message.radiusMeters!=="number")return"radiusMeters: number expected";if(message.view!=null&&message.hasOwnProperty("view"))switch(message.view){default:return"view: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))switch(message.requiredQuality){default:return"requiredQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.pixelSizeMeters!=null&&message.hasOwnProperty("pixelSizeMeters"))if(typeof message.pixelSizeMeters!=="number")return"pixelSizeMeters: number expected";if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))if(typeof message.exactQualityRequired!=="boolean")return"exactQualityRequired: boolean expected";if(message.experiments!=null&&message.hasOwnProperty("experiments")){if(!Array.isArray(message.experiments))return"experiments: array expected";for(var i=0;i<message.experiments.length;++i)switch(message.experiments[i]){default:return"experiments: enum value[] expected";case 0:case 1:break}}return null};GetDataLayersRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.GetDataLayersRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.GetDataLayersRequest;if(object.location!=null){if(typeof object.location!=="object")throw TypeError(".google.maps.solar.v1.GetDataLayersRequest.location: object expected");message.location=$root.google.type.LatLng.fromObject(object.location,long+1)}if(object.radiusMeters!=null)message.radiusMeters=Number(object.radiusMeters);switch(object.view){default:if(typeof object.view==="number"){message.view=object.view;break}break;case"DATA_LAYER_VIEW_UNSPECIFIED":case 0:message.view=0;break;case"DSM_LAYER":case 1:message.view=1;break;case"IMAGERY_LAYERS":case 2:message.view=2;break;case"IMAGERY_AND_ANNUAL_FLUX_LAYERS":case 3:message.view=3;break;case"IMAGERY_AND_ALL_FLUX_LAYERS":case 4:message.view=4;break;case"FULL_LAYERS":case 5:message.view=5;break}switch(object.requiredQuality){default:if(typeof object.requiredQuality==="number"){message.requiredQuality=object.requiredQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.requiredQuality=0;break;case"HIGH":case 1:message.requiredQuality=1;break;case"MEDIUM":case 2:message.requiredQuality=2;break;case"LOW":case 3:message.requiredQuality=3;break;case"BASE":case 4:message.requiredQuality=4;break}if(object.pixelSizeMeters!=null)message.pixelSizeMeters=Number(object.pixelSizeMeters);if(object.exactQualityRequired!=null)message.exactQualityRequired=Boolean(object.exactQualityRequired);if(object.experiments){if(!Array.isArray(object.experiments))throw TypeError(".google.maps.solar.v1.GetDataLayersRequest.experiments: array expected");message.experiments=[];for(var i=0;i<object.experiments.length;++i)switch(object.experiments[i]){default:if(typeof object.experiments[i]==="number"){message.experiments[i]=object.experiments[i];break}case"EXPERIMENT_UNSPECIFIED":case 0:message.experiments[i]=0;break;case"EXPANDED_COVERAGE":case 1:message.experiments[i]=1;break}}return message};GetDataLayersRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.experiments=[];if(options.defaults){object.location=null;object.radiusMeters=0;object.view=options.enums===String?"DATA_LAYER_VIEW_UNSPECIFIED":0;object.requiredQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.pixelSizeMeters=0;object.exactQualityRequired=false}if(message.location!=null&&message.hasOwnProperty("location"))object.location=$root.google.type.LatLng.toObject(message.location,options);if(message.radiusMeters!=null&&message.hasOwnProperty("radiusMeters"))object.radiusMeters=options.json&&!isFinite(message.radiusMeters)?String(message.radiusMeters):message.radiusMeters;if(message.view!=null&&message.hasOwnProperty("view"))object.view=options.enums===String?$root.google.maps.solar.v1.DataLayerView[message.view]===undefined?message.view:$root.google.maps.solar.v1.DataLayerView[message.view]:message.view;if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))object.requiredQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]===undefined?message.requiredQuality:$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]:message.requiredQuality;if(message.pixelSizeMeters!=null&&message.hasOwnProperty("pixelSizeMeters"))object.pixelSizeMeters=options.json&&!isFinite(message.pixelSizeMeters)?String(message.pixelSizeMeters):message.pixelSizeMeters;if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))object.exactQualityRequired=message.exactQualityRequired;if(message.experiments&&message.experiments.length){object.experiments=[];for(var j=0;j<message.experiments.length;++j)object.experiments[j]=options.enums===String?$root.google.maps.solar.v1.Experiment[message.experiments[j]]===undefined?message.experiments[j]:$root.google.maps.solar.v1.Experiment[message.experiments[j]]:message.experiments[j]}return object};GetDataLayersRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GetDataLayersRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.GetDataLayersRequest"};return GetDataLayersRequest}();v1.DataLayers=function(){function DataLayers(properties){this.hourlyShadeUrls=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DataLayers.prototype.imageryDate=null;DataLayers.prototype.imageryProcessedDate=null;DataLayers.prototype.dsmUrl="";DataLayers.prototype.rgbUrl="";DataLayers.prototype.maskUrl="";DataLayers.prototype.annualFluxUrl="";DataLayers.prototype.monthlyFluxUrl="";DataLayers.prototype.hourlyShadeUrls=$util.emptyArray;DataLayers.prototype.imageryQuality=0;DataLayers.create=function create(properties){return new DataLayers(properties)};DataLayers.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.imageryDate!=null&&Object.hasOwnProperty.call(message,"imageryDate"))$root.google.type.Date.encode(message.imageryDate,writer.uint32(10).fork()).ldelim();if(message.imageryProcessedDate!=null&&Object.hasOwnProperty.call(message,"imageryProcessedDate"))$root.google.type.Date.encode(message.imageryProcessedDate,writer.uint32(18).fork()).ldelim();if(message.dsmUrl!=null&&Object.hasOwnProperty.call(message,"dsmUrl"))writer.uint32(26).string(message.dsmUrl);if(message.rgbUrl!=null&&Object.hasOwnProperty.call(message,"rgbUrl"))writer.uint32(34).string(message.rgbUrl);if(message.maskUrl!=null&&Object.hasOwnProperty.call(message,"maskUrl"))writer.uint32(42).string(message.maskUrl);if(message.annualFluxUrl!=null&&Object.hasOwnProperty.call(message,"annualFluxUrl"))writer.uint32(50).string(message.annualFluxUrl);if(message.monthlyFluxUrl!=null&&Object.hasOwnProperty.call(message,"monthlyFluxUrl"))writer.uint32(58).string(message.monthlyFluxUrl);if(message.hourlyShadeUrls!=null&&message.hourlyShadeUrls.length)for(var i=0;i<message.hourlyShadeUrls.length;++i)writer.uint32(66).string(message.hourlyShadeUrls[i]);if(message.imageryQuality!=null&&Object.hasOwnProperty.call(message,"imageryQuality"))writer.uint32(72).int32(message.imageryQuality);return writer};DataLayers.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DataLayers.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.DataLayers;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.imageryDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.imageryProcessedDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.dsmUrl=reader.string();break}case 4:{message.rgbUrl=reader.string();break}case 5:{message.maskUrl=reader.string();break}case 6:{message.annualFluxUrl=reader.string();break}case 7:{message.monthlyFluxUrl=reader.string();break}case 8:{if(!(message.hourlyShadeUrls&&message.hourlyShadeUrls.length))message.hourlyShadeUrls=[];message.hourlyShadeUrls.push(reader.string());break}case 9:{message.imageryQuality=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};DataLayers.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DataLayers.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate")){var error=$root.google.type.Date.verify(message.imageryDate,long+1);if(error)return"imageryDate."+error}if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate")){var error=$root.google.type.Date.verify(message.imageryProcessedDate,long+1);if(error)return"imageryProcessedDate."+error}if(message.dsmUrl!=null&&message.hasOwnProperty("dsmUrl"))if(!$util.isString(message.dsmUrl))return"dsmUrl: string expected";if(message.rgbUrl!=null&&message.hasOwnProperty("rgbUrl"))if(!$util.isString(message.rgbUrl))return"rgbUrl: string expected";if(message.maskUrl!=null&&message.hasOwnProperty("maskUrl"))if(!$util.isString(message.maskUrl))return"maskUrl: string expected";if(message.annualFluxUrl!=null&&message.hasOwnProperty("annualFluxUrl"))if(!$util.isString(message.annualFluxUrl))return"annualFluxUrl: string expected";if(message.monthlyFluxUrl!=null&&message.hasOwnProperty("monthlyFluxUrl"))if(!$util.isString(message.monthlyFluxUrl))return"monthlyFluxUrl: string expected";if(message.hourlyShadeUrls!=null&&message.hasOwnProperty("hourlyShadeUrls")){if(!Array.isArray(message.hourlyShadeUrls))return"hourlyShadeUrls: array expected";for(var i=0;i<message.hourlyShadeUrls.length;++i)if(!$util.isString(message.hourlyShadeUrls[i]))return"hourlyShadeUrls: string[] expected"}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))switch(message.imageryQuality){default:return"imageryQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null};DataLayers.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.DataLayers)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.DataLayers;if(object.imageryDate!=null){if(typeof object.imageryDate!=="object")throw TypeError(".google.maps.solar.v1.DataLayers.imageryDate: object expected");message.imageryDate=$root.google.type.Date.fromObject(object.imageryDate,long+1)}if(object.imageryProcessedDate!=null){if(typeof object.imageryProcessedDate!=="object")throw TypeError(".google.maps.solar.v1.DataLayers.imageryProcessedDate: object expected");message.imageryProcessedDate=$root.google.type.Date.fromObject(object.imageryProcessedDate,long+1)}if(object.dsmUrl!=null)message.dsmUrl=String(object.dsmUrl);if(object.rgbUrl!=null)message.rgbUrl=String(object.rgbUrl);if(object.maskUrl!=null)message.maskUrl=String(object.maskUrl);if(object.annualFluxUrl!=null)message.annualFluxUrl=String(object.annualFluxUrl);if(object.monthlyFluxUrl!=null)message.monthlyFluxUrl=String(object.monthlyFluxUrl);if(object.hourlyShadeUrls){if(!Array.isArray(object.hourlyShadeUrls))throw TypeError(".google.maps.solar.v1.DataLayers.hourlyShadeUrls: array expected");message.hourlyShadeUrls=[];for(var i=0;i<object.hourlyShadeUrls.length;++i)message.hourlyShadeUrls[i]=String(object.hourlyShadeUrls[i])}switch(object.imageryQuality){default:if(typeof object.imageryQuality==="number"){message.imageryQuality=object.imageryQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.imageryQuality=0;break;case"HIGH":case 1:message.imageryQuality=1;break;case"MEDIUM":case 2:message.imageryQuality=2;break;case"LOW":case 3:message.imageryQuality=3;break;case"BASE":case 4:message.imageryQuality=4;break}return message};DataLayers.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.hourlyShadeUrls=[];if(options.defaults){object.imageryDate=null;object.imageryProcessedDate=null;object.dsmUrl="";object.rgbUrl="";object.maskUrl="";object.annualFluxUrl="";object.monthlyFluxUrl="";object.imageryQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0}if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate"))object.imageryDate=$root.google.type.Date.toObject(message.imageryDate,options);if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate"))object.imageryProcessedDate=$root.google.type.Date.toObject(message.imageryProcessedDate,options);if(message.dsmUrl!=null&&message.hasOwnProperty("dsmUrl"))object.dsmUrl=message.dsmUrl;if(message.rgbUrl!=null&&message.hasOwnProperty("rgbUrl"))object.rgbUrl=message.rgbUrl;if(message.maskUrl!=null&&message.hasOwnProperty("maskUrl"))object.maskUrl=message.maskUrl;if(message.annualFluxUrl!=null&&message.hasOwnProperty("annualFluxUrl"))object.annualFluxUrl=message.annualFluxUrl;if(message.monthlyFluxUrl!=null&&message.hasOwnProperty("monthlyFluxUrl"))object.monthlyFluxUrl=message.monthlyFluxUrl;if(message.hourlyShadeUrls&&message.hourlyShadeUrls.length){object.hourlyShadeUrls=[];for(var j=0;j<message.hourlyShadeUrls.length;++j)object.hourlyShadeUrls[j]=message.hourlyShadeUrls[j]}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))object.imageryQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]===undefined?message.imageryQuality:$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]:message.imageryQuality;return object};DataLayers.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DataLayers.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.DataLayers"};return DataLayers}();v1.GetGeoTiffRequest=function(){function GetGeoTiffRequest(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GetGeoTiffRequest.prototype.id="";GetGeoTiffRequest.create=function create(properties){return new GetGeoTiffRequest(properties)};GetGeoTiffRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.id!=null&&Object.hasOwnProperty.call(message,"id"))writer.uint32(10).string(message.id);return writer};GetGeoTiffRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GetGeoTiffRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.GetGeoTiffRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.id=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};GetGeoTiffRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GetGeoTiffRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.id!=null&&message.hasOwnProperty("id"))if(!$util.isString(message.id))return"id: string expected";return null};GetGeoTiffRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.GetGeoTiffRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.GetGeoTiffRequest;if(object.id!=null)message.id=String(object.id);return message};GetGeoTiffRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.id="";if(message.id!=null&&message.hasOwnProperty("id"))object.id=message.id;return object};GetGeoTiffRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GetGeoTiffRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.GetGeoTiffRequest"};return GetGeoTiffRequest}();v1.DataLayerView=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DATA_LAYER_VIEW_UNSPECIFIED"]=0;values[valuesById[1]="DSM_LAYER"]=1;values[valuesById[2]="IMAGERY_LAYERS"]=2;values[valuesById[3]="IMAGERY_AND_ANNUAL_FLUX_LAYERS"]=3;values[valuesById[4]="IMAGERY_AND_ALL_FLUX_LAYERS"]=4;values[valuesById[5]="FULL_LAYERS"]=5;return values}();v1.ImageryQuality=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="IMAGERY_QUALITY_UNSPECIFIED"]=0;values[valuesById[1]="HIGH"]=1;values[valuesById[2]="MEDIUM"]=2;values[valuesById[3]="LOW"]=3;values[valuesById[4]="BASE"]=4;return values}();v1.SolarPanelOrientation=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="SOLAR_PANEL_ORIENTATION_UNSPECIFIED"]=0;values[valuesById[1]="LANDSCAPE"]=1;values[valuesById[2]="PORTRAIT"]=2;return values}();v1.Experiment=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="EXPERIMENT_UNSPECIFIED"]=0;values[valuesById[1]="EXPANDED_COVERAGE"]=1;return values}();return v1}();return solar}();return maps}();google.api=function(){var api={};api.Http=function(){function Http(properties){this.rules=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Http.prototype.rules=$util.emptyArray;Http.prototype.fullyDecodeReservedExpansion=false;Http.create=function create(properties){return new Http(properties)};Http.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.rules!=null&&message.rules.length)for(var i=0;i<message.rules.length;++i)$root.google.api.HttpRule.encode(message.rules[i],writer.uint32(10).fork()).ldelim();if(message.fullyDecodeReservedExpansion!=null&&Object.hasOwnProperty.call(message,"fullyDecodeReservedExpansion"))writer.uint32(16).bool(message.fullyDecodeReservedExpansion);return writer};Http.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Http.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Http;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.rules&&message.rules.length))message.rules=[];message.rules.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{message.fullyDecodeReservedExpansion=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Http.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Http.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.rules!=null&&message.hasOwnProperty("rules")){if(!Array.isArray(message.rules))return"rules: array expected";for(var i=0;i<message.rules.length;++i){var error=$root.google.api.HttpRule.verify(message.rules[i],long+1);if(error)return"rules."+error}}if(message.fullyDecodeReservedExpansion!=null&&message.hasOwnProperty("fullyDecodeReservedExpansion"))if(typeof message.fullyDecodeReservedExpansion!=="boolean")return"fullyDecodeReservedExpansion: boolean expected";return null};Http.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.Http)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Http;if(object.rules){if(!Array.isArray(object.rules))throw TypeError(".google.api.Http.rules: array expected");message.rules=[];for(var i=0;i<object.rules.length;++i){if(typeof object.rules[i]!=="object")throw TypeError(".google.api.Http.rules: object expected");message.rules[i]=$root.google.api.HttpRule.fromObject(object.rules[i],long+1)}}if(object.fullyDecodeReservedExpansion!=null)message.fullyDecodeReservedExpansion=Boolean(object.fullyDecodeReservedExpansion);return message};Http.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.rules=[];if(options.defaults)object.fullyDecodeReservedExpansion=false;if(message.rules&&message.rules.length){object.rules=[];for(var j=0;j<message.rules.length;++j)object.rules[j]=$root.google.api.HttpRule.toObject(message.rules[j],options)}if(message.fullyDecodeReservedExpansion!=null&&message.hasOwnProperty("fullyDecodeReservedExpansion"))object.fullyDecodeReservedExpansion=message.fullyDecodeReservedExpansion;return object};Http.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Http.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.Http"};return Http}();api.HttpRule=function(){function HttpRule(properties){this.additionalBindings=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}HttpRule.prototype.selector="";HttpRule.prototype.get=null;HttpRule.prototype.put=null;HttpRule.prototype.post=null;HttpRule.prototype["delete"]=null;HttpRule.prototype.patch=null;HttpRule.prototype.custom=null;HttpRule.prototype.body="";HttpRule.prototype.responseBody="";HttpRule.prototype.additionalBindings=$util.emptyArray;var $oneOfFields;Object.defineProperty(HttpRule.prototype,"pattern",{get:$util.oneOfGetter($oneOfFields=["get","put","post","delete","patch","custom"]),set:$util.oneOfSetter($oneOfFields)});HttpRule.create=function create(properties){return new HttpRule(properties)};HttpRule.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.selector!=null&&Object.hasOwnProperty.call(message,"selector"))writer.uint32(10).string(message.selector);if(message.get!=null&&Object.hasOwnProperty.call(message,"get"))writer.uint32(18).string(message.get);if(message.put!=null&&Object.hasOwnProperty.call(message,"put"))writer.uint32(26).string(message.put);if(message.post!=null&&Object.hasOwnProperty.call(message,"post"))writer.uint32(34).string(message.post);if(message["delete"]!=null&&Object.hasOwnProperty.call(message,"delete"))writer.uint32(42).string(message["delete"]);if(message.patch!=null&&Object.hasOwnProperty.call(message,"patch"))writer.uint32(50).string(message.patch);if(message.body!=null&&Object.hasOwnProperty.call(message,"body"))writer.uint32(58).string(message.body);if(message.custom!=null&&Object.hasOwnProperty.call(message,"custom"))$root.google.api.CustomHttpPattern.encode(message.custom,writer.uint32(66).fork()).ldelim();if(message.additionalBindings!=null&&message.additionalBindings.length)for(var i=0;i<message.additionalBindings.length;++i)$root.google.api.HttpRule.encode(message.additionalBindings[i],writer.uint32(90).fork()).ldelim();if(message.responseBody!=null&&Object.hasOwnProperty.call(message,"responseBody"))writer.uint32(98).string(message.responseBody);return writer};HttpRule.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};HttpRule.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.HttpRule;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.selector=reader.string();break}case 2:{message.get=reader.string();break}case 3:{message.put=reader.string();break}case 4:{message.post=reader.string();break}case 5:{message["delete"]=reader.string();break}case 6:{message.patch=reader.string();break}case 8:{message.custom=$root.google.api.CustomHttpPattern.decode(reader,reader.uint32(),undefined,long+1);break}case 7:{message.body=reader.string();break}case 12:{message.responseBody=reader.string();break}case 11:{if(!(message.additionalBindings&&message.additionalBindings.length))message.additionalBindings=[];message.additionalBindings.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};HttpRule.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};HttpRule.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.get!=null&&message.hasOwnProperty("get")){properties.pattern=1;if(!$util.isString(message.get))return"get: string expected"}if(message.put!=null&&message.hasOwnProperty("put")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.put))return"put: string expected"}if(message.post!=null&&message.hasOwnProperty("post")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.post))return"post: string expected"}if(message["delete"]!=null&&message.hasOwnProperty("delete")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message["delete"]))return"delete: string expected"}if(message.patch!=null&&message.hasOwnProperty("patch")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.patch))return"patch: string expected"}if(message.custom!=null&&message.hasOwnProperty("custom")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;{var error=$root.google.api.CustomHttpPattern.verify(message.custom,long+1);if(error)return"custom."+error}}if(message.body!=null&&message.hasOwnProperty("body"))if(!$util.isString(message.body))return"body: string expected";if(message.responseBody!=null&&message.hasOwnProperty("responseBody"))if(!$util.isString(message.responseBody))return"responseBody: string expected";if(message.additionalBindings!=null&&message.hasOwnProperty("additionalBindings")){if(!Array.isArray(message.additionalBindings))return"additionalBindings: array expected";for(var i=0;i<message.additionalBindings.length;++i){var error=$root.google.api.HttpRule.verify(message.additionalBindings[i],long+1);if(error)return"additionalBindings."+error}}return null};HttpRule.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.HttpRule)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.HttpRule;if(object.selector!=null)message.selector=String(object.selector);if(object.get!=null)message.get=String(object.get);if(object.put!=null)message.put=String(object.put);if(object.post!=null)message.post=String(object.post);if(object["delete"]!=null)message["delete"]=String(object["delete"]);if(object.patch!=null)message.patch=String(object.patch);if(object.custom!=null){if(typeof object.custom!=="object")throw TypeError(".google.api.HttpRule.custom: object expected");message.custom=$root.google.api.CustomHttpPattern.fromObject(object.custom,long+1)}if(object.body!=null)message.body=String(object.body);if(object.responseBody!=null)message.responseBody=String(object.responseBody);if(object.additionalBindings){if(!Array.isArray(object.additionalBindings))throw TypeError(".google.api.HttpRule.additionalBindings: array expected");message.additionalBindings=[];for(var i=0;i<object.additionalBindings.length;++i){if(typeof object.additionalBindings[i]!=="object")throw TypeError(".google.api.HttpRule.additionalBindings: object expected");message.additionalBindings[i]=$root.google.api.HttpRule.fromObject(object.additionalBindings[i],long+1)}}return message};HttpRule.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.additionalBindings=[];if(options.defaults){object.selector="";object.body="";object.responseBody=""}if(message.selector!=null&&message.hasOwnProperty("selector"))object.selector=message.selector;if(message.get!=null&&message.hasOwnProperty("get")){object.get=message.get;if(options.oneofs)object.pattern="get"}if(message.put!=null&&message.hasOwnProperty("put")){object.put=message.put;if(options.oneofs)object.pattern="put"}if(message.post!=null&&message.hasOwnProperty("post")){object.post=message.post;if(options.oneofs)object.pattern="post"}if(message["delete"]!=null&&message.hasOwnProperty("delete")){object["delete"]=message["delete"];if(options.oneofs)object.pattern="delete"}if(message.patch!=null&&message.hasOwnProperty("patch")){object.patch=message.patch;if(options.oneofs)object.pattern="patch"}if(message.body!=null&&message.hasOwnProperty("body"))object.body=message.body;if(message.custom!=null&&message.hasOwnProperty("custom")){object.custom=$root.google.api.CustomHttpPattern.toObject(message.custom,options);if(options.oneofs)object.pattern="custom"}if(message.additionalBindings&&message.additionalBindings.length){object.additionalBindings=[];for(var j=0;j<message.additionalBindings.length;++j)object.additionalBindings[j]=$root.google.api.HttpRule.toObject(message.additionalBindings[j],options)}if(message.responseBody!=null&&message.hasOwnProperty("responseBody"))object.responseBody=message.responseBody;return object};HttpRule.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};HttpRule.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.HttpRule"};return HttpRule}();api.CustomHttpPattern=function(){function CustomHttpPattern(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CustomHttpPattern.prototype.kind="";CustomHttpPattern.prototype.path="";CustomHttpPattern.create=function create(properties){return new CustomHttpPattern(properties)};CustomHttpPattern.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.kind!=null&&Object.hasOwnProperty.call(message,"kind"))writer.uint32(10).string(message.kind);if(message.path!=null&&Object.hasOwnProperty.call(message,"path"))writer.uint32(18).string(message.path);return writer};CustomHttpPattern.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CustomHttpPattern.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CustomHttpPattern;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.kind=reader.string();break}case 2:{message.path=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};CustomHttpPattern.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CustomHttpPattern.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.kind!=null&&message.hasOwnProperty("kind"))if(!$util.isString(message.kind))return"kind: string expected";if(message.path!=null&&message.hasOwnProperty("path"))if(!$util.isString(message.path))return"path: string expected";return null};CustomHttpPattern.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CustomHttpPattern)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CustomHttpPattern;if(object.kind!=null)message.kind=String(object.kind);if(object.path!=null)message.path=String(object.path);return message};CustomHttpPattern.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.kind="";object.path=""}if(message.kind!=null&&message.hasOwnProperty("kind"))object.kind=message.kind;if(message.path!=null&&message.hasOwnProperty("path"))object.path=message.path;return object};CustomHttpPattern.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CustomHttpPattern.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CustomHttpPattern"};return CustomHttpPattern}();api.CommonLanguageSettings=function(){function CommonLanguageSettings(properties){this.destinations=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CommonLanguageSettings.prototype.referenceDocsUri="";CommonLanguageSettings.prototype.destinations=$util.emptyArray;CommonLanguageSettings.prototype.selectiveGapicGeneration=null;CommonLanguageSettings.create=function create(properties){return new CommonLanguageSettings(properties)};CommonLanguageSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.referenceDocsUri!=null&&Object.hasOwnProperty.call(message,"referenceDocsUri"))writer.uint32(10).string(message.referenceDocsUri);if(message.destinations!=null&&message.destinations.length){writer.uint32(18).fork();for(var i=0;i<message.destinations.length;++i)writer.int32(message.destinations[i]);writer.ldelim()}if(message.selectiveGapicGeneration!=null&&Object.hasOwnProperty.call(message,"selectiveGapicGeneration"))$root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration,writer.uint32(26).fork()).ldelim();return writer};CommonLanguageSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CommonLanguageSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CommonLanguageSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.referenceDocsUri=reader.string();break}case 2:{if(!(message.destinations&&message.destinations.length))message.destinations=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.destinations.push(reader.int32())}else message.destinations.push(reader.int32());break}case 3:{message.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CommonLanguageSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CommonLanguageSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.referenceDocsUri!=null&&message.hasOwnProperty("referenceDocsUri"))if(!$util.isString(message.referenceDocsUri))return"referenceDocsUri: string expected";if(message.destinations!=null&&message.hasOwnProperty("destinations")){if(!Array.isArray(message.destinations))return"destinations: array expected";for(var i=0;i<message.destinations.length;++i)switch(message.destinations[i]){default:return"destinations: enum value[] expected";case 0:case 10:case 20:break}}if(message.selectiveGapicGeneration!=null&&message.hasOwnProperty("selectiveGapicGeneration")){var error=$root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration,long+1);if(error)return"selectiveGapicGeneration."+error}return null};CommonLanguageSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CommonLanguageSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CommonLanguageSettings;if(object.referenceDocsUri!=null)message.referenceDocsUri=String(object.referenceDocsUri);if(object.destinations){if(!Array.isArray(object.destinations))throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");message.destinations=[];for(var i=0;i<object.destinations.length;++i)switch(object.destinations[i]){default:if(typeof object.destinations[i]==="number"){message.destinations[i]=object.destinations[i];break}case"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":case 0:message.destinations[i]=0;break;case"GITHUB":case 10:message.destinations[i]=10;break;case"PACKAGE_MANAGER":case 20:message.destinations[i]=20;break}}if(object.selectiveGapicGeneration!=null){if(typeof object.selectiveGapicGeneration!=="object")throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected");message.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration,long+1)}return message};CommonLanguageSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.destinations=[];if(options.defaults){object.referenceDocsUri="";object.selectiveGapicGeneration=null}if(message.referenceDocsUri!=null&&message.hasOwnProperty("referenceDocsUri"))object.referenceDocsUri=message.referenceDocsUri;if(message.destinations&&message.destinations.length){object.destinations=[];for(var j=0;j<message.destinations.length;++j)object.destinations[j]=options.enums===String?$root.google.api.ClientLibraryDestination[message.destinations[j]]===undefined?message.destinations[j]:$root.google.api.ClientLibraryDestination[message.destinations[j]]:message.destinations[j]}if(message.selectiveGapicGeneration!=null&&message.hasOwnProperty("selectiveGapicGeneration"))object.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration,options);return object};CommonLanguageSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CommonLanguageSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CommonLanguageSettings"};return CommonLanguageSettings}();api.ClientLibrarySettings=function(){function ClientLibrarySettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ClientLibrarySettings.prototype.version="";ClientLibrarySettings.prototype.launchStage=0;ClientLibrarySettings.prototype.restNumericEnums=false;ClientLibrarySettings.prototype.javaSettings=null;ClientLibrarySettings.prototype.cppSettings=null;ClientLibrarySettings.prototype.phpSettings=null;ClientLibrarySettings.prototype.pythonSettings=null;ClientLibrarySettings.prototype.nodeSettings=null;ClientLibrarySettings.prototype.dotnetSettings=null;ClientLibrarySettings.prototype.rubySettings=null;ClientLibrarySettings.prototype.goSettings=null;ClientLibrarySettings.create=function create(properties){return new ClientLibrarySettings(properties)};ClientLibrarySettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.version!=null&&Object.hasOwnProperty.call(message,"version"))writer.uint32(10).string(message.version);if(message.launchStage!=null&&Object.hasOwnProperty.call(message,"launchStage"))writer.uint32(16).int32(message.launchStage);if(message.restNumericEnums!=null&&Object.hasOwnProperty.call(message,"restNumericEnums"))writer.uint32(24).bool(message.restNumericEnums);if(message.javaSettings!=null&&Object.hasOwnProperty.call(message,"javaSettings"))$root.google.api.JavaSettings.encode(message.javaSettings,writer.uint32(170).fork()).ldelim();if(message.cppSettings!=null&&Object.hasOwnProperty.call(message,"cppSettings"))$root.google.api.CppSettings.encode(message.cppSettings,writer.uint32(178).fork()).ldelim();if(message.phpSettings!=null&&Object.hasOwnProperty.call(message,"phpSettings"))$root.google.api.PhpSettings.encode(message.phpSettings,writer.uint32(186).fork()).ldelim();if(message.pythonSettings!=null&&Object.hasOwnProperty.call(message,"pythonSettings"))$root.google.api.PythonSettings.encode(message.pythonSettings,writer.uint32(194).fork()).ldelim();if(message.nodeSettings!=null&&Object.hasOwnProperty.call(message,"nodeSettings"))$root.google.api.NodeSettings.encode(message.nodeSettings,writer.uint32(202).fork()).ldelim();if(message.dotnetSettings!=null&&Object.hasOwnProperty.call(message,"dotnetSettings"))$root.google.api.DotnetSettings.encode(message.dotnetSettings,writer.uint32(210).fork()).ldelim();if(message.rubySettings!=null&&Object.hasOwnProperty.call(message,"rubySettings"))$root.google.api.RubySettings.encode(message.rubySettings,writer.uint32(218).fork()).ldelim();if(message.goSettings!=null&&Object.hasOwnProperty.call(message,"goSettings"))$root.google.api.GoSettings.encode(message.goSettings,writer.uint32(226).fork()).ldelim();return writer};ClientLibrarySettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ClientLibrarySettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.ClientLibrarySettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.version=reader.string();break}case 2:{message.launchStage=reader.int32();break}case 3:{message.restNumericEnums=reader.bool();break}case 21:{message.javaSettings=$root.google.api.JavaSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 22:{message.cppSettings=$root.google.api.CppSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 23:{message.phpSettings=$root.google.api.PhpSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 24:{message.pythonSettings=$root.google.api.PythonSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 25:{message.nodeSettings=$root.google.api.NodeSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 26:{message.dotnetSettings=$root.google.api.DotnetSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 27:{message.rubySettings=$root.google.api.RubySettings.decode(reader,reader.uint32(),undefined,long+1);break}case 28:{message.goSettings=$root.google.api.GoSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ClientLibrarySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ClientLibrarySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.version!=null&&message.hasOwnProperty("version"))if(!$util.isString(message.version))return"version: string expected";if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))switch(message.launchStage){default:return"launchStage: enum value expected";case 0:case 6:case 7:case 1:case 2:case 3:case 4:case 5:break}if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))if(typeof message.restNumericEnums!=="boolean")return"restNumericEnums: boolean expected";if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings")){var error=$root.google.api.JavaSettings.verify(message.javaSettings,long+1);if(error)return"javaSettings."+error}if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings")){var error=$root.google.api.CppSettings.verify(message.cppSettings,long+1);if(error)return"cppSettings."+error}if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings")){var error=$root.google.api.PhpSettings.verify(message.phpSettings,long+1);if(error)return"phpSettings."+error}if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings")){var error=$root.google.api.PythonSettings.verify(message.pythonSettings,long+1);if(error)return"pythonSettings."+error}if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings")){var error=$root.google.api.NodeSettings.verify(message.nodeSettings,long+1);if(error)return"nodeSettings."+error}if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings")){var error=$root.google.api.DotnetSettings.verify(message.dotnetSettings,long+1);if(error)return"dotnetSettings."+error}if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings")){var error=$root.google.api.RubySettings.verify(message.rubySettings,long+1);if(error)return"rubySettings."+error}if(message.goSettings!=null&&message.hasOwnProperty("goSettings")){var error=$root.google.api.GoSettings.verify(message.goSettings,long+1);if(error)return"goSettings."+error}return null};ClientLibrarySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.ClientLibrarySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.ClientLibrarySettings;if(object.version!=null)message.version=String(object.version);switch(object.launchStage){default:if(typeof object.launchStage==="number"){message.launchStage=object.launchStage;break}break;case"LAUNCH_STAGE_UNSPECIFIED":case 0:message.launchStage=0;break;case"UNIMPLEMENTED":case 6:message.launchStage=6;break;case"PRELAUNCH":case 7:message.launchStage=7;break;case"EARLY_ACCESS":case 1:message.launchStage=1;break;case"ALPHA":case 2:message.launchStage=2;break;case"BETA":case 3:message.launchStage=3;break;case"GA":case 4:message.launchStage=4;break;case"DEPRECATED":case 5:message.launchStage=5;break}if(object.restNumericEnums!=null)message.restNumericEnums=Boolean(object.restNumericEnums);if(object.javaSettings!=null){if(typeof object.javaSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");message.javaSettings=$root.google.api.JavaSettings.fromObject(object.javaSettings,long+1)}if(object.cppSettings!=null){if(typeof object.cppSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");message.cppSettings=$root.google.api.CppSettings.fromObject(object.cppSettings,long+1)}if(object.phpSettings!=null){if(typeof object.phpSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");message.phpSettings=$root.google.api.PhpSettings.fromObject(object.phpSettings,long+1)}if(object.pythonSettings!=null){if(typeof object.pythonSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");message.pythonSettings=$root.google.api.PythonSettings.fromObject(object.pythonSettings,long+1)}if(object.nodeSettings!=null){if(typeof object.nodeSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");message.nodeSettings=$root.google.api.NodeSettings.fromObject(object.nodeSettings,long+1)}if(object.dotnetSettings!=null){if(typeof object.dotnetSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");message.dotnetSettings=$root.google.api.DotnetSettings.fromObject(object.dotnetSettings,long+1)}if(object.rubySettings!=null){if(typeof object.rubySettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");message.rubySettings=$root.google.api.RubySettings.fromObject(object.rubySettings,long+1)}if(object.goSettings!=null){if(typeof object.goSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");message.goSettings=$root.google.api.GoSettings.fromObject(object.goSettings,long+1)}return message};ClientLibrarySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.version="";object.launchStage=options.enums===String?"LAUNCH_STAGE_UNSPECIFIED":0;object.restNumericEnums=false;object.javaSettings=null;object.cppSettings=null;object.phpSettings=null;object.pythonSettings=null;object.nodeSettings=null;object.dotnetSettings=null;object.rubySettings=null;object.goSettings=null}if(message.version!=null&&message.hasOwnProperty("version"))object.version=message.version;if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))object.launchStage=options.enums===String?$root.google.api.LaunchStage[message.launchStage]===undefined?message.launchStage:$root.google.api.LaunchStage[message.launchStage]:message.launchStage;if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))object.restNumericEnums=message.restNumericEnums;if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings"))object.javaSettings=$root.google.api.JavaSettings.toObject(message.javaSettings,options);if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings"))object.cppSettings=$root.google.api.CppSettings.toObject(message.cppSettings,options);if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings"))object.phpSettings=$root.google.api.PhpSettings.toObject(message.phpSettings,options);if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings"))object.pythonSettings=$root.google.api.PythonSettings.toObject(message.pythonSettings,options);if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings"))object.nodeSettings=$root.google.api.NodeSettings.toObject(message.nodeSettings,options);if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings"))object.dotnetSettings=$root.google.api.DotnetSettings.toObject(message.dotnetSettings,options);if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings"))object.rubySettings=$root.google.api.RubySettings.toObject(message.rubySettings,options);if(message.goSettings!=null&&message.hasOwnProperty("goSettings"))object.goSettings=$root.google.api.GoSettings.toObject(message.goSettings,options);return object};ClientLibrarySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ClientLibrarySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.ClientLibrarySettings"};return ClientLibrarySettings}();api.Publishing=function(){function Publishing(properties){this.methodSettings=[];this.codeownerGithubTeams=[];this.librarySettings=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Publishing.prototype.methodSettings=$util.emptyArray;Publishing.prototype.newIssueUri="";Publishing.prototype.documentationUri="";Publishing.prototype.apiShortName="";Publishing.prototype.githubLabel="";Publishing.prototype.codeownerGithubTeams=$util.emptyArray;Publishing.prototype.docTagPrefix="";Publishing.prototype.organization=0;Publishing.prototype.librarySettings=$util.emptyArray;Publishing.prototype.protoReferenceDocumentationUri="";Publishing.prototype.restReferenceDocumentationUri="";Publishing.create=function create(properties){return new Publishing(properties)};Publishing.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.methodSettings!=null&&message.methodSettings.length)for(var i=0;i<message.methodSettings.length;++i)$root.google.api.MethodSettings.encode(message.methodSettings[i],writer.uint32(18).fork()).ldelim();if(message.newIssueUri!=null&&Object.hasOwnProperty.call(message,"newIssueUri"))writer.uint32(810).string(message.newIssueUri);if(message.documentationUri!=null&&Object.hasOwnProperty.call(message,"documentationUri"))writer.uint32(818).string(message.documentationUri);if(message.apiShortName!=null&&Object.hasOwnProperty.call(message,"apiShortName"))writer.uint32(826).string(message.apiShortName);if(message.githubLabel!=null&&Object.hasOwnProperty.call(message,"githubLabel"))writer.uint32(834).string(message.githubLabel);if(message.codeownerGithubTeams!=null&&message.codeownerGithubTeams.length)for(var i=0;i<message.codeownerGithubTeams.length;++i)writer.uint32(842).string(message.codeownerGithubTeams[i]);if(message.docTagPrefix!=null&&Object.hasOwnProperty.call(message,"docTagPrefix"))writer.uint32(850).string(message.docTagPrefix);if(message.organization!=null&&Object.hasOwnProperty.call(message,"organization"))writer.uint32(856).int32(message.organization);if(message.librarySettings!=null&&message.librarySettings.length)for(var i=0;i<message.librarySettings.length;++i)$root.google.api.ClientLibrarySettings.encode(message.librarySettings[i],writer.uint32(874).fork()).ldelim();if(message.protoReferenceDocumentationUri!=null&&Object.hasOwnProperty.call(message,"protoReferenceDocumentationUri"))writer.uint32(882).string(message.protoReferenceDocumentationUri);if(message.restReferenceDocumentationUri!=null&&Object.hasOwnProperty.call(message,"restReferenceDocumentationUri"))writer.uint32(890).string(message.restReferenceDocumentationUri);return writer};Publishing.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Publishing.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Publishing;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{if(!(message.methodSettings&&message.methodSettings.length))message.methodSettings=[];message.methodSettings.push($root.google.api.MethodSettings.decode(reader,reader.uint32(),undefined,long+1));break}case 101:{message.newIssueUri=reader.string();break}case 102:{message.documentationUri=reader.string();break}case 103:{message.apiShortName=reader.string();break}case 104:{message.githubLabel=reader.string();break}case 105:{if(!(message.codeownerGithubTeams&&message.codeownerGithubTeams.length))message.codeownerGithubTeams=[];message.codeownerGithubTeams.push(reader.string());break}case 106:{message.docTagPrefix=reader.string();break}case 107:{message.organization=reader.int32();break}case 109:{if(!(message.librarySettings&&message.librarySettings.length))message.librarySettings=[];message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader,reader.uint32(),undefined,long+1));break}case 110:{message.protoReferenceDocumentationUri=reader.string();break}case 111:{message.restReferenceDocumentationUri=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};Publishing.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Publishing.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methodSettings!=null&&message.hasOwnProperty("methodSettings")){if(!Array.isArray(message.methodSettings))return"methodSettings: array expected";for(var i=0;i<message.methodSettings.length;++i){var error=$root.google.api.MethodSettings.verify(message.methodSettings[i],long+1);if(error)return"methodSettings."+error}}if(message.newIssueUri!=null&&message.hasOwnProperty("newIssueUri"))if(!$util.isString(message.newIssueUri))return"newIssueUri: string expected";if(message.documentationUri!=null&&message.hasOwnProperty("documentationUri"))if(!$util.isString(message.documentationUri))return"documentationUri: string expected";if(message.apiShortName!=null&&message.hasOwnProperty("apiShortName"))if(!$util.isString(message.apiShortName))return"apiShortName: string expected";if(message.githubLabel!=null&&message.hasOwnProperty("githubLabel"))if(!$util.isString(message.githubLabel))return"githubLabel: string expected";if(message.codeownerGithubTeams!=null&&message.hasOwnProperty("codeownerGithubTeams")){if(!Array.isArray(message.codeownerGithubTeams))return"codeownerGithubTeams: array expected";for(var i=0;i<message.codeownerGithubTeams.length;++i)if(!$util.isString(message.codeownerGithubTeams[i]))return"codeownerGithubTeams: string[] expected"}if(message.docTagPrefix!=null&&message.hasOwnProperty("docTagPrefix"))if(!$util.isString(message.docTagPrefix))return"docTagPrefix: string expected";if(message.organization!=null&&message.hasOwnProperty("organization"))switch(message.organization){default:return"organization: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}if(message.librarySettings!=null&&message.hasOwnProperty("librarySettings")){if(!Array.isArray(message.librarySettings))return"librarySettings: array expected";for(var i=0;i<message.librarySettings.length;++i){var error=$root.google.api.ClientLibrarySettings.verify(message.librarySettings[i],long+1);if(error)return"librarySettings."+error}}if(message.protoReferenceDocumentationUri!=null&&message.hasOwnProperty("protoReferenceDocumentationUri"))if(!$util.isString(message.protoReferenceDocumentationUri))return"protoReferenceDocumentationUri: string expected";if(message.restReferenceDocumentationUri!=null&&message.hasOwnProperty("restReferenceDocumentationUri"))if(!$util.isString(message.restReferenceDocumentationUri))return"restReferenceDocumentationUri: string expected";return null};Publishing.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.Publishing)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Publishing;if(object.methodSettings){if(!Array.isArray(object.methodSettings))throw TypeError(".google.api.Publishing.methodSettings: array expected");message.methodSettings=[];for(var i=0;i<object.methodSettings.length;++i){if(typeof object.methodSettings[i]!=="object")throw TypeError(".google.api.Publishing.methodSettings: object expected");message.methodSettings[i]=$root.google.api.MethodSettings.fromObject(object.methodSettings[i],long+1)}}if(object.newIssueUri!=null)message.newIssueUri=String(object.newIssueUri);if(object.documentationUri!=null)message.documentationUri=String(object.documentationUri);if(object.apiShortName!=null)message.apiShortName=String(object.apiShortName);if(object.githubLabel!=null)message.githubLabel=String(object.githubLabel);if(object.codeownerGithubTeams){if(!Array.isArray(object.codeownerGithubTeams))throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected");message.codeownerGithubTeams=[];for(var i=0;i<object.codeownerGithubTeams.length;++i)message.codeownerGithubTeams[i]=String(object.codeownerGithubTeams[i])}if(object.docTagPrefix!=null)message.docTagPrefix=String(object.docTagPrefix);switch(object.organization){default:if(typeof object.organization==="number"){message.organization=object.organization;break}break;case"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":case 0:message.organization=0;break;case"CLOUD":case 1:message.organization=1;break;case"ADS":case 2:message.organization=2;break;case"PHOTOS":case 3:message.organization=3;break;case"STREET_VIEW":case 4:message.organization=4;break;case"SHOPPING":case 5:message.organization=5;break;case"GEO":case 6:message.organization=6;break;case"GENERATIVE_AI":case 7:message.organization=7;break}if(object.librarySettings){if(!Array.isArray(object.librarySettings))throw TypeError(".google.api.Publishing.librarySettings: array expected");message.librarySettings=[];for(var i=0;i<object.librarySettings.length;++i){if(typeof object.librarySettings[i]!=="object")throw TypeError(".google.api.Publishing.librarySettings: object expected");message.librarySettings[i]=$root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i],long+1)}}if(object.protoReferenceDocumentationUri!=null)message.protoReferenceDocumentationUri=String(object.protoReferenceDocumentationUri);if(object.restReferenceDocumentationUri!=null)message.restReferenceDocumentationUri=String(object.restReferenceDocumentationUri);return message};Publishing.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.methodSettings=[];object.codeownerGithubTeams=[];object.librarySettings=[]}if(options.defaults){object.newIssueUri="";object.documentationUri="";object.apiShortName="";object.githubLabel="";object.docTagPrefix="";object.organization=options.enums===String?"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0;object.protoReferenceDocumentationUri="";object.restReferenceDocumentationUri=""}if(message.methodSettings&&message.methodSettings.length){object.methodSettings=[];for(var j=0;j<message.methodSettings.length;++j)object.methodSettings[j]=$root.google.api.MethodSettings.toObject(message.methodSettings[j],options)}if(message.newIssueUri!=null&&message.hasOwnProperty("newIssueUri"))object.newIssueUri=message.newIssueUri;if(message.documentationUri!=null&&message.hasOwnProperty("documentationUri"))object.documentationUri=message.documentationUri;if(message.apiShortName!=null&&message.hasOwnProperty("apiShortName"))object.apiShortName=message.apiShortName;if(message.githubLabel!=null&&message.hasOwnProperty("githubLabel"))object.githubLabel=message.githubLabel;if(message.codeownerGithubTeams&&message.codeownerGithubTeams.length){object.codeownerGithubTeams=[];for(var j=0;j<message.codeownerGithubTeams.length;++j)object.codeownerGithubTeams[j]=message.codeownerGithubTeams[j]}if(message.docTagPrefix!=null&&message.hasOwnProperty("docTagPrefix"))object.docTagPrefix=message.docTagPrefix;if(message.organization!=null&&message.hasOwnProperty("organization"))object.organization=options.enums===String?$root.google.api.ClientLibraryOrganization[message.organization]===undefined?message.organization:$root.google.api.ClientLibraryOrganization[message.organization]:message.organization;if(message.librarySettings&&message.librarySettings.length){object.librarySettings=[];for(var j=0;j<message.librarySettings.length;++j)object.librarySettings[j]=$root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j],options)}if(message.protoReferenceDocumentationUri!=null&&message.hasOwnProperty("protoReferenceDocumentationUri"))object.protoReferenceDocumentationUri=message.protoReferenceDocumentationUri;if(message.restReferenceDocumentationUri!=null&&message.hasOwnProperty("restReferenceDocumentationUri"))object.restReferenceDocumentationUri=message.restReferenceDocumentationUri;return object};Publishing.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Publishing.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.Publishing"};return Publishing}();api.JavaSettings=function(){function JavaSettings(properties){this.serviceClassNames={};if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}JavaSettings.prototype.libraryPackage="";JavaSettings.prototype.serviceClassNames=$util.emptyObject;JavaSettings.prototype.common=null;JavaSettings.create=function create(properties){return new JavaSettings(properties)};JavaSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.libraryPackage!=null&&Object.hasOwnProperty.call(message,"libraryPackage"))writer.uint32(10).string(message.libraryPackage);if(message.serviceClassNames!=null&&Object.hasOwnProperty.call(message,"serviceClassNames"))for(var keys=Object.keys(message.serviceClassNames),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.serviceClassNames[keys[i]]).ldelim();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(26).fork()).ldelim();return writer};JavaSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};JavaSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.JavaSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.libraryPackage=reader.string();break}case 2:{if(message.serviceClassNames===$util.emptyObject)message.serviceClassNames={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.serviceClassNames,key);message.serviceClassNames[key]=value;break}case 3:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};JavaSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};JavaSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))if(!$util.isString(message.libraryPackage))return"libraryPackage: string expected";if(message.serviceClassNames!=null&&message.hasOwnProperty("serviceClassNames")){if(!$util.isObject(message.serviceClassNames))return"serviceClassNames: object expected";var key=Object.keys(message.serviceClassNames);for(var i=0;i<key.length;++i)if(!$util.isString(message.serviceClassNames[key[i]]))return"serviceClassNames: string{k:string} expected"}if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};JavaSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.JavaSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.JavaSettings;if(object.libraryPackage!=null)message.libraryPackage=String(object.libraryPackage);if(object.serviceClassNames){if(typeof object.serviceClassNames!=="object")throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");message.serviceClassNames={};for(var keys=Object.keys(object.serviceClassNames),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.serviceClassNames,keys[i]);message.serviceClassNames[keys[i]]=String(object.serviceClassNames[keys[i]])}}if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.JavaSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};JavaSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.objects||options.defaults)object.serviceClassNames={};if(options.defaults){object.libraryPackage="";object.common=null}if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))object.libraryPackage=message.libraryPackage;var keys2;if(message.serviceClassNames&&(keys2=Object.keys(message.serviceClassNames)).length){object.serviceClassNames={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.serviceClassNames,keys2[j]);object.serviceClassNames[keys2[j]]=message.serviceClassNames[keys2[j]]}}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};JavaSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};JavaSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.JavaSettings"};return JavaSettings}();api.CppSettings=function(){function CppSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CppSettings.prototype.common=null;CppSettings.create=function create(properties){return new CppSettings(properties)};CppSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};CppSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CppSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CppSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CppSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CppSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};CppSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CppSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CppSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.CppSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};CppSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};CppSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CppSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CppSettings"};return CppSettings}();api.PhpSettings=function(){function PhpSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}PhpSettings.prototype.common=null;PhpSettings.prototype.libraryPackage="";PhpSettings.create=function create(properties){return new PhpSettings(properties)};PhpSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.libraryPackage!=null&&Object.hasOwnProperty.call(message,"libraryPackage"))writer.uint32(18).string(message.libraryPackage);return writer};PhpSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};PhpSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PhpSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.libraryPackage=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};PhpSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PhpSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))if(!$util.isString(message.libraryPackage))return"libraryPackage: string expected";return null};PhpSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PhpSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PhpSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PhpSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.libraryPackage!=null)message.libraryPackage=String(object.libraryPackage);return message};PhpSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.common=null;object.libraryPackage=""}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))object.libraryPackage=message.libraryPackage;return object};PhpSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PhpSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PhpSettings"};return PhpSettings}();api.PythonSettings=function(){function PythonSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}PythonSettings.prototype.common=null;PythonSettings.prototype.experimentalFeatures=null;PythonSettings.create=function create(properties){return new PythonSettings(properties)};PythonSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.experimentalFeatures!=null&&Object.hasOwnProperty.call(message,"experimentalFeatures"))$root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures,writer.uint32(18).fork()).ldelim();return writer};PythonSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};PythonSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};PythonSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PythonSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures")){var error=$root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures,long+1);if(error)return"experimentalFeatures."+error}return null};PythonSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PythonSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.experimentalFeatures!=null){if(typeof object.experimentalFeatures!=="object")throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected");message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures,long+1)}return message};PythonSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.common=null;object.experimentalFeatures=null}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures"))object.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures,options);return object};PythonSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PythonSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings"};PythonSettings.ExperimentalFeatures=function(){function ExperimentalFeatures(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExperimentalFeatures.prototype.restAsyncIoEnabled=false;ExperimentalFeatures.prototype.protobufPythonicTypesEnabled=false;ExperimentalFeatures.prototype.unversionedPackageDisabled=false;ExperimentalFeatures.create=function create(properties){return new ExperimentalFeatures(properties)};ExperimentalFeatures.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.restAsyncIoEnabled!=null&&Object.hasOwnProperty.call(message,"restAsyncIoEnabled"))writer.uint32(8).bool(message.restAsyncIoEnabled);if(message.protobufPythonicTypesEnabled!=null&&Object.hasOwnProperty.call(message,"protobufPythonicTypesEnabled"))writer.uint32(16).bool(message.protobufPythonicTypesEnabled);if(message.unversionedPackageDisabled!=null&&Object.hasOwnProperty.call(message,"unversionedPackageDisabled"))writer.uint32(24).bool(message.unversionedPackageDisabled);return writer};ExperimentalFeatures.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExperimentalFeatures.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings.ExperimentalFeatures;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.restAsyncIoEnabled=reader.bool();break}case 2:{message.protobufPythonicTypesEnabled=reader.bool();break}case 3:{message.unversionedPackageDisabled=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};ExperimentalFeatures.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExperimentalFeatures.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))if(typeof message.restAsyncIoEnabled!=="boolean")return"restAsyncIoEnabled: boolean expected";if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))if(typeof message.protobufPythonicTypesEnabled!=="boolean")return"protobufPythonicTypesEnabled: boolean expected";if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))if(typeof message.unversionedPackageDisabled!=="boolean")return"unversionedPackageDisabled: boolean expected";return null};ExperimentalFeatures.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings.ExperimentalFeatures)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings.ExperimentalFeatures;if(object.restAsyncIoEnabled!=null)message.restAsyncIoEnabled=Boolean(object.restAsyncIoEnabled);if(object.protobufPythonicTypesEnabled!=null)message.protobufPythonicTypesEnabled=Boolean(object.protobufPythonicTypesEnabled);if(object.unversionedPackageDisabled!=null)message.unversionedPackageDisabled=Boolean(object.unversionedPackageDisabled);return message};ExperimentalFeatures.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.restAsyncIoEnabled=false;object.protobufPythonicTypesEnabled=false;object.unversionedPackageDisabled=false}if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))object.restAsyncIoEnabled=message.restAsyncIoEnabled;if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))object.protobufPythonicTypesEnabled=message.protobufPythonicTypesEnabled;if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))object.unversionedPackageDisabled=message.unversionedPackageDisabled;return object};ExperimentalFeatures.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExperimentalFeatures.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings.ExperimentalFeatures"};return ExperimentalFeatures}();return PythonSettings}();api.NodeSettings=function(){function NodeSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}NodeSettings.prototype.common=null;NodeSettings.create=function create(properties){return new NodeSettings(properties)};NodeSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};NodeSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};NodeSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.NodeSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};NodeSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NodeSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};NodeSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.NodeSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.NodeSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.NodeSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};NodeSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};NodeSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NodeSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.NodeSettings"};return NodeSettings}();api.DotnetSettings=function(){function DotnetSettings(properties){this.renamedServices={};this.renamedResources={};this.ignoredResources=[];this.forcedNamespaceAliases=[];this.handwrittenSignatures=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DotnetSettings.prototype.common=null;DotnetSettings.prototype.renamedServices=$util.emptyObject;DotnetSettings.prototype.renamedResources=$util.emptyObject;DotnetSettings.prototype.ignoredResources=$util.emptyArray;DotnetSettings.prototype.forcedNamespaceAliases=$util.emptyArray;DotnetSettings.prototype.handwrittenSignatures=$util.emptyArray;DotnetSettings.create=function create(properties){return new DotnetSettings(properties)};DotnetSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.renamedServices!=null&&Object.hasOwnProperty.call(message,"renamedServices"))for(var keys=Object.keys(message.renamedServices),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedServices[keys[i]]).ldelim();if(message.renamedResources!=null&&Object.hasOwnProperty.call(message,"renamedResources"))for(var keys=Object.keys(message.renamedResources),i=0;i<keys.length;++i)writer.uint32(26).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedResources[keys[i]]).ldelim();if(message.ignoredResources!=null&&message.ignoredResources.length)for(var i=0;i<message.ignoredResources.length;++i)writer.uint32(34).string(message.ignoredResources[i]);if(message.forcedNamespaceAliases!=null&&message.forcedNamespaceAliases.length)for(var i=0;i<message.forcedNamespaceAliases.length;++i)writer.uint32(42).string(message.forcedNamespaceAliases[i]);if(message.handwrittenSignatures!=null&&message.handwrittenSignatures.length)for(var i=0;i<message.handwrittenSignatures.length;++i)writer.uint32(50).string(message.handwrittenSignatures[i]);return writer};DotnetSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DotnetSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.DotnetSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}case 3:{if(message.renamedResources===$util.emptyObject)message.renamedResources={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedResources,key);message.renamedResources[key]=value;break}case 4:{if(!(message.ignoredResources&&message.ignoredResources.length))message.ignoredResources=[];message.ignoredResources.push(reader.string());break}case 5:{if(!(message.forcedNamespaceAliases&&message.forcedNamespaceAliases.length))message.forcedNamespaceAliases=[];message.forcedNamespaceAliases.push(reader.string());break}case 6:{if(!(message.handwrittenSignatures&&message.handwrittenSignatures.length))message.handwrittenSignatures=[];message.handwrittenSignatures.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};DotnetSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DotnetSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedServices[key[i]]))return"renamedServices: string{k:string} expected"}if(message.renamedResources!=null&&message.hasOwnProperty("renamedResources")){if(!$util.isObject(message.renamedResources))return"renamedResources: object expected";var key=Object.keys(message.renamedResources);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedResources[key[i]]))return"renamedResources: string{k:string} expected"}if(message.ignoredResources!=null&&message.hasOwnProperty("ignoredResources")){if(!Array.isArray(message.ignoredResources))return"ignoredResources: array expected";for(var i=0;i<message.ignoredResources.length;++i)if(!$util.isString(message.ignoredResources[i]))return"ignoredResources: string[] expected"}if(message.forcedNamespaceAliases!=null&&message.hasOwnProperty("forcedNamespaceAliases")){if(!Array.isArray(message.forcedNamespaceAliases))return"forcedNamespaceAliases: array expected";for(var i=0;i<message.forcedNamespaceAliases.length;++i)if(!$util.isString(message.forcedNamespaceAliases[i]))return"forcedNamespaceAliases: string[] expected"}if(message.handwrittenSignatures!=null&&message.hasOwnProperty("handwrittenSignatures")){if(!Array.isArray(message.handwrittenSignatures))return"handwrittenSignatures: array expected";for(var i=0;i<message.handwrittenSignatures.length;++i)if(!$util.isString(message.handwrittenSignatures[i]))return"handwrittenSignatures: string[] expected"}return null};DotnetSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.DotnetSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.DotnetSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.DotnetSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedServices,keys[i]);message.renamedServices[keys[i]]=String(object.renamedServices[keys[i]])}}if(object.renamedResources){if(typeof object.renamedResources!=="object")throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");message.renamedResources={};for(var keys=Object.keys(object.renamedResources),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedResources,keys[i]);message.renamedResources[keys[i]]=String(object.renamedResources[keys[i]])}}if(object.ignoredResources){if(!Array.isArray(object.ignoredResources))throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");message.ignoredResources=[];for(var i=0;i<object.ignoredResources.length;++i)message.ignoredResources[i]=String(object.ignoredResources[i])}if(object.forcedNamespaceAliases){if(!Array.isArray(object.forcedNamespaceAliases))throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");message.forcedNamespaceAliases=[];for(var i=0;i<object.forcedNamespaceAliases.length;++i)message.forcedNamespaceAliases[i]=String(object.forcedNamespaceAliases[i])}if(object.handwrittenSignatures){if(!Array.isArray(object.handwrittenSignatures))throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");message.handwrittenSignatures=[];for(var i=0;i<object.handwrittenSignatures.length;++i)message.handwrittenSignatures[i]=String(object.handwrittenSignatures[i])}return message};DotnetSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.ignoredResources=[];object.forcedNamespaceAliases=[];object.handwrittenSignatures=[]}if(options.objects||options.defaults){object.renamedServices={};object.renamedResources={}}if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);var keys2;if(message.renamedServices&&(keys2=Object.keys(message.renamedServices)).length){object.renamedServices={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedServices,keys2[j]);object.renamedServices[keys2[j]]=message.renamedServices[keys2[j]]}}if(message.renamedResources&&(keys2=Object.keys(message.renamedResources)).length){object.renamedResources={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedResources,keys2[j]);object.renamedResources[keys2[j]]=message.renamedResources[keys2[j]]}}if(message.ignoredResources&&message.ignoredResources.length){object.ignoredResources=[];for(var j=0;j<message.ignoredResources.length;++j)object.ignoredResources[j]=message.ignoredResources[j]}if(message.forcedNamespaceAliases&&message.forcedNamespaceAliases.length){object.forcedNamespaceAliases=[];for(var j=0;j<message.forcedNamespaceAliases.length;++j)object.forcedNamespaceAliases[j]=message.forcedNamespaceAliases[j]}if(message.handwrittenSignatures&&message.handwrittenSignatures.length){object.handwrittenSignatures=[];for(var j=0;j<message.handwrittenSignatures.length;++j)object.handwrittenSignatures[j]=message.handwrittenSignatures[j]}return object};DotnetSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DotnetSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.DotnetSettings"};return DotnetSettings}();api.RubySettings=function(){function RubySettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RubySettings.prototype.common=null;RubySettings.create=function create(properties){return new RubySettings(properties)};RubySettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};RubySettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RubySettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.RubySettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};RubySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RubySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};RubySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.RubySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.RubySettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.RubySettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};RubySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};RubySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RubySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.RubySettings"};return RubySettings}();api.GoSettings=function(){function GoSettings(properties){this.renamedServices={};if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GoSettings.prototype.common=null;GoSettings.prototype.renamedServices=$util.emptyObject;GoSettings.create=function create(properties){return new GoSettings(properties)};GoSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.renamedServices!=null&&Object.hasOwnProperty.call(message,"renamedServices"))for(var keys=Object.keys(message.renamedServices),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedServices[keys[i]]).ldelim();return writer};GoSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GoSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.GoSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}default:reader.skipType(tag&7,long);break}}return message};GoSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GoSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedServices[key[i]]))return"renamedServices: string{k:string} expected"}return null};GoSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.GoSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.GoSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.GoSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.GoSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedServices,keys[i]);message.renamedServices[keys[i]]=String(object.renamedServices[keys[i]])}}return message};GoSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.objects||options.defaults)object.renamedServices={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);var keys2;if(message.renamedServices&&(keys2=Object.keys(message.renamedServices)).length){object.renamedServices={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedServices,keys2[j]);object.renamedServices[keys2[j]]=message.renamedServices[keys2[j]]}}return object};GoSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GoSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.GoSettings"};return GoSettings}();api.MethodSettings=function(){function MethodSettings(properties){this.autoPopulatedFields=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodSettings.prototype.selector="";MethodSettings.prototype.longRunning=null;MethodSettings.prototype.autoPopulatedFields=$util.emptyArray;MethodSettings.prototype.batching=null;MethodSettings.create=function create(properties){return new MethodSettings(properties)};MethodSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.selector!=null&&Object.hasOwnProperty.call(message,"selector"))writer.uint32(10).string(message.selector);if(message.longRunning!=null&&Object.hasOwnProperty.call(message,"longRunning"))$root.google.api.MethodSettings.LongRunning.encode(message.longRunning,writer.uint32(18).fork()).ldelim();if(message.autoPopulatedFields!=null&&message.autoPopulatedFields.length)for(var i=0;i<message.autoPopulatedFields.length;++i)writer.uint32(26).string(message.autoPopulatedFields[i]);if(message.batching!=null&&Object.hasOwnProperty.call(message,"batching"))$root.google.api.BatchingConfigProto.encode(message.batching,writer.uint32(34).fork()).ldelim();return writer};MethodSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.selector=reader.string();break}case 2:{message.longRunning=$root.google.api.MethodSettings.LongRunning.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{if(!(message.autoPopulatedFields&&message.autoPopulatedFields.length))message.autoPopulatedFields=[];message.autoPopulatedFields.push(reader.string());break}case 4:{message.batching=$root.google.api.BatchingConfigProto.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};MethodSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.longRunning!=null&&message.hasOwnProperty("longRunning")){var error=$root.google.api.MethodSettings.LongRunning.verify(message.longRunning,long+1);if(error)return"longRunning."+error}if(message.autoPopulatedFields!=null&&message.hasOwnProperty("autoPopulatedFields")){if(!Array.isArray(message.autoPopulatedFields))return"autoPopulatedFields: array expected";for(var i=0;i<message.autoPopulatedFields.length;++i)if(!$util.isString(message.autoPopulatedFields[i]))return"autoPopulatedFields: string[] expected"}if(message.batching!=null&&message.hasOwnProperty("batching")){var error=$root.google.api.BatchingConfigProto.verify(message.batching,long+1);if(error)return"batching."+error}return null};MethodSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.MethodSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings;if(object.selector!=null)message.selector=String(object.selector);if(object.longRunning!=null){if(typeof object.longRunning!=="object")throw TypeError(".google.api.MethodSettings.longRunning: object expected");message.longRunning=$root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning,long+1)}if(object.autoPopulatedFields){if(!Array.isArray(object.autoPopulatedFields))throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");message.autoPopulatedFields=[];for(var i=0;i<object.autoPopulatedFields.length;++i)message.autoPopulatedFields[i]=String(object.autoPopulatedFields[i])}if(object.batching!=null){if(typeof object.batching!=="object")throw TypeError(".google.api.MethodSettings.batching: object expected");message.batching=$root.google.api.BatchingConfigProto.fromObject(object.batching,long+1)}return message};MethodSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.autoPopulatedFields=[];if(options.defaults){object.selector="";object.longRunning=null;object.batching=null}if(message.selector!=null&&message.hasOwnProperty("selector"))object.selector=message.selector;if(message.longRunning!=null&&message.hasOwnProperty("longRunning"))object.longRunning=$root.google.api.MethodSettings.LongRunning.toObject(message.longRunning,options);if(message.autoPopulatedFields&&message.autoPopulatedFields.length){object.autoPopulatedFields=[];for(var j=0;j<message.autoPopulatedFields.length;++j)object.autoPopulatedFields[j]=message.autoPopulatedFields[j]}if(message.batching!=null&&message.hasOwnProperty("batching"))object.batching=$root.google.api.BatchingConfigProto.toObject(message.batching,options);return object};MethodSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.MethodSettings"};MethodSettings.LongRunning=function(){function LongRunning(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LongRunning.prototype.initialPollDelay=null;LongRunning.prototype.pollDelayMultiplier=0;LongRunning.prototype.maxPollDelay=null;LongRunning.prototype.totalPollTimeout=null;LongRunning.create=function create(properties){return new LongRunning(properties)};LongRunning.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.initialPollDelay!=null&&Object.hasOwnProperty.call(message,"initialPollDelay"))$root.google.protobuf.Duration.encode(message.initialPollDelay,writer.uint32(10).fork()).ldelim();if(message.pollDelayMultiplier!=null&&Object.hasOwnProperty.call(message,"pollDelayMultiplier"))writer.uint32(21).float(message.pollDelayMultiplier);if(message.maxPollDelay!=null&&Object.hasOwnProperty.call(message,"maxPollDelay"))$root.google.protobuf.Duration.encode(message.maxPollDelay,writer.uint32(26).fork()).ldelim();if(message.totalPollTimeout!=null&&Object.hasOwnProperty.call(message,"totalPollTimeout"))$root.google.protobuf.Duration.encode(message.totalPollTimeout,writer.uint32(34).fork()).ldelim();return writer};LongRunning.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LongRunning.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings.LongRunning;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.initialPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.pollDelayMultiplier=reader.float();break}case 3:{message.maxPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.totalPollTimeout=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LongRunning.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LongRunning.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay")){var error=$root.google.protobuf.Duration.verify(message.initialPollDelay,long+1);if(error)return"initialPollDelay."+error}if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))if(typeof message.pollDelayMultiplier!=="number")return"pollDelayMultiplier: number expected";if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay")){var error=$root.google.protobuf.Duration.verify(message.maxPollDelay,long+1);if(error)return"maxPollDelay."+error}if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout")){var error=$root.google.protobuf.Duration.verify(message.totalPollTimeout,long+1);if(error)return"totalPollTimeout."+error}return null};LongRunning.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.MethodSettings.LongRunning)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings.LongRunning;if(object.initialPollDelay!=null){if(typeof object.initialPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");message.initialPollDelay=$root.google.protobuf.Duration.fromObject(object.initialPollDelay,long+1)}if(object.pollDelayMultiplier!=null)message.pollDelayMultiplier=Number(object.pollDelayMultiplier);if(object.maxPollDelay!=null){if(typeof object.maxPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");message.maxPollDelay=$root.google.protobuf.Duration.fromObject(object.maxPollDelay,long+1)}if(object.totalPollTimeout!=null){if(typeof object.totalPollTimeout!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");message.totalPollTimeout=$root.google.protobuf.Duration.fromObject(object.totalPollTimeout,long+1)}return message};LongRunning.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.initialPollDelay=null;object.pollDelayMultiplier=0;object.maxPollDelay=null;object.totalPollTimeout=null}if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay"))object.initialPollDelay=$root.google.protobuf.Duration.toObject(message.initialPollDelay,options);if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))object.pollDelayMultiplier=options.json&&!isFinite(message.pollDelayMultiplier)?String(message.pollDelayMultiplier):message.pollDelayMultiplier;if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay"))object.maxPollDelay=$root.google.protobuf.Duration.toObject(message.maxPollDelay,options);if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout"))object.totalPollTimeout=$root.google.protobuf.Duration.toObject(message.totalPollTimeout,options);return object};LongRunning.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LongRunning.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.MethodSettings.LongRunning"};return LongRunning}();return MethodSettings}();api.ClientLibraryOrganization=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"]=0;values[valuesById[1]="CLOUD"]=1;values[valuesById[2]="ADS"]=2;values[valuesById[3]="PHOTOS"]=3;values[valuesById[4]="STREET_VIEW"]=4;values[valuesById[5]="SHOPPING"]=5;values[valuesById[6]="GEO"]=6;values[valuesById[7]="GENERATIVE_AI"]=7;return values}();api.ClientLibraryDestination=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"]=0;values[valuesById[10]="GITHUB"]=10;values[valuesById[20]="PACKAGE_MANAGER"]=20;return values}();api.SelectiveGapicGeneration=function(){function SelectiveGapicGeneration(properties){this.methods=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SelectiveGapicGeneration.prototype.methods=$util.emptyArray;SelectiveGapicGeneration.prototype.generateOmittedAsInternal=false;SelectiveGapicGeneration.create=function create(properties){return new SelectiveGapicGeneration(properties)};SelectiveGapicGeneration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.methods!=null&&message.methods.length)for(var i=0;i<message.methods.length;++i)writer.uint32(10).string(message.methods[i]);if(message.generateOmittedAsInternal!=null&&Object.hasOwnProperty.call(message,"generateOmittedAsInternal"))writer.uint32(16).bool(message.generateOmittedAsInternal);return writer};SelectiveGapicGeneration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SelectiveGapicGeneration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.SelectiveGapicGeneration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.methods&&message.methods.length))message.methods=[];message.methods.push(reader.string());break}case 2:{message.generateOmittedAsInternal=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};SelectiveGapicGeneration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SelectiveGapicGeneration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methods!=null&&message.hasOwnProperty("methods")){if(!Array.isArray(message.methods))return"methods: array expected";for(var i=0;i<message.methods.length;++i)if(!$util.isString(message.methods[i]))return"methods: string[] expected"}if(message.generateOmittedAsInternal!=null&&message.hasOwnProperty("generateOmittedAsInternal"))if(typeof message.generateOmittedAsInternal!=="boolean")return"generateOmittedAsInternal: boolean expected";return null};SelectiveGapicGeneration.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.SelectiveGapicGeneration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.SelectiveGapicGeneration;if(object.methods){if(!Array.isArray(object.methods))throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected");message.methods=[];for(var i=0;i<object.methods.length;++i)message.methods[i]=String(object.methods[i])}if(object.generateOmittedAsInternal!=null)message.generateOmittedAsInternal=Boolean(object.generateOmittedAsInternal);return message};SelectiveGapicGeneration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.methods=[];if(options.defaults)object.generateOmittedAsInternal=false;if(message.methods&&message.methods.length){object.methods=[];for(var j=0;j<message.methods.length;++j)object.methods[j]=message.methods[j]}if(message.generateOmittedAsInternal!=null&&message.hasOwnProperty("generateOmittedAsInternal"))object.generateOmittedAsInternal=message.generateOmittedAsInternal;return object};SelectiveGapicGeneration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SelectiveGapicGeneration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.SelectiveGapicGeneration"};return SelectiveGapicGeneration}();api.BatchingConfigProto=function(){function BatchingConfigProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingConfigProto.prototype.thresholds=null;BatchingConfigProto.prototype.batchDescriptor=null;BatchingConfigProto.create=function create(properties){return new BatchingConfigProto(properties)};BatchingConfigProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.thresholds!=null&&Object.hasOwnProperty.call(message,"thresholds"))$root.google.api.BatchingSettingsProto.encode(message.thresholds,writer.uint32(10).fork()).ldelim();if(message.batchDescriptor!=null&&Object.hasOwnProperty.call(message,"batchDescriptor"))$root.google.api.BatchingDescriptorProto.encode(message.batchDescriptor,writer.uint32(18).fork()).ldelim();return writer};BatchingConfigProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingConfigProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingConfigProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.thresholds=$root.google.api.BatchingSettingsProto.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.batchDescriptor=$root.google.api.BatchingDescriptorProto.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};BatchingConfigProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingConfigProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.thresholds!=null&&message.hasOwnProperty("thresholds")){var error=$root.google.api.BatchingSettingsProto.verify(message.thresholds,long+1);if(error)return"thresholds."+error}if(message.batchDescriptor!=null&&message.hasOwnProperty("batchDescriptor")){var error=$root.google.api.BatchingDescriptorProto.verify(message.batchDescriptor,long+1);if(error)return"batchDescriptor."+error}return null};BatchingConfigProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingConfigProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingConfigProto;if(object.thresholds!=null){if(typeof object.thresholds!=="object")throw TypeError(".google.api.BatchingConfigProto.thresholds: object expected");message.thresholds=$root.google.api.BatchingSettingsProto.fromObject(object.thresholds,long+1)}if(object.batchDescriptor!=null){if(typeof object.batchDescriptor!=="object")throw TypeError(".google.api.BatchingConfigProto.batchDescriptor: object expected");message.batchDescriptor=$root.google.api.BatchingDescriptorProto.fromObject(object.batchDescriptor,long+1)}return message};BatchingConfigProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.thresholds=null;object.batchDescriptor=null}if(message.thresholds!=null&&message.hasOwnProperty("thresholds"))object.thresholds=$root.google.api.BatchingSettingsProto.toObject(message.thresholds,options);if(message.batchDescriptor!=null&&message.hasOwnProperty("batchDescriptor"))object.batchDescriptor=$root.google.api.BatchingDescriptorProto.toObject(message.batchDescriptor,options);return object};BatchingConfigProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingConfigProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingConfigProto"};return BatchingConfigProto}();api.BatchingSettingsProto=function(){function BatchingSettingsProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingSettingsProto.prototype.elementCountThreshold=0;BatchingSettingsProto.prototype.requestByteThreshold=$util.Long?$util.Long.fromBits(0,0,false):0;BatchingSettingsProto.prototype.delayThreshold=null;BatchingSettingsProto.prototype.elementCountLimit=0;BatchingSettingsProto.prototype.requestByteLimit=0;BatchingSettingsProto.prototype.flowControlElementLimit=0;BatchingSettingsProto.prototype.flowControlByteLimit=0;BatchingSettingsProto.prototype.flowControlLimitExceededBehavior=0;BatchingSettingsProto.create=function create(properties){return new BatchingSettingsProto(properties)};BatchingSettingsProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.elementCountThreshold!=null&&Object.hasOwnProperty.call(message,"elementCountThreshold"))writer.uint32(8).int32(message.elementCountThreshold);if(message.requestByteThreshold!=null&&Object.hasOwnProperty.call(message,"requestByteThreshold"))writer.uint32(16).int64(message.requestByteThreshold);if(message.delayThreshold!=null&&Object.hasOwnProperty.call(message,"delayThreshold"))$root.google.protobuf.Duration.encode(message.delayThreshold,writer.uint32(26).fork()).ldelim();if(message.elementCountLimit!=null&&Object.hasOwnProperty.call(message,"elementCountLimit"))writer.uint32(32).int32(message.elementCountLimit);if(message.requestByteLimit!=null&&Object.hasOwnProperty.call(message,"requestByteLimit"))writer.uint32(40).int32(message.requestByteLimit);if(message.flowControlElementLimit!=null&&Object.hasOwnProperty.call(message,"flowControlElementLimit"))writer.uint32(48).int32(message.flowControlElementLimit);if(message.flowControlByteLimit!=null&&Object.hasOwnProperty.call(message,"flowControlByteLimit"))writer.uint32(56).int32(message.flowControlByteLimit);if(message.flowControlLimitExceededBehavior!=null&&Object.hasOwnProperty.call(message,"flowControlLimitExceededBehavior"))writer.uint32(64).int32(message.flowControlLimitExceededBehavior);return writer};BatchingSettingsProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingSettingsProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingSettingsProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.elementCountThreshold=reader.int32();break}case 2:{message.requestByteThreshold=reader.int64();break}case 3:{message.delayThreshold=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.elementCountLimit=reader.int32();break}case 5:{message.requestByteLimit=reader.int32();break}case 6:{message.flowControlElementLimit=reader.int32();break}case 7:{message.flowControlByteLimit=reader.int32();break}case 8:{message.flowControlLimitExceededBehavior=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};BatchingSettingsProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingSettingsProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.elementCountThreshold!=null&&message.hasOwnProperty("elementCountThreshold"))if(!$util.isInteger(message.elementCountThreshold))return"elementCountThreshold: integer expected";if(message.requestByteThreshold!=null&&message.hasOwnProperty("requestByteThreshold"))if(!$util.isInteger(message.requestByteThreshold)&&!(message.requestByteThreshold&&$util.isInteger(message.requestByteThreshold.low)&&$util.isInteger(message.requestByteThreshold.high)))return"requestByteThreshold: integer|Long expected";if(message.delayThreshold!=null&&message.hasOwnProperty("delayThreshold")){var error=$root.google.protobuf.Duration.verify(message.delayThreshold,long+1);if(error)return"delayThreshold."+error}if(message.elementCountLimit!=null&&message.hasOwnProperty("elementCountLimit"))if(!$util.isInteger(message.elementCountLimit))return"elementCountLimit: integer expected";if(message.requestByteLimit!=null&&message.hasOwnProperty("requestByteLimit"))if(!$util.isInteger(message.requestByteLimit))return"requestByteLimit: integer expected";if(message.flowControlElementLimit!=null&&message.hasOwnProperty("flowControlElementLimit"))if(!$util.isInteger(message.flowControlElementLimit))return"flowControlElementLimit: integer expected";if(message.flowControlByteLimit!=null&&message.hasOwnProperty("flowControlByteLimit"))if(!$util.isInteger(message.flowControlByteLimit))return"flowControlByteLimit: integer expected";if(message.flowControlLimitExceededBehavior!=null&&message.hasOwnProperty("flowControlLimitExceededBehavior"))switch(message.flowControlLimitExceededBehavior){default:return"flowControlLimitExceededBehavior: enum value expected";case 0:case 1:case 2:case 3:break}return null};BatchingSettingsProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingSettingsProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingSettingsProto;if(object.elementCountThreshold!=null)message.elementCountThreshold=object.elementCountThreshold|0;if(object.requestByteThreshold!=null)if($util.Long)(message.requestByteThreshold=$util.Long.fromValue(object.requestByteThreshold)).unsigned=false;else if(typeof object.requestByteThreshold==="string")message.requestByteThreshold=parseInt(object.requestByteThreshold,10);else if(typeof object.requestByteThreshold==="number")message.requestByteThreshold=object.requestByteThreshold;else if(typeof object.requestByteThreshold==="object")message.requestByteThreshold=new $util.LongBits(object.requestByteThreshold.low>>>0,object.requestByteThreshold.high>>>0).toNumber();if(object.delayThreshold!=null){if(typeof object.delayThreshold!=="object")throw TypeError(".google.api.BatchingSettingsProto.delayThreshold: object expected");message.delayThreshold=$root.google.protobuf.Duration.fromObject(object.delayThreshold,long+1)}if(object.elementCountLimit!=null)message.elementCountLimit=object.elementCountLimit|0;if(object.requestByteLimit!=null)message.requestByteLimit=object.requestByteLimit|0;if(object.flowControlElementLimit!=null)message.flowControlElementLimit=object.flowControlElementLimit|0;if(object.flowControlByteLimit!=null)message.flowControlByteLimit=object.flowControlByteLimit|0;switch(object.flowControlLimitExceededBehavior){default:if(typeof object.flowControlLimitExceededBehavior==="number"){message.flowControlLimitExceededBehavior=object.flowControlLimitExceededBehavior;break}break;case"UNSET_BEHAVIOR":case 0:message.flowControlLimitExceededBehavior=0;break;case"THROW_EXCEPTION":case 1:message.flowControlLimitExceededBehavior=1;break;case"BLOCK":case 2:message.flowControlLimitExceededBehavior=2;break;case"IGNORE":case 3:message.flowControlLimitExceededBehavior=3;break}return message};BatchingSettingsProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.elementCountThreshold=0;if($util.Long){var long=new $util.Long(0,0,false);object.requestByteThreshold=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.requestByteThreshold=options.longs===String?"0":0;object.delayThreshold=null;object.elementCountLimit=0;object.requestByteLimit=0;object.flowControlElementLimit=0;object.flowControlByteLimit=0;object.flowControlLimitExceededBehavior=options.enums===String?"UNSET_BEHAVIOR":0}if(message.elementCountThreshold!=null&&message.hasOwnProperty("elementCountThreshold"))object.elementCountThreshold=message.elementCountThreshold;if(message.requestByteThreshold!=null&&message.hasOwnProperty("requestByteThreshold"))if(typeof message.requestByteThreshold==="number")object.requestByteThreshold=options.longs===String?String(message.requestByteThreshold):message.requestByteThreshold;else object.requestByteThreshold=options.longs===String?$util.Long.prototype.toString.call(message.requestByteThreshold):options.longs===Number?new $util.LongBits(message.requestByteThreshold.low>>>0,message.requestByteThreshold.high>>>0).toNumber():message.requestByteThreshold;if(message.delayThreshold!=null&&message.hasOwnProperty("delayThreshold"))object.delayThreshold=$root.google.protobuf.Duration.toObject(message.delayThreshold,options);if(message.elementCountLimit!=null&&message.hasOwnProperty("elementCountLimit"))object.elementCountLimit=message.elementCountLimit;if(message.requestByteLimit!=null&&message.hasOwnProperty("requestByteLimit"))object.requestByteLimit=message.requestByteLimit;if(message.flowControlElementLimit!=null&&message.hasOwnProperty("flowControlElementLimit"))object.flowControlElementLimit=message.flowControlElementLimit;if(message.flowControlByteLimit!=null&&message.hasOwnProperty("flowControlByteLimit"))object.flowControlByteLimit=message.flowControlByteLimit;if(message.flowControlLimitExceededBehavior!=null&&message.hasOwnProperty("flowControlLimitExceededBehavior"))object.flowControlLimitExceededBehavior=options.enums===String?$root.google.api.FlowControlLimitExceededBehaviorProto[message.flowControlLimitExceededBehavior]===undefined?message.flowControlLimitExceededBehavior:$root.google.api.FlowControlLimitExceededBehaviorProto[message.flowControlLimitExceededBehavior]:message.flowControlLimitExceededBehavior;return object};BatchingSettingsProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingSettingsProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingSettingsProto"};return BatchingSettingsProto}();api.FlowControlLimitExceededBehaviorProto=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="UNSET_BEHAVIOR"]=0;values[valuesById[1]="THROW_EXCEPTION"]=1;values[valuesById[2]="BLOCK"]=2;values[valuesById[3]="IGNORE"]=3;return values}();api.BatchingDescriptorProto=function(){function BatchingDescriptorProto(properties){this.discriminatorFields=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingDescriptorProto.prototype.batchedField="";BatchingDescriptorProto.prototype.discriminatorFields=$util.emptyArray;BatchingDescriptorProto.prototype.subresponseField="";BatchingDescriptorProto.create=function create(properties){return new BatchingDescriptorProto(properties)};BatchingDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.batchedField!=null&&Object.hasOwnProperty.call(message,"batchedField"))writer.uint32(10).string(message.batchedField);if(message.discriminatorFields!=null&&message.discriminatorFields.length)for(var i=0;i<message.discriminatorFields.length;++i)writer.uint32(18).string(message.discriminatorFields[i]);if(message.subresponseField!=null&&Object.hasOwnProperty.call(message,"subresponseField"))writer.uint32(26).string(message.subresponseField);return writer};BatchingDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.batchedField=reader.string();break}case 2:{if(!(message.discriminatorFields&&message.discriminatorFields.length))message.discriminatorFields=[];message.discriminatorFields.push(reader.string());break}case 3:{message.subresponseField=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};BatchingDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.batchedField!=null&&message.hasOwnProperty("batchedField"))if(!$util.isString(message.batchedField))return"batchedField: string expected";if(message.discriminatorFields!=null&&message.hasOwnProperty("discriminatorFields")){if(!Array.isArray(message.discriminatorFields))return"discriminatorFields: array expected";for(var i=0;i<message.discriminatorFields.length;++i)if(!$util.isString(message.discriminatorFields[i]))return"discriminatorFields: string[] expected"}if(message.subresponseField!=null&&message.hasOwnProperty("subresponseField"))if(!$util.isString(message.subresponseField))return"subresponseField: string expected";return null};BatchingDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingDescriptorProto;if(object.batchedField!=null)message.batchedField=String(object.batchedField);if(object.discriminatorFields){if(!Array.isArray(object.discriminatorFields))throw TypeError(".google.api.BatchingDescriptorProto.discriminatorFields: array expected");message.discriminatorFields=[];for(var i=0;i<object.discriminatorFields.length;++i)message.discriminatorFields[i]=String(object.discriminatorFields[i])}if(object.subresponseField!=null)message.subresponseField=String(object.subresponseField);return message};BatchingDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.discriminatorFields=[];if(options.defaults){object.batchedField="";object.subresponseField=""}if(message.batchedField!=null&&message.hasOwnProperty("batchedField"))object.batchedField=message.batchedField;if(message.discriminatorFields&&message.discriminatorFields.length){object.discriminatorFields=[];for(var j=0;j<message.discriminatorFields.length;++j)object.discriminatorFields[j]=message.discriminatorFields[j]}if(message.subresponseField!=null&&message.hasOwnProperty("subresponseField"))object.subresponseField=message.subresponseField;return object};BatchingDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingDescriptorProto"};return BatchingDescriptorProto}();api.LaunchStage=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="LAUNCH_STAGE_UNSPECIFIED"]=0;values[valuesById[6]="UNIMPLEMENTED"]=6;values[valuesById[7]="PRELAUNCH"]=7;values[valuesById[1]="EARLY_ACCESS"]=1;values[valuesById[2]="ALPHA"]=2;values[valuesById[3]="BETA"]=3;values[valuesById[4]="GA"]=4;values[valuesById[5]="DEPRECATED"]=5;return values}();api.FieldBehavior=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="FIELD_BEHAVIOR_UNSPECIFIED"]=0;values[valuesById[1]="OPTIONAL"]=1;values[valuesById[2]="REQUIRED"]=2;values[valuesById[3]="OUTPUT_ONLY"]=3;values[valuesById[4]="INPUT_ONLY"]=4;values[valuesById[5]="IMMUTABLE"]=5;values[valuesById[6]="UNORDERED_LIST"]=6;values[valuesById[7]="NON_EMPTY_DEFAULT"]=7;values[valuesById[8]="IDENTIFIER"]=8;return values}();api.HttpBody=function(){function HttpBody(properties){this.extensions=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}HttpBody.prototype.contentType="";HttpBody.prototype.data=$util.newBuffer([]);HttpBody.prototype.extensions=$util.emptyArray;HttpBody.create=function create(properties){return new HttpBody(properties)};HttpBody.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.contentType!=null&&Object.hasOwnProperty.call(message,"contentType"))writer.uint32(10).string(message.contentType);if(message.data!=null&&Object.hasOwnProperty.call(message,"data"))writer.uint32(18).bytes(message.data);if(message.extensions!=null&&message.extensions.length)for(var i=0;i<message.extensions.length;++i)$root.google.protobuf.Any.encode(message.extensions[i],writer.uint32(26).fork()).ldelim();return writer};HttpBody.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};HttpBody.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.HttpBody;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.contentType=reader.string();break}case 2:{message.data=reader.bytes();break}case 3:{if(!(message.extensions&&message.extensions.length))message.extensions=[];message.extensions.push($root.google.protobuf.Any.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};HttpBody.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};HttpBody.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.contentType!=null&&message.hasOwnProperty("contentType"))if(!$util.isString(message.contentType))return"contentType: string expected";if(message.data!=null&&message.hasOwnProperty("data"))if(!(message.data&&typeof message.data.length==="number"||$util.isString(message.data)))return"data: buffer expected";if(message.extensions!=null&&message.hasOwnProperty("extensions")){if(!Array.isArray(message.extensions))return"extensions: array expected";for(var i=0;i<message.extensions.length;++i){var error=$root.google.protobuf.Any.verify(message.extensions[i],long+1);if(error)return"extensions."+error}}return null};HttpBody.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.HttpBody)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.HttpBody;if(object.contentType!=null)message.contentType=String(object.contentType);if(object.data!=null)if(typeof object.data==="string")$util.base64.decode(object.data,message.data=$util.newBuffer($util.base64.length(object.data)),0);else if(object.data.length>=0)message.data=object.data;if(object.extensions){if(!Array.isArray(object.extensions))throw TypeError(".google.api.HttpBody.extensions: array expected");message.extensions=[];for(var i=0;i<object.extensions.length;++i){if(typeof object.extensions[i]!=="object")throw TypeError(".google.api.HttpBody.extensions: object expected");message.extensions[i]=$root.google.protobuf.Any.fromObject(object.extensions[i],long+1)}}return message};HttpBody.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.extensions=[];if(options.defaults){object.contentType="";if(options.bytes===String)object.data="";else{object.data=[];if(options.bytes!==Array)object.data=$util.newBuffer(object.data)}}if(message.contentType!=null&&message.hasOwnProperty("contentType"))object.contentType=message.contentType;if(message.data!=null&&message.hasOwnProperty("data"))object.data=options.bytes===String?$util.base64.encode(message.data,0,message.data.length):options.bytes===Array?Array.prototype.slice.call(message.data):message.data;if(message.extensions&&message.extensions.length){object.extensions=[];for(var j=0;j<message.extensions.length;++j)object.extensions[j]=$root.google.protobuf.Any.toObject(message.extensions[j],options)}return object};HttpBody.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};HttpBody.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.HttpBody"};return HttpBody}();return api}();google.protobuf=function(){var protobuf={};protobuf.FileDescriptorSet=function(){function FileDescriptorSet(properties){this.file=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileDescriptorSet.prototype.file=$util.emptyArray;FileDescriptorSet.create=function create(properties){return new FileDescriptorSet(properties)};FileDescriptorSet.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.file!=null&&message.file.length)for(var i=0;i<message.file.length;++i)$root.google.protobuf.FileDescriptorProto.encode(message.file[i],writer.uint32(10).fork()).ldelim();return writer};FileDescriptorSet.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileDescriptorSet.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorSet;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.file&&message.file.length))message.file=[];message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileDescriptorSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileDescriptorSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.file!=null&&message.hasOwnProperty("file")){if(!Array.isArray(message.file))return"file: array expected";for(var i=0;i<message.file.length;++i){var error=$root.google.protobuf.FileDescriptorProto.verify(message.file[i],long+1);if(error)return"file."+error}}return null};FileDescriptorSet.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileDescriptorSet)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorSet;if(object.file){if(!Array.isArray(object.file))throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");message.file=[];for(var i=0;i<object.file.length;++i){if(typeof object.file[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");message.file[i]=$root.google.protobuf.FileDescriptorProto.fromObject(object.file[i],long+1)}}return message};FileDescriptorSet.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.file=[];if(message.file&&message.file.length){object.file=[];for(var j=0;j<message.file.length;++j)object.file[j]=$root.google.protobuf.FileDescriptorProto.toObject(message.file[j],options)}return object};FileDescriptorSet.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileDescriptorSet.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileDescriptorSet"};return FileDescriptorSet}();protobuf.Edition=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="EDITION_UNKNOWN"]=0;values[valuesById[900]="EDITION_LEGACY"]=900;values[valuesById[998]="EDITION_PROTO2"]=998;values[valuesById[999]="EDITION_PROTO3"]=999;values[valuesById[1e3]="EDITION_2023"]=1e3;values[valuesById[1001]="EDITION_2024"]=1001;values[valuesById[1002]="EDITION_2026"]=1002;values[valuesById[9999]="EDITION_UNSTABLE"]=9999;values[valuesById[1]="EDITION_1_TEST_ONLY"]=1;values[valuesById[2]="EDITION_2_TEST_ONLY"]=2;values[valuesById[99997]="EDITION_99997_TEST_ONLY"]=99997;values[valuesById[99998]="EDITION_99998_TEST_ONLY"]=99998;values[valuesById[99999]="EDITION_99999_TEST_ONLY"]=99999;values[valuesById[2147483647]="EDITION_MAX"]=2147483647;return values}();protobuf.FileDescriptorProto=function(){function FileDescriptorProto(properties){this.dependency=[];this.publicDependency=[];this.weakDependency=[];this.optionDependency=[];this.messageType=[];this.enumType=[];this.service=[];this.extension=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileDescriptorProto.prototype.name="";FileDescriptorProto.prototype["package"]="";FileDescriptorProto.prototype.dependency=$util.emptyArray;FileDescriptorProto.prototype.publicDependency=$util.emptyArray;FileDescriptorProto.prototype.weakDependency=$util.emptyArray;FileDescriptorProto.prototype.optionDependency=$util.emptyArray;FileDescriptorProto.prototype.messageType=$util.emptyArray;FileDescriptorProto.prototype.enumType=$util.emptyArray;FileDescriptorProto.prototype.service=$util.emptyArray;FileDescriptorProto.prototype.extension=$util.emptyArray;FileDescriptorProto.prototype.options=null;FileDescriptorProto.prototype.sourceCodeInfo=null;FileDescriptorProto.prototype.syntax="";FileDescriptorProto.prototype.edition=0;FileDescriptorProto.create=function create(properties){return new FileDescriptorProto(properties)};FileDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message["package"]!=null&&Object.hasOwnProperty.call(message,"package"))writer.uint32(18).string(message["package"]);if(message.dependency!=null&&message.dependency.length)for(var i=0;i<message.dependency.length;++i)writer.uint32(26).string(message.dependency[i]);if(message.messageType!=null&&message.messageType.length)for(var i=0;i<message.messageType.length;++i)$root.google.protobuf.DescriptorProto.encode(message.messageType[i],writer.uint32(34).fork()).ldelim();if(message.enumType!=null&&message.enumType.length)for(var i=0;i<message.enumType.length;++i)$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i],writer.uint32(42).fork()).ldelim();if(message.service!=null&&message.service.length)for(var i=0;i<message.service.length;++i)$root.google.protobuf.ServiceDescriptorProto.encode(message.service[i],writer.uint32(50).fork()).ldelim();if(message.extension!=null&&message.extension.length)for(var i=0;i<message.extension.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i],writer.uint32(58).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.FileOptions.encode(message.options,writer.uint32(66).fork()).ldelim();if(message.sourceCodeInfo!=null&&Object.hasOwnProperty.call(message,"sourceCodeInfo"))$root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo,writer.uint32(74).fork()).ldelim();if(message.publicDependency!=null&&message.publicDependency.length)for(var i=0;i<message.publicDependency.length;++i)writer.uint32(80).int32(message.publicDependency[i]);if(message.weakDependency!=null&&message.weakDependency.length)for(var i=0;i<message.weakDependency.length;++i)writer.uint32(88).int32(message.weakDependency[i]);if(message.syntax!=null&&Object.hasOwnProperty.call(message,"syntax"))writer.uint32(98).string(message.syntax);if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(112).int32(message.edition);if(message.optionDependency!=null&&message.optionDependency.length)for(var i=0;i<message.optionDependency.length;++i)writer.uint32(122).string(message.optionDependency[i]);return writer};FileDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message["package"]=reader.string();break}case 3:{if(!(message.dependency&&message.dependency.length))message.dependency=[];message.dependency.push(reader.string());break}case 10:{if(!(message.publicDependency&&message.publicDependency.length))message.publicDependency=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.publicDependency.push(reader.int32())}else message.publicDependency.push(reader.int32());break}case 11:{if(!(message.weakDependency&&message.weakDependency.length))message.weakDependency=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.weakDependency.push(reader.int32())}else message.weakDependency.push(reader.int32());break}case 15:{if(!(message.optionDependency&&message.optionDependency.length))message.optionDependency=[];message.optionDependency.push(reader.string());break}case 4:{if(!(message.messageType&&message.messageType.length))message.messageType=[];message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.enumType&&message.enumType.length))message.enumType=[];message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 6:{if(!(message.service&&message.service.length))message.service=[];message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{if(!(message.extension&&message.extension.length))message.extension=[];message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{message.options=$root.google.protobuf.FileOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.decode(reader,reader.uint32(),undefined,long+1);break}case 12:{message.syntax=reader.string();break}case 14:{message.edition=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FileDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message["package"]!=null&&message.hasOwnProperty("package"))if(!$util.isString(message["package"]))return"package: string expected";if(message.dependency!=null&&message.hasOwnProperty("dependency")){if(!Array.isArray(message.dependency))return"dependency: array expected";for(var i=0;i<message.dependency.length;++i)if(!$util.isString(message.dependency[i]))return"dependency: string[] expected"}if(message.publicDependency!=null&&message.hasOwnProperty("publicDependency")){if(!Array.isArray(message.publicDependency))return"publicDependency: array expected";for(var i=0;i<message.publicDependency.length;++i)if(!$util.isInteger(message.publicDependency[i]))return"publicDependency: integer[] expected"}if(message.weakDependency!=null&&message.hasOwnProperty("weakDependency")){if(!Array.isArray(message.weakDependency))return"weakDependency: array expected";for(var i=0;i<message.weakDependency.length;++i)if(!$util.isInteger(message.weakDependency[i]))return"weakDependency: integer[] expected"}if(message.optionDependency!=null&&message.hasOwnProperty("optionDependency")){if(!Array.isArray(message.optionDependency))return"optionDependency: array expected";for(var i=0;i<message.optionDependency.length;++i)if(!$util.isString(message.optionDependency[i]))return"optionDependency: string[] expected"}if(message.messageType!=null&&message.hasOwnProperty("messageType")){if(!Array.isArray(message.messageType))return"messageType: array expected";for(var i=0;i<message.messageType.length;++i){var error=$root.google.protobuf.DescriptorProto.verify(message.messageType[i],long+1);if(error)return"messageType."+error}}if(message.enumType!=null&&message.hasOwnProperty("enumType")){if(!Array.isArray(message.enumType))return"enumType: array expected";for(var i=0;i<message.enumType.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i],long+1);if(error)return"enumType."+error}}if(message.service!=null&&message.hasOwnProperty("service")){if(!Array.isArray(message.service))return"service: array expected";for(var i=0;i<message.service.length;++i){var error=$root.google.protobuf.ServiceDescriptorProto.verify(message.service[i],long+1);if(error)return"service."+error}}if(message.extension!=null&&message.hasOwnProperty("extension")){if(!Array.isArray(message.extension))return"extension: array expected";for(var i=0;i<message.extension.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.extension[i],long+1);if(error)return"extension."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.FileOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.sourceCodeInfo!=null&&message.hasOwnProperty("sourceCodeInfo")){var error=$root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo,long+1);if(error)return"sourceCodeInfo."+error}if(message.syntax!=null&&message.hasOwnProperty("syntax"))if(!$util.isString(message.syntax))return"syntax: string expected";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}return null};FileDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object["package"]!=null)message["package"]=String(object["package"]);if(object.dependency){if(!Array.isArray(object.dependency))throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");message.dependency=[];for(var i=0;i<object.dependency.length;++i)message.dependency[i]=String(object.dependency[i])}if(object.publicDependency){if(!Array.isArray(object.publicDependency))throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");message.publicDependency=[];for(var i=0;i<object.publicDependency.length;++i)message.publicDependency[i]=object.publicDependency[i]|0}if(object.weakDependency){if(!Array.isArray(object.weakDependency))throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");message.weakDependency=[];for(var i=0;i<object.weakDependency.length;++i)message.weakDependency[i]=object.weakDependency[i]|0}if(object.optionDependency){if(!Array.isArray(object.optionDependency))throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected");message.optionDependency=[];for(var i=0;i<object.optionDependency.length;++i)message.optionDependency[i]=String(object.optionDependency[i])}if(object.messageType){if(!Array.isArray(object.messageType))throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");message.messageType=[];for(var i=0;i<object.messageType.length;++i){if(typeof object.messageType[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");message.messageType[i]=$root.google.protobuf.DescriptorProto.fromObject(object.messageType[i],long+1)}}if(object.enumType){if(!Array.isArray(object.enumType))throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");message.enumType=[];for(var i=0;i<object.enumType.length;++i){if(typeof object.enumType[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");message.enumType[i]=$root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i],long+1)}}if(object.service){if(!Array.isArray(object.service))throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");message.service=[];for(var i=0;i<object.service.length;++i){if(typeof object.service[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");message.service[i]=$root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i],long+1)}}if(object.extension){if(!Array.isArray(object.extension))throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");message.extension=[];for(var i=0;i<object.extension.length;++i){if(typeof object.extension[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");message.extension[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");message.options=$root.google.protobuf.FileOptions.fromObject(object.options,long+1)}if(object.sourceCodeInfo!=null){if(typeof object.sourceCodeInfo!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");message.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo,long+1)}if(object.syntax!=null)message.syntax=String(object.syntax);switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}return message};FileDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.dependency=[];object.messageType=[];object.enumType=[];object.service=[];object.extension=[];object.publicDependency=[];object.weakDependency=[];object.optionDependency=[]}if(options.defaults){object.name="";object["package"]="";object.options=null;object.sourceCodeInfo=null;object.syntax="";object.edition=options.enums===String?"EDITION_UNKNOWN":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message["package"]!=null&&message.hasOwnProperty("package"))object["package"]=message["package"];if(message.dependency&&message.dependency.length){object.dependency=[];for(var j=0;j<message.dependency.length;++j)object.dependency[j]=message.dependency[j]}if(message.messageType&&message.messageType.length){object.messageType=[];for(var j=0;j<message.messageType.length;++j)object.messageType[j]=$root.google.protobuf.DescriptorProto.toObject(message.messageType[j],options)}if(message.enumType&&message.enumType.length){object.enumType=[];for(var j=0;j<message.enumType.length;++j)object.enumType[j]=$root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j],options)}if(message.service&&message.service.length){object.service=[];for(var j=0;j<message.service.length;++j)object.service[j]=$root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j],options)}if(message.extension&&message.extension.length){object.extension=[];for(var j=0;j<message.extension.length;++j)object.extension[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.FileOptions.toObject(message.options,options);if(message.sourceCodeInfo!=null&&message.hasOwnProperty("sourceCodeInfo"))object.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo,options);if(message.publicDependency&&message.publicDependency.length){object.publicDependency=[];for(var j=0;j<message.publicDependency.length;++j)object.publicDependency[j]=message.publicDependency[j]}if(message.weakDependency&&message.weakDependency.length){object.weakDependency=[];for(var j=0;j<message.weakDependency.length;++j)object.weakDependency[j]=message.weakDependency[j]}if(message.syntax!=null&&message.hasOwnProperty("syntax"))object.syntax=message.syntax;if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;if(message.optionDependency&&message.optionDependency.length){object.optionDependency=[];for(var j=0;j<message.optionDependency.length;++j)object.optionDependency[j]=message.optionDependency[j]}return object};FileDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileDescriptorProto"};return FileDescriptorProto}();protobuf.DescriptorProto=function(){function DescriptorProto(properties){this.field=[];this.extension=[];this.nestedType=[];this.enumType=[];this.extensionRange=[];this.oneofDecl=[];this.reservedRange=[];this.reservedName=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DescriptorProto.prototype.name="";DescriptorProto.prototype.field=$util.emptyArray;DescriptorProto.prototype.extension=$util.emptyArray;DescriptorProto.prototype.nestedType=$util.emptyArray;DescriptorProto.prototype.enumType=$util.emptyArray;DescriptorProto.prototype.extensionRange=$util.emptyArray;DescriptorProto.prototype.oneofDecl=$util.emptyArray;DescriptorProto.prototype.options=null;DescriptorProto.prototype.reservedRange=$util.emptyArray;DescriptorProto.prototype.reservedName=$util.emptyArray;DescriptorProto.prototype.visibility=0;DescriptorProto.create=function create(properties){return new DescriptorProto(properties)};DescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.field!=null&&message.field.length)for(var i=0;i<message.field.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.field[i],writer.uint32(18).fork()).ldelim();if(message.nestedType!=null&&message.nestedType.length)for(var i=0;i<message.nestedType.length;++i)$root.google.protobuf.DescriptorProto.encode(message.nestedType[i],writer.uint32(26).fork()).ldelim();if(message.enumType!=null&&message.enumType.length)for(var i=0;i<message.enumType.length;++i)$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i],writer.uint32(34).fork()).ldelim();if(message.extensionRange!=null&&message.extensionRange.length)for(var i=0;i<message.extensionRange.length;++i)$root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i],writer.uint32(42).fork()).ldelim();if(message.extension!=null&&message.extension.length)for(var i=0;i<message.extension.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i],writer.uint32(50).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.MessageOptions.encode(message.options,writer.uint32(58).fork()).ldelim();if(message.oneofDecl!=null&&message.oneofDecl.length)for(var i=0;i<message.oneofDecl.length;++i)$root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i],writer.uint32(66).fork()).ldelim();if(message.reservedRange!=null&&message.reservedRange.length)for(var i=0;i<message.reservedRange.length;++i)$root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i],writer.uint32(74).fork()).ldelim();if(message.reservedName!=null&&message.reservedName.length)for(var i=0;i<message.reservedName.length;++i)writer.uint32(82).string(message.reservedName[i]);if(message.visibility!=null&&Object.hasOwnProperty.call(message,"visibility"))writer.uint32(88).int32(message.visibility);return writer};DescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.field&&message.field.length))message.field=[];message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 6:{if(!(message.extension&&message.extension.length))message.extension=[];message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{if(!(message.nestedType&&message.nestedType.length))message.nestedType=[];message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{if(!(message.enumType&&message.enumType.length))message.enumType=[];message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.extensionRange&&message.extensionRange.length))message.extensionRange=[];message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{if(!(message.oneofDecl&&message.oneofDecl.length))message.oneofDecl=[];message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{message.options=$root.google.protobuf.MessageOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 10:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 11:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};DescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.field!=null&&message.hasOwnProperty("field")){if(!Array.isArray(message.field))return"field: array expected";for(var i=0;i<message.field.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.field[i],long+1);if(error)return"field."+error}}if(message.extension!=null&&message.hasOwnProperty("extension")){if(!Array.isArray(message.extension))return"extension: array expected";for(var i=0;i<message.extension.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.extension[i],long+1);if(error)return"extension."+error}}if(message.nestedType!=null&&message.hasOwnProperty("nestedType")){if(!Array.isArray(message.nestedType))return"nestedType: array expected";for(var i=0;i<message.nestedType.length;++i){var error=$root.google.protobuf.DescriptorProto.verify(message.nestedType[i],long+1);if(error)return"nestedType."+error}}if(message.enumType!=null&&message.hasOwnProperty("enumType")){if(!Array.isArray(message.enumType))return"enumType: array expected";for(var i=0;i<message.enumType.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i],long+1);if(error)return"enumType."+error}}if(message.extensionRange!=null&&message.hasOwnProperty("extensionRange")){if(!Array.isArray(message.extensionRange))return"extensionRange: array expected";for(var i=0;i<message.extensionRange.length;++i){var error=$root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i],long+1);if(error)return"extensionRange."+error}}if(message.oneofDecl!=null&&message.hasOwnProperty("oneofDecl")){if(!Array.isArray(message.oneofDecl))return"oneofDecl: array expected";for(var i=0;i<message.oneofDecl.length;++i){var error=$root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i],long+1);if(error)return"oneofDecl."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.MessageOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.reservedRange!=null&&message.hasOwnProperty("reservedRange")){if(!Array.isArray(message.reservedRange))return"reservedRange: array expected";for(var i=0;i<message.reservedRange.length;++i){var error=$root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i],long+1);if(error)return"reservedRange."+error}}if(message.reservedName!=null&&message.hasOwnProperty("reservedName")){if(!Array.isArray(message.reservedName))return"reservedName: array expected";for(var i=0;i<message.reservedName.length;++i)if(!$util.isString(message.reservedName[i]))return"reservedName: string[] expected"}if(message.visibility!=null&&message.hasOwnProperty("visibility"))switch(message.visibility){default:return"visibility: enum value expected";case 0:case 1:case 2:break}return null};DescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.field){if(!Array.isArray(object.field))throw TypeError(".google.protobuf.DescriptorProto.field: array expected");message.field=[];for(var i=0;i<object.field.length;++i){if(typeof object.field[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.field: object expected");message.field[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i],long+1)}}if(object.extension){if(!Array.isArray(object.extension))throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");message.extension=[];for(var i=0;i<object.extension.length;++i){if(typeof object.extension[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");message.extension[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i],long+1)}}if(object.nestedType){if(!Array.isArray(object.nestedType))throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");message.nestedType=[];for(var i=0;i<object.nestedType.length;++i){if(typeof object.nestedType[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");message.nestedType[i]=$root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i],long+1)}}if(object.enumType){if(!Array.isArray(object.enumType))throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");message.enumType=[];for(var i=0;i<object.enumType.length;++i){if(typeof object.enumType[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");message.enumType[i]=$root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i],long+1)}}if(object.extensionRange){if(!Array.isArray(object.extensionRange))throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");message.extensionRange=[];for(var i=0;i<object.extensionRange.length;++i){if(typeof object.extensionRange[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");message.extensionRange[i]=$root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i],long+1)}}if(object.oneofDecl){if(!Array.isArray(object.oneofDecl))throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");message.oneofDecl=[];for(var i=0;i<object.oneofDecl.length;++i){if(typeof object.oneofDecl[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");message.oneofDecl[i]=$root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.DescriptorProto.options: object expected");message.options=$root.google.protobuf.MessageOptions.fromObject(object.options,long+1)}if(object.reservedRange){if(!Array.isArray(object.reservedRange))throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");message.reservedRange=[];for(var i=0;i<object.reservedRange.length;++i){if(typeof object.reservedRange[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");message.reservedRange[i]=$root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i],long+1)}}if(object.reservedName){if(!Array.isArray(object.reservedName))throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");message.reservedName=[];for(var i=0;i<object.reservedName.length;++i)message.reservedName[i]=String(object.reservedName[i])}switch(object.visibility){default:if(typeof object.visibility==="number"){message.visibility=object.visibility;break}break;case"VISIBILITY_UNSET":case 0:message.visibility=0;break;case"VISIBILITY_LOCAL":case 1:message.visibility=1;break;case"VISIBILITY_EXPORT":case 2:message.visibility=2;break}return message};DescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.field=[];object.nestedType=[];object.enumType=[];object.extensionRange=[];object.extension=[];object.oneofDecl=[];object.reservedRange=[];object.reservedName=[]}if(options.defaults){object.name="";object.options=null;object.visibility=options.enums===String?"VISIBILITY_UNSET":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.field&&message.field.length){object.field=[];for(var j=0;j<message.field.length;++j)object.field[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.field[j],options)}if(message.nestedType&&message.nestedType.length){object.nestedType=[];for(var j=0;j<message.nestedType.length;++j)object.nestedType[j]=$root.google.protobuf.DescriptorProto.toObject(message.nestedType[j],options)}if(message.enumType&&message.enumType.length){object.enumType=[];for(var j=0;j<message.enumType.length;++j)object.enumType[j]=$root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j],options)}if(message.extensionRange&&message.extensionRange.length){object.extensionRange=[];for(var j=0;j<message.extensionRange.length;++j)object.extensionRange[j]=$root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j],options)}if(message.extension&&message.extension.length){object.extension=[];for(var j=0;j<message.extension.length;++j)object.extension[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.MessageOptions.toObject(message.options,options);if(message.oneofDecl&&message.oneofDecl.length){object.oneofDecl=[];for(var j=0;j<message.oneofDecl.length;++j)object.oneofDecl[j]=$root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j],options)}if(message.reservedRange&&message.reservedRange.length){object.reservedRange=[];for(var j=0;j<message.reservedRange.length;++j)object.reservedRange[j]=$root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j],options)}if(message.reservedName&&message.reservedName.length){object.reservedName=[];for(var j=0;j<message.reservedName.length;++j)object.reservedName[j]=message.reservedName[j]}if(message.visibility!=null&&message.hasOwnProperty("visibility"))object.visibility=options.enums===String?$root.google.protobuf.SymbolVisibility[message.visibility]===undefined?message.visibility:$root.google.protobuf.SymbolVisibility[message.visibility]:message.visibility;return object};DescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto"};DescriptorProto.ExtensionRange=function(){function ExtensionRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExtensionRange.prototype.start=0;ExtensionRange.prototype.end=0;ExtensionRange.prototype.options=null;ExtensionRange.create=function create(properties){return new ExtensionRange(properties)};ExtensionRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.ExtensionRangeOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};ExtensionRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExtensionRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ExtensionRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}case 3:{message.options=$root.google.protobuf.ExtensionRangeOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.ExtensionRangeOptions.verify(message.options,long+1);if(error)return"options."+error}return null};ExtensionRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ExtensionRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");message.options=$root.google.protobuf.ExtensionRangeOptions.fromObject(object.options,long+1)}return message};ExtensionRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0;object.options=null}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.ExtensionRangeOptions.toObject(message.options,options);return object};ExtensionRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExtensionRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ExtensionRange"};return ExtensionRange}();DescriptorProto.ReservedRange=function(){function ReservedRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ReservedRange.prototype.start=0;ReservedRange.prototype.end=0;ReservedRange.create=function create(properties){return new ReservedRange(properties)};ReservedRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);return writer};ReservedRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ReservedRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ReservedRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};ReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};ReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};ReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ReservedRange"};return ReservedRange}();return DescriptorProto}();protobuf.ExtensionRangeOptions=function(){function ExtensionRangeOptions(properties){this.uninterpretedOption=[];this.declaration=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExtensionRangeOptions.prototype.uninterpretedOption=$util.emptyArray;ExtensionRangeOptions.prototype.declaration=$util.emptyArray;ExtensionRangeOptions.prototype.features=null;ExtensionRangeOptions.prototype.verification=1;ExtensionRangeOptions.create=function create(properties){return new ExtensionRangeOptions(properties)};ExtensionRangeOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.declaration!=null&&message.declaration.length)for(var i=0;i<message.declaration.length;++i)$root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i],writer.uint32(18).fork()).ldelim();if(message.verification!=null&&Object.hasOwnProperty.call(message,"verification"))writer.uint32(24).int32(message.verification);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(402).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};ExtensionRangeOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExtensionRangeOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{if(!(message.declaration&&message.declaration.length))message.declaration=[];message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader,reader.uint32(),undefined,long+1));break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.verification=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRangeOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRangeOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message.declaration!=null&&message.hasOwnProperty("declaration")){if(!Array.isArray(message.declaration))return"declaration: array expected";for(var i=0;i<message.declaration.length;++i){var error=$root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i],long+1);if(error)return"declaration."+error}}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.verification!=null&&message.hasOwnProperty("verification"))switch(message.verification){default:return"verification: enum value expected";case 0:case 1:break}return null};ExtensionRangeOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ExtensionRangeOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions;if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object.declaration){if(!Array.isArray(object.declaration))throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");message.declaration=[];for(var i=0;i<object.declaration.length;++i){if(typeof object.declaration[i]!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");message.declaration[i]=$root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i],long+1)}}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}switch(object.verification){case"DECLARATION":case 0:message.verification=0;break;default:if(typeof object.verification==="number"){message.verification=object.verification;break}break;case"UNVERIFIED":case 1:message.verification=1;break}return message};ExtensionRangeOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.declaration=[];object.uninterpretedOption=[]}if(options.defaults){object.verification=options.enums===String?"UNVERIFIED":1;object.features=null}if(message.declaration&&message.declaration.length){object.declaration=[];for(var j=0;j<message.declaration.length;++j)object.declaration[j]=$root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j],options)}if(message.verification!=null&&message.hasOwnProperty("verification"))object.verification=options.enums===String?$root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification]===undefined?message.verification:$root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification]:message.verification;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};ExtensionRangeOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExtensionRangeOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ExtensionRangeOptions"};ExtensionRangeOptions.Declaration=function(){function Declaration(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Declaration.prototype.number=0;Declaration.prototype.fullName="";Declaration.prototype.type="";Declaration.prototype.reserved=false;Declaration.prototype.repeated=false;Declaration.create=function create(properties){return new Declaration(properties)};Declaration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(8).int32(message.number);if(message.fullName!=null&&Object.hasOwnProperty.call(message,"fullName"))writer.uint32(18).string(message.fullName);if(message.type!=null&&Object.hasOwnProperty.call(message,"type"))writer.uint32(26).string(message.type);if(message.reserved!=null&&Object.hasOwnProperty.call(message,"reserved"))writer.uint32(40).bool(message.reserved);if(message.repeated!=null&&Object.hasOwnProperty.call(message,"repeated"))writer.uint32(48).bool(message.repeated);return writer};Declaration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Declaration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.number=reader.int32();break}case 2:{message.fullName=reader.string();break}case 3:{message.type=reader.string();break}case 5:{message.reserved=reader.bool();break}case 6:{message.repeated=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Declaration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Declaration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.fullName!=null&&message.hasOwnProperty("fullName"))if(!$util.isString(message.fullName))return"fullName: string expected";if(message.type!=null&&message.hasOwnProperty("type"))if(!$util.isString(message.type))return"type: string expected";if(message.reserved!=null&&message.hasOwnProperty("reserved"))if(typeof message.reserved!=="boolean")return"reserved: boolean expected";if(message.repeated!=null&&message.hasOwnProperty("repeated"))if(typeof message.repeated!=="boolean")return"repeated: boolean expected";return null};Declaration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;if(object.number!=null)message.number=object.number|0;if(object.fullName!=null)message.fullName=String(object.fullName);if(object.type!=null)message.type=String(object.type);if(object.reserved!=null)message.reserved=Boolean(object.reserved);if(object.repeated!=null)message.repeated=Boolean(object.repeated);return message};Declaration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.number=0;object.fullName="";object.type="";object.reserved=false;object.repeated=false}if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.fullName!=null&&message.hasOwnProperty("fullName"))object.fullName=message.fullName;if(message.type!=null&&message.hasOwnProperty("type"))object.type=message.type;if(message.reserved!=null&&message.hasOwnProperty("reserved"))object.reserved=message.reserved;if(message.repeated!=null&&message.hasOwnProperty("repeated"))object.repeated=message.repeated;return object};Declaration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Declaration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ExtensionRangeOptions.Declaration"};return Declaration}();ExtensionRangeOptions.VerificationState=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DECLARATION"]=0;values[valuesById[1]="UNVERIFIED"]=1;return values}();return ExtensionRangeOptions}();protobuf.FieldDescriptorProto=function(){function FieldDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FieldDescriptorProto.prototype.name="";FieldDescriptorProto.prototype.number=0;FieldDescriptorProto.prototype.label=1;FieldDescriptorProto.prototype.type=1;FieldDescriptorProto.prototype.typeName="";FieldDescriptorProto.prototype.extendee="";FieldDescriptorProto.prototype.defaultValue="";FieldDescriptorProto.prototype.oneofIndex=0;FieldDescriptorProto.prototype.jsonName="";FieldDescriptorProto.prototype.options=null;FieldDescriptorProto.prototype.proto3Optional=false;FieldDescriptorProto.create=function create(properties){return new FieldDescriptorProto(properties)};FieldDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.extendee!=null&&Object.hasOwnProperty.call(message,"extendee"))writer.uint32(18).string(message.extendee);if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(24).int32(message.number);if(message.label!=null&&Object.hasOwnProperty.call(message,"label"))writer.uint32(32).int32(message.label);if(message.type!=null&&Object.hasOwnProperty.call(message,"type"))writer.uint32(40).int32(message.type);if(message.typeName!=null&&Object.hasOwnProperty.call(message,"typeName"))writer.uint32(50).string(message.typeName);if(message.defaultValue!=null&&Object.hasOwnProperty.call(message,"defaultValue"))writer.uint32(58).string(message.defaultValue);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.FieldOptions.encode(message.options,writer.uint32(66).fork()).ldelim();if(message.oneofIndex!=null&&Object.hasOwnProperty.call(message,"oneofIndex"))writer.uint32(72).int32(message.oneofIndex);if(message.jsonName!=null&&Object.hasOwnProperty.call(message,"jsonName"))writer.uint32(82).string(message.jsonName);if(message.proto3Optional!=null&&Object.hasOwnProperty.call(message,"proto3Optional"))writer.uint32(136).bool(message.proto3Optional);return writer};FieldDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FieldDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 3:{message.number=reader.int32();break}case 4:{message.label=reader.int32();break}case 5:{message.type=reader.int32();break}case 6:{message.typeName=reader.string();break}case 2:{message.extendee=reader.string();break}case 7:{message.defaultValue=reader.string();break}case 9:{message.oneofIndex=reader.int32();break}case 10:{message.jsonName=reader.string();break}case 8:{message.options=$root.google.protobuf.FieldOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 17:{message.proto3Optional=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};FieldDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FieldDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.label!=null&&message.hasOwnProperty("label"))switch(message.label){default:return"label: enum value expected";case 1:case 3:case 2:break}if(message.type!=null&&message.hasOwnProperty("type"))switch(message.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:break}if(message.typeName!=null&&message.hasOwnProperty("typeName"))if(!$util.isString(message.typeName))return"typeName: string expected";if(message.extendee!=null&&message.hasOwnProperty("extendee"))if(!$util.isString(message.extendee))return"extendee: string expected";if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))if(!$util.isString(message.defaultValue))return"defaultValue: string expected";if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))if(!$util.isInteger(message.oneofIndex))return"oneofIndex: integer expected";if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))if(!$util.isString(message.jsonName))return"jsonName: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.FieldOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))if(typeof message.proto3Optional!=="boolean")return"proto3Optional: boolean expected";return null};FieldDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;switch(object.label){default:if(typeof object.label==="number"){message.label=object.label;break}break;case"LABEL_OPTIONAL":case 1:message.label=1;break;case"LABEL_REPEATED":case 3:message.label=3;break;case"LABEL_REQUIRED":case 2:message.label=2;break}switch(object.type){default:if(typeof object.type==="number"){message.type=object.type;break}break;case"TYPE_DOUBLE":case 1:message.type=1;break;case"TYPE_FLOAT":case 2:message.type=2;break;case"TYPE_INT64":case 3:message.type=3;break;case"TYPE_UINT64":case 4:message.type=4;break;case"TYPE_INT32":case 5:message.type=5;break;case"TYPE_FIXED64":case 6:message.type=6;break;case"TYPE_FIXED32":case 7:message.type=7;break;case"TYPE_BOOL":case 8:message.type=8;break;case"TYPE_STRING":case 9:message.type=9;break;case"TYPE_GROUP":case 10:message.type=10;break;case"TYPE_MESSAGE":case 11:message.type=11;break;case"TYPE_BYTES":case 12:message.type=12;break;case"TYPE_UINT32":case 13:message.type=13;break;case"TYPE_ENUM":case 14:message.type=14;break;case"TYPE_SFIXED32":case 15:message.type=15;break;case"TYPE_SFIXED64":case 16:message.type=16;break;case"TYPE_SINT32":case 17:message.type=17;break;case"TYPE_SINT64":case 18:message.type=18;break}if(object.typeName!=null)message.typeName=String(object.typeName);if(object.extendee!=null)message.extendee=String(object.extendee);if(object.defaultValue!=null)message.defaultValue=String(object.defaultValue);if(object.oneofIndex!=null)message.oneofIndex=object.oneofIndex|0;if(object.jsonName!=null)message.jsonName=String(object.jsonName);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");message.options=$root.google.protobuf.FieldOptions.fromObject(object.options,long+1)}if(object.proto3Optional!=null)message.proto3Optional=Boolean(object.proto3Optional);return message};FieldDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.extendee="";object.number=0;object.label=options.enums===String?"LABEL_OPTIONAL":1;object.type=options.enums===String?"TYPE_DOUBLE":1;object.typeName="";object.defaultValue="";object.options=null;object.oneofIndex=0;object.jsonName="";object.proto3Optional=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.extendee!=null&&message.hasOwnProperty("extendee"))object.extendee=message.extendee;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.label!=null&&message.hasOwnProperty("label"))object.label=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Label[message.label]===undefined?message.label:$root.google.protobuf.FieldDescriptorProto.Label[message.label]:message.label;if(message.type!=null&&message.hasOwnProperty("type"))object.type=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Type[message.type]===undefined?message.type:$root.google.protobuf.FieldDescriptorProto.Type[message.type]:message.type;if(message.typeName!=null&&message.hasOwnProperty("typeName"))object.typeName=message.typeName;if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))object.defaultValue=message.defaultValue;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.FieldOptions.toObject(message.options,options);if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))object.oneofIndex=message.oneofIndex;if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))object.jsonName=message.jsonName;if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))object.proto3Optional=message.proto3Optional;return object};FieldDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FieldDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldDescriptorProto"};FieldDescriptorProto.Type=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="TYPE_DOUBLE"]=1;values[valuesById[2]="TYPE_FLOAT"]=2;values[valuesById[3]="TYPE_INT64"]=3;values[valuesById[4]="TYPE_UINT64"]=4;values[valuesById[5]="TYPE_INT32"]=5;values[valuesById[6]="TYPE_FIXED64"]=6;values[valuesById[7]="TYPE_FIXED32"]=7;values[valuesById[8]="TYPE_BOOL"]=8;values[valuesById[9]="TYPE_STRING"]=9;values[valuesById[10]="TYPE_GROUP"]=10;values[valuesById[11]="TYPE_MESSAGE"]=11;values[valuesById[12]="TYPE_BYTES"]=12;values[valuesById[13]="TYPE_UINT32"]=13;values[valuesById[14]="TYPE_ENUM"]=14;values[valuesById[15]="TYPE_SFIXED32"]=15;values[valuesById[16]="TYPE_SFIXED64"]=16;values[valuesById[17]="TYPE_SINT32"]=17;values[valuesById[18]="TYPE_SINT64"]=18;return values}();FieldDescriptorProto.Label=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="LABEL_OPTIONAL"]=1;values[valuesById[3]="LABEL_REPEATED"]=3;values[valuesById[2]="LABEL_REQUIRED"]=2;return values}();return FieldDescriptorProto}();protobuf.OneofDescriptorProto=function(){function OneofDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}OneofDescriptorProto.prototype.name="";OneofDescriptorProto.prototype.options=null;OneofDescriptorProto.create=function create(properties){return new OneofDescriptorProto(properties)};OneofDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.OneofOptions.encode(message.options,writer.uint32(18).fork()).ldelim();return writer};OneofDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};OneofDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.options=$root.google.protobuf.OneofOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};OneofDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.OneofOptions.verify(message.options,long+1);if(error)return"options."+error}return null};OneofDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.OneofDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");message.options=$root.google.protobuf.OneofOptions.fromObject(object.options,long+1)}return message};OneofDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.OneofOptions.toObject(message.options,options);return object};OneofDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};OneofDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.OneofDescriptorProto"};return OneofDescriptorProto}();protobuf.EnumDescriptorProto=function(){function EnumDescriptorProto(properties){this.value=[];this.reservedRange=[];this.reservedName=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumDescriptorProto.prototype.name="";EnumDescriptorProto.prototype.value=$util.emptyArray;EnumDescriptorProto.prototype.options=null;EnumDescriptorProto.prototype.reservedRange=$util.emptyArray;EnumDescriptorProto.prototype.reservedName=$util.emptyArray;EnumDescriptorProto.prototype.visibility=0;EnumDescriptorProto.create=function create(properties){return new EnumDescriptorProto(properties)};EnumDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.value!=null&&message.value.length)for(var i=0;i<message.value.length;++i)$root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i],writer.uint32(18).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.EnumOptions.encode(message.options,writer.uint32(26).fork()).ldelim();if(message.reservedRange!=null&&message.reservedRange.length)for(var i=0;i<message.reservedRange.length;++i)$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i],writer.uint32(34).fork()).ldelim();if(message.reservedName!=null&&message.reservedName.length)for(var i=0;i<message.reservedName.length;++i)writer.uint32(42).string(message.reservedName[i]);if(message.visibility!=null&&Object.hasOwnProperty.call(message,"visibility"))writer.uint32(48).int32(message.visibility);return writer};EnumDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.value&&message.value.length))message.value=[];message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.EnumOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 6:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.value!=null&&message.hasOwnProperty("value")){if(!Array.isArray(message.value))return"value: array expected";for(var i=0;i<message.value.length;++i){var error=$root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i],long+1);if(error)return"value."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.EnumOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.reservedRange!=null&&message.hasOwnProperty("reservedRange")){if(!Array.isArray(message.reservedRange))return"reservedRange: array expected";for(var i=0;i<message.reservedRange.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i],long+1);if(error)return"reservedRange."+error}}if(message.reservedName!=null&&message.hasOwnProperty("reservedName")){if(!Array.isArray(message.reservedName))return"reservedName: array expected";for(var i=0;i<message.reservedName.length;++i)if(!$util.isString(message.reservedName[i]))return"reservedName: string[] expected"}if(message.visibility!=null&&message.hasOwnProperty("visibility"))switch(message.visibility){default:return"visibility: enum value expected";case 0:case 1:case 2:break}return null};EnumDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.value){if(!Array.isArray(object.value))throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");message.value=[];for(var i=0;i<object.value.length;++i){if(typeof object.value[i]!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");message.value[i]=$root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");message.options=$root.google.protobuf.EnumOptions.fromObject(object.options,long+1)}if(object.reservedRange){if(!Array.isArray(object.reservedRange))throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");message.reservedRange=[];for(var i=0;i<object.reservedRange.length;++i){if(typeof object.reservedRange[i]!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");message.reservedRange[i]=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i],long+1)}}if(object.reservedName){if(!Array.isArray(object.reservedName))throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");message.reservedName=[];for(var i=0;i<object.reservedName.length;++i)message.reservedName[i]=String(object.reservedName[i])}switch(object.visibility){default:if(typeof object.visibility==="number"){message.visibility=object.visibility;break}break;case"VISIBILITY_UNSET":case 0:message.visibility=0;break;case"VISIBILITY_LOCAL":case 1:message.visibility=1;break;case"VISIBILITY_EXPORT":case 2:message.visibility=2;break}return message};EnumDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.value=[];object.reservedRange=[];object.reservedName=[]}if(options.defaults){object.name="";object.options=null;object.visibility=options.enums===String?"VISIBILITY_UNSET":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.value&&message.value.length){object.value=[];for(var j=0;j<message.value.length;++j)object.value[j]=$root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.EnumOptions.toObject(message.options,options);if(message.reservedRange&&message.reservedRange.length){object.reservedRange=[];for(var j=0;j<message.reservedRange.length;++j)object.reservedRange[j]=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j],options)}if(message.reservedName&&message.reservedName.length){object.reservedName=[];for(var j=0;j<message.reservedName.length;++j)object.reservedName[j]=message.reservedName[j]}if(message.visibility!=null&&message.hasOwnProperty("visibility"))object.visibility=options.enums===String?$root.google.protobuf.SymbolVisibility[message.visibility]===undefined?message.visibility:$root.google.protobuf.SymbolVisibility[message.visibility]:message.visibility;return object};EnumDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumDescriptorProto"};EnumDescriptorProto.EnumReservedRange=function(){function EnumReservedRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumReservedRange.prototype.start=0;EnumReservedRange.prototype.end=0;EnumReservedRange.create=function create(properties){return new EnumReservedRange(properties)};EnumReservedRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);return writer};EnumReservedRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumReservedRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};EnumReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};EnumReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};EnumReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumDescriptorProto.EnumReservedRange"};return EnumReservedRange}();return EnumDescriptorProto}();protobuf.EnumValueDescriptorProto=function(){function EnumValueDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumValueDescriptorProto.prototype.name="";EnumValueDescriptorProto.prototype.number=0;EnumValueDescriptorProto.prototype.options=null;EnumValueDescriptorProto.create=function create(properties){return new EnumValueDescriptorProto(properties)};EnumValueDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(16).int32(message.number);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.EnumValueOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};EnumValueDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumValueDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.number=reader.int32();break}case 3:{message.options=$root.google.protobuf.EnumValueOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};EnumValueDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.EnumValueOptions.verify(message.options,long+1);if(error)return"options."+error}return null};EnumValueDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumValueDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");message.options=$root.google.protobuf.EnumValueOptions.fromObject(object.options,long+1)}return message};EnumValueDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.number=0;object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.EnumValueOptions.toObject(message.options,options);return object};EnumValueDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumValueDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumValueDescriptorProto"};return EnumValueDescriptorProto}();protobuf.ServiceDescriptorProto=function(){function ServiceDescriptorProto(properties){this.method=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ServiceDescriptorProto.prototype.name="";ServiceDescriptorProto.prototype.method=$util.emptyArray;ServiceDescriptorProto.prototype.options=null;ServiceDescriptorProto.create=function create(properties){return new ServiceDescriptorProto(properties)};ServiceDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.method!=null&&message.method.length)for(var i=0;i<message.method.length;++i)$root.google.protobuf.MethodDescriptorProto.encode(message.method[i],writer.uint32(18).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.ServiceOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};ServiceDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ServiceDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.method&&message.method.length))message.method=[];message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.ServiceOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ServiceDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.method!=null&&message.hasOwnProperty("method")){if(!Array.isArray(message.method))return"method: array expected";for(var i=0;i<message.method.length;++i){var error=$root.google.protobuf.MethodDescriptorProto.verify(message.method[i],long+1);if(error)return"method."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.ServiceOptions.verify(message.options,long+1);if(error)return"options."+error}return null};ServiceDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ServiceDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.method){if(!Array.isArray(object.method))throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");message.method=[];for(var i=0;i<object.method.length;++i){if(typeof object.method[i]!=="object")throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");message.method[i]=$root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");message.options=$root.google.protobuf.ServiceOptions.fromObject(object.options,long+1)}return message};ServiceDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.method=[];if(options.defaults){object.name="";object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.method&&message.method.length){object.method=[];for(var j=0;j<message.method.length;++j)object.method[j]=$root.google.protobuf.MethodDescriptorProto.toObject(message.method[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.ServiceOptions.toObject(message.options,options);return object};ServiceDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ServiceDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ServiceDescriptorProto"};return ServiceDescriptorProto}();protobuf.MethodDescriptorProto=function(){function MethodDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodDescriptorProto.prototype.name="";MethodDescriptorProto.prototype.inputType="";MethodDescriptorProto.prototype.outputType="";MethodDescriptorProto.prototype.options=null;MethodDescriptorProto.prototype.clientStreaming=false;MethodDescriptorProto.prototype.serverStreaming=false;MethodDescriptorProto.create=function create(properties){return new MethodDescriptorProto(properties)};MethodDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.inputType!=null&&Object.hasOwnProperty.call(message,"inputType"))writer.uint32(18).string(message.inputType);if(message.outputType!=null&&Object.hasOwnProperty.call(message,"outputType"))writer.uint32(26).string(message.outputType);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.MethodOptions.encode(message.options,writer.uint32(34).fork()).ldelim();if(message.clientStreaming!=null&&Object.hasOwnProperty.call(message,"clientStreaming"))writer.uint32(40).bool(message.clientStreaming);if(message.serverStreaming!=null&&Object.hasOwnProperty.call(message,"serverStreaming"))writer.uint32(48).bool(message.serverStreaming);return writer};MethodDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.inputType=reader.string();break}case 3:{message.outputType=reader.string();break}case 4:{message.options=$root.google.protobuf.MethodOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.clientStreaming=reader.bool();break}case 6:{message.serverStreaming=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};MethodDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.inputType!=null&&message.hasOwnProperty("inputType"))if(!$util.isString(message.inputType))return"inputType: string expected";if(message.outputType!=null&&message.hasOwnProperty("outputType"))if(!$util.isString(message.outputType))return"outputType: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.MethodOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))if(typeof message.clientStreaming!=="boolean")return"clientStreaming: boolean expected";if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))if(typeof message.serverStreaming!=="boolean")return"serverStreaming: boolean expected";return null};MethodDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MethodDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.inputType!=null)message.inputType=String(object.inputType);if(object.outputType!=null)message.outputType=String(object.outputType);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");message.options=$root.google.protobuf.MethodOptions.fromObject(object.options,long+1)}if(object.clientStreaming!=null)message.clientStreaming=Boolean(object.clientStreaming);if(object.serverStreaming!=null)message.serverStreaming=Boolean(object.serverStreaming);return message};MethodDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.inputType="";object.outputType="";object.options=null;object.clientStreaming=false;object.serverStreaming=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.inputType!=null&&message.hasOwnProperty("inputType"))object.inputType=message.inputType;if(message.outputType!=null&&message.hasOwnProperty("outputType"))object.outputType=message.outputType;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.MethodOptions.toObject(message.options,options);if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))object.clientStreaming=message.clientStreaming;if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))object.serverStreaming=message.serverStreaming;return object};MethodDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MethodDescriptorProto"};return MethodDescriptorProto}();protobuf.FileOptions=function(){function FileOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileOptions.prototype.javaPackage="";FileOptions.prototype.javaOuterClassname="";FileOptions.prototype.javaMultipleFiles=false;FileOptions.prototype.javaGenerateEqualsAndHash=false;FileOptions.prototype.javaStringCheckUtf8=false;FileOptions.prototype.optimizeFor=1;FileOptions.prototype.goPackage="";FileOptions.prototype.ccGenericServices=false;FileOptions.prototype.javaGenericServices=false;FileOptions.prototype.pyGenericServices=false;FileOptions.prototype.deprecated=false;FileOptions.prototype.ccEnableArenas=true;FileOptions.prototype.objcClassPrefix="";FileOptions.prototype.csharpNamespace="";FileOptions.prototype.swiftPrefix="";FileOptions.prototype.phpClassPrefix="";FileOptions.prototype.phpNamespace="";FileOptions.prototype.phpMetadataNamespace="";FileOptions.prototype.rubyPackage="";FileOptions.prototype.features=null;FileOptions.prototype.uninterpretedOption=$util.emptyArray;FileOptions.create=function create(properties){return new FileOptions(properties)};FileOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.javaPackage!=null&&Object.hasOwnProperty.call(message,"javaPackage"))writer.uint32(10).string(message.javaPackage);if(message.javaOuterClassname!=null&&Object.hasOwnProperty.call(message,"javaOuterClassname"))writer.uint32(66).string(message.javaOuterClassname);if(message.optimizeFor!=null&&Object.hasOwnProperty.call(message,"optimizeFor"))writer.uint32(72).int32(message.optimizeFor);if(message.javaMultipleFiles!=null&&Object.hasOwnProperty.call(message,"javaMultipleFiles"))writer.uint32(80).bool(message.javaMultipleFiles);if(message.goPackage!=null&&Object.hasOwnProperty.call(message,"goPackage"))writer.uint32(90).string(message.goPackage);if(message.ccGenericServices!=null&&Object.hasOwnProperty.call(message,"ccGenericServices"))writer.uint32(128).bool(message.ccGenericServices);if(message.javaGenericServices!=null&&Object.hasOwnProperty.call(message,"javaGenericServices"))writer.uint32(136).bool(message.javaGenericServices);if(message.pyGenericServices!=null&&Object.hasOwnProperty.call(message,"pyGenericServices"))writer.uint32(144).bool(message.pyGenericServices);if(message.javaGenerateEqualsAndHash!=null&&Object.hasOwnProperty.call(message,"javaGenerateEqualsAndHash"))writer.uint32(160).bool(message.javaGenerateEqualsAndHash);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(184).bool(message.deprecated);if(message.javaStringCheckUtf8!=null&&Object.hasOwnProperty.call(message,"javaStringCheckUtf8"))writer.uint32(216).bool(message.javaStringCheckUtf8);if(message.ccEnableArenas!=null&&Object.hasOwnProperty.call(message,"ccEnableArenas"))writer.uint32(248).bool(message.ccEnableArenas);if(message.objcClassPrefix!=null&&Object.hasOwnProperty.call(message,"objcClassPrefix"))writer.uint32(290).string(message.objcClassPrefix);if(message.csharpNamespace!=null&&Object.hasOwnProperty.call(message,"csharpNamespace"))writer.uint32(298).string(message.csharpNamespace);if(message.swiftPrefix!=null&&Object.hasOwnProperty.call(message,"swiftPrefix"))writer.uint32(314).string(message.swiftPrefix);if(message.phpClassPrefix!=null&&Object.hasOwnProperty.call(message,"phpClassPrefix"))writer.uint32(322).string(message.phpClassPrefix);if(message.phpNamespace!=null&&Object.hasOwnProperty.call(message,"phpNamespace"))writer.uint32(330).string(message.phpNamespace);if(message.phpMetadataNamespace!=null&&Object.hasOwnProperty.call(message,"phpMetadataNamespace"))writer.uint32(354).string(message.phpMetadataNamespace);if(message.rubyPackage!=null&&Object.hasOwnProperty.call(message,"rubyPackage"))writer.uint32(362).string(message.rubyPackage);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(402).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};FileOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.javaPackage=reader.string();break}case 8:{message.javaOuterClassname=reader.string();break}case 10:{message.javaMultipleFiles=reader.bool();break}case 20:{message.javaGenerateEqualsAndHash=reader.bool();break}case 27:{message.javaStringCheckUtf8=reader.bool();break}case 9:{message.optimizeFor=reader.int32();break}case 11:{message.goPackage=reader.string();break}case 16:{message.ccGenericServices=reader.bool();break}case 17:{message.javaGenericServices=reader.bool();break}case 18:{message.pyGenericServices=reader.bool();break}case 23:{message.deprecated=reader.bool();break}case 31:{message.ccEnableArenas=reader.bool();break}case 36:{message.objcClassPrefix=reader.string();break}case 37:{message.csharpNamespace=reader.string();break}case 39:{message.swiftPrefix=reader.string();break}case 40:{message.phpClassPrefix=reader.string();break}case 41:{message.phpNamespace=reader.string();break}case 44:{message.phpMetadataNamespace=reader.string();break}case 45:{message.rubyPackage=reader.string();break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.javaPackage!=null&&message.hasOwnProperty("javaPackage"))if(!$util.isString(message.javaPackage))return"javaPackage: string expected";if(message.javaOuterClassname!=null&&message.hasOwnProperty("javaOuterClassname"))if(!$util.isString(message.javaOuterClassname))return"javaOuterClassname: string expected";if(message.javaMultipleFiles!=null&&message.hasOwnProperty("javaMultipleFiles"))if(typeof message.javaMultipleFiles!=="boolean")return"javaMultipleFiles: boolean expected";if(message.javaGenerateEqualsAndHash!=null&&message.hasOwnProperty("javaGenerateEqualsAndHash"))if(typeof message.javaGenerateEqualsAndHash!=="boolean")return"javaGenerateEqualsAndHash: boolean expected";if(message.javaStringCheckUtf8!=null&&message.hasOwnProperty("javaStringCheckUtf8"))if(typeof message.javaStringCheckUtf8!=="boolean")return"javaStringCheckUtf8: boolean expected";if(message.optimizeFor!=null&&message.hasOwnProperty("optimizeFor"))switch(message.optimizeFor){default:return"optimizeFor: enum value expected";case 1:case 2:case 3:break}if(message.goPackage!=null&&message.hasOwnProperty("goPackage"))if(!$util.isString(message.goPackage))return"goPackage: string expected";if(message.ccGenericServices!=null&&message.hasOwnProperty("ccGenericServices"))if(typeof message.ccGenericServices!=="boolean")return"ccGenericServices: boolean expected";if(message.javaGenericServices!=null&&message.hasOwnProperty("javaGenericServices"))if(typeof message.javaGenericServices!=="boolean")return"javaGenericServices: boolean expected";if(message.pyGenericServices!=null&&message.hasOwnProperty("pyGenericServices"))if(typeof message.pyGenericServices!=="boolean")return"pyGenericServices: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.ccEnableArenas!=null&&message.hasOwnProperty("ccEnableArenas"))if(typeof message.ccEnableArenas!=="boolean")return"ccEnableArenas: boolean expected";if(message.objcClassPrefix!=null&&message.hasOwnProperty("objcClassPrefix"))if(!$util.isString(message.objcClassPrefix))return"objcClassPrefix: string expected";if(message.csharpNamespace!=null&&message.hasOwnProperty("csharpNamespace"))if(!$util.isString(message.csharpNamespace))return"csharpNamespace: string expected";if(message.swiftPrefix!=null&&message.hasOwnProperty("swiftPrefix"))if(!$util.isString(message.swiftPrefix))return"swiftPrefix: string expected";if(message.phpClassPrefix!=null&&message.hasOwnProperty("phpClassPrefix"))if(!$util.isString(message.phpClassPrefix))return"phpClassPrefix: string expected";if(message.phpNamespace!=null&&message.hasOwnProperty("phpNamespace"))if(!$util.isString(message.phpNamespace))return"phpNamespace: string expected";if(message.phpMetadataNamespace!=null&&message.hasOwnProperty("phpMetadataNamespace"))if(!$util.isString(message.phpMetadataNamespace))return"phpMetadataNamespace: string expected";if(message.rubyPackage!=null&&message.hasOwnProperty("rubyPackage"))if(!$util.isString(message.rubyPackage))return"rubyPackage: string expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};FileOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileOptions;if(object.javaPackage!=null)message.javaPackage=String(object.javaPackage);if(object.javaOuterClassname!=null)message.javaOuterClassname=String(object.javaOuterClassname);if(object.javaMultipleFiles!=null)message.javaMultipleFiles=Boolean(object.javaMultipleFiles);if(object.javaGenerateEqualsAndHash!=null)message.javaGenerateEqualsAndHash=Boolean(object.javaGenerateEqualsAndHash);if(object.javaStringCheckUtf8!=null)message.javaStringCheckUtf8=Boolean(object.javaStringCheckUtf8);switch(object.optimizeFor){default:if(typeof object.optimizeFor==="number"){message.optimizeFor=object.optimizeFor;break}break;case"SPEED":case 1:message.optimizeFor=1;break;case"CODE_SIZE":case 2:message.optimizeFor=2;break;case"LITE_RUNTIME":case 3:message.optimizeFor=3;break}if(object.goPackage!=null)message.goPackage=String(object.goPackage);if(object.ccGenericServices!=null)message.ccGenericServices=Boolean(object.ccGenericServices);if(object.javaGenericServices!=null)message.javaGenericServices=Boolean(object.javaGenericServices);if(object.pyGenericServices!=null)message.pyGenericServices=Boolean(object.pyGenericServices);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.ccEnableArenas!=null)message.ccEnableArenas=Boolean(object.ccEnableArenas);if(object.objcClassPrefix!=null)message.objcClassPrefix=String(object.objcClassPrefix);if(object.csharpNamespace!=null)message.csharpNamespace=String(object.csharpNamespace);if(object.swiftPrefix!=null)message.swiftPrefix=String(object.swiftPrefix);if(object.phpClassPrefix!=null)message.phpClassPrefix=String(object.phpClassPrefix);if(object.phpNamespace!=null)message.phpNamespace=String(object.phpNamespace);if(object.phpMetadataNamespace!=null)message.phpMetadataNamespace=String(object.phpMetadataNamespace);if(object.rubyPackage!=null)message.rubyPackage=String(object.rubyPackage);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.FileOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};FileOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.javaPackage="";object.javaOuterClassname="";object.optimizeFor=options.enums===String?"SPEED":1;object.javaMultipleFiles=false;object.goPackage="";object.ccGenericServices=false;object.javaGenericServices=false;object.pyGenericServices=false;object.javaGenerateEqualsAndHash=false;object.deprecated=false;object.javaStringCheckUtf8=false;object.ccEnableArenas=true;object.objcClassPrefix="";object.csharpNamespace="";object.swiftPrefix="";object.phpClassPrefix="";object.phpNamespace="";object.phpMetadataNamespace="";object.rubyPackage="";object.features=null}if(message.javaPackage!=null&&message.hasOwnProperty("javaPackage"))object.javaPackage=message.javaPackage;if(message.javaOuterClassname!=null&&message.hasOwnProperty("javaOuterClassname"))object.javaOuterClassname=message.javaOuterClassname;if(message.optimizeFor!=null&&message.hasOwnProperty("optimizeFor"))object.optimizeFor=options.enums===String?$root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor]===undefined?message.optimizeFor:$root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor]:message.optimizeFor;if(message.javaMultipleFiles!=null&&message.hasOwnProperty("javaMultipleFiles"))object.javaMultipleFiles=message.javaMultipleFiles;if(message.goPackage!=null&&message.hasOwnProperty("goPackage"))object.goPackage=message.goPackage;if(message.ccGenericServices!=null&&message.hasOwnProperty("ccGenericServices"))object.ccGenericServices=message.ccGenericServices;if(message.javaGenericServices!=null&&message.hasOwnProperty("javaGenericServices"))object.javaGenericServices=message.javaGenericServices;if(message.pyGenericServices!=null&&message.hasOwnProperty("pyGenericServices"))object.pyGenericServices=message.pyGenericServices;if(message.javaGenerateEqualsAndHash!=null&&message.hasOwnProperty("javaGenerateEqualsAndHash"))object.javaGenerateEqualsAndHash=message.javaGenerateEqualsAndHash;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.javaStringCheckUtf8!=null&&message.hasOwnProperty("javaStringCheckUtf8"))object.javaStringCheckUtf8=message.javaStringCheckUtf8;if(message.ccEnableArenas!=null&&message.hasOwnProperty("ccEnableArenas"))object.ccEnableArenas=message.ccEnableArenas;if(message.objcClassPrefix!=null&&message.hasOwnProperty("objcClassPrefix"))object.objcClassPrefix=message.objcClassPrefix;if(message.csharpNamespace!=null&&message.hasOwnProperty("csharpNamespace"))object.csharpNamespace=message.csharpNamespace;if(message.swiftPrefix!=null&&message.hasOwnProperty("swiftPrefix"))object.swiftPrefix=message.swiftPrefix;if(message.phpClassPrefix!=null&&message.hasOwnProperty("phpClassPrefix"))object.phpClassPrefix=message.phpClassPrefix;if(message.phpNamespace!=null&&message.hasOwnProperty("phpNamespace"))object.phpNamespace=message.phpNamespace;if(message.phpMetadataNamespace!=null&&message.hasOwnProperty("phpMetadataNamespace"))object.phpMetadataNamespace=message.phpMetadataNamespace;if(message.rubyPackage!=null&&message.hasOwnProperty("rubyPackage"))object.rubyPackage=message.rubyPackage;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};FileOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileOptions"};FileOptions.OptimizeMode=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="SPEED"]=1;values[valuesById[2]="CODE_SIZE"]=2;values[valuesById[3]="LITE_RUNTIME"]=3;return values}();return FileOptions}();protobuf.MessageOptions=function(){function MessageOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MessageOptions.prototype.messageSetWireFormat=false;MessageOptions.prototype.noStandardDescriptorAccessor=false;MessageOptions.prototype.deprecated=false;MessageOptions.prototype.mapEntry=false;MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts=false;MessageOptions.prototype.features=null;MessageOptions.prototype.uninterpretedOption=$util.emptyArray;MessageOptions.create=function create(properties){return new MessageOptions(properties)};MessageOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.messageSetWireFormat!=null&&Object.hasOwnProperty.call(message,"messageSetWireFormat"))writer.uint32(8).bool(message.messageSetWireFormat);if(message.noStandardDescriptorAccessor!=null&&Object.hasOwnProperty.call(message,"noStandardDescriptorAccessor"))writer.uint32(16).bool(message.noStandardDescriptorAccessor);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.mapEntry!=null&&Object.hasOwnProperty.call(message,"mapEntry"))writer.uint32(56).bool(message.mapEntry);if(message.deprecatedLegacyJsonFieldConflicts!=null&&Object.hasOwnProperty.call(message,"deprecatedLegacyJsonFieldConflicts"))writer.uint32(88).bool(message.deprecatedLegacyJsonFieldConflicts);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(98).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};MessageOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MessageOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MessageOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.messageSetWireFormat=reader.bool();break}case 2:{message.noStandardDescriptorAccessor=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 7:{message.mapEntry=reader.bool();break}case 11:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 12:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};MessageOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MessageOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.messageSetWireFormat!=null&&message.hasOwnProperty("messageSetWireFormat"))if(typeof message.messageSetWireFormat!=="boolean")return"messageSetWireFormat: boolean expected";if(message.noStandardDescriptorAccessor!=null&&message.hasOwnProperty("noStandardDescriptorAccessor"))if(typeof message.noStandardDescriptorAccessor!=="boolean")return"noStandardDescriptorAccessor: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.mapEntry!=null&&message.hasOwnProperty("mapEntry"))if(typeof message.mapEntry!=="boolean")return"mapEntry: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};MessageOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MessageOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MessageOptions;if(object.messageSetWireFormat!=null)message.messageSetWireFormat=Boolean(object.messageSetWireFormat);if(object.noStandardDescriptorAccessor!=null)message.noStandardDescriptorAccessor=Boolean(object.noStandardDescriptorAccessor);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.mapEntry!=null)message.mapEntry=Boolean(object.mapEntry);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MessageOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};MessageOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.messageSetWireFormat=false;object.noStandardDescriptorAccessor=false;object.deprecated=false;object.mapEntry=false;object.deprecatedLegacyJsonFieldConflicts=false;object.features=null}if(message.messageSetWireFormat!=null&&message.hasOwnProperty("messageSetWireFormat"))object.messageSetWireFormat=message.messageSetWireFormat;if(message.noStandardDescriptorAccessor!=null&&message.hasOwnProperty("noStandardDescriptorAccessor"))object.noStandardDescriptorAccessor=message.noStandardDescriptorAccessor;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.mapEntry!=null&&message.hasOwnProperty("mapEntry"))object.mapEntry=message.mapEntry;if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))object.deprecatedLegacyJsonFieldConflicts=message.deprecatedLegacyJsonFieldConflicts;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};MessageOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MessageOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MessageOptions"};return MessageOptions}();protobuf.FieldOptions=function(){function FieldOptions(properties){this.targets=[];this.editionDefaults=[];this.uninterpretedOption=[];this[".google.api.fieldBehavior"]=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FieldOptions.prototype.ctype=0;FieldOptions.prototype.packed=false;FieldOptions.prototype.jstype=0;FieldOptions.prototype.lazy=false;FieldOptions.prototype.unverifiedLazy=false;FieldOptions.prototype.deprecated=false;FieldOptions.prototype.weak=false;FieldOptions.prototype.debugRedact=false;FieldOptions.prototype.retention=0;FieldOptions.prototype.targets=$util.emptyArray;FieldOptions.prototype.editionDefaults=$util.emptyArray;FieldOptions.prototype.features=null;FieldOptions.prototype.featureSupport=null;FieldOptions.prototype.uninterpretedOption=$util.emptyArray;FieldOptions.prototype[".google.api.fieldBehavior"]=$util.emptyArray;FieldOptions.create=function create(properties){return new FieldOptions(properties)};FieldOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.ctype!=null&&Object.hasOwnProperty.call(message,"ctype"))writer.uint32(8).int32(message.ctype);if(message.packed!=null&&Object.hasOwnProperty.call(message,"packed"))writer.uint32(16).bool(message.packed);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.lazy!=null&&Object.hasOwnProperty.call(message,"lazy"))writer.uint32(40).bool(message.lazy);if(message.jstype!=null&&Object.hasOwnProperty.call(message,"jstype"))writer.uint32(48).int32(message.jstype);if(message.weak!=null&&Object.hasOwnProperty.call(message,"weak"))writer.uint32(80).bool(message.weak);if(message.unverifiedLazy!=null&&Object.hasOwnProperty.call(message,"unverifiedLazy"))writer.uint32(120).bool(message.unverifiedLazy);if(message.debugRedact!=null&&Object.hasOwnProperty.call(message,"debugRedact"))writer.uint32(128).bool(message.debugRedact);if(message.retention!=null&&Object.hasOwnProperty.call(message,"retention"))writer.uint32(136).int32(message.retention);if(message.targets!=null&&message.targets.length)for(var i=0;i<message.targets.length;++i)writer.uint32(152).int32(message.targets[i]);if(message.editionDefaults!=null&&message.editionDefaults.length)for(var i=0;i<message.editionDefaults.length;++i)$root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i],writer.uint32(162).fork()).ldelim();if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(170).fork()).ldelim();if(message.featureSupport!=null&&Object.hasOwnProperty.call(message,"featureSupport"))$root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport,writer.uint32(178).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.fieldBehavior"]!=null&&message[".google.api.fieldBehavior"].length)for(var i=0;i<message[".google.api.fieldBehavior"].length;++i)writer.uint32(8416).int32(message[".google.api.fieldBehavior"][i]);return writer};FieldOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FieldOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.ctype=reader.int32();break}case 2:{message.packed=reader.bool();break}case 6:{message.jstype=reader.int32();break}case 5:{message.lazy=reader.bool();break}case 15:{message.unverifiedLazy=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 10:{message.weak=reader.bool();break}case 16:{message.debugRedact=reader.bool();break}case 17:{message.retention=reader.int32();break}case 19:{if(!(message.targets&&message.targets.length))message.targets=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.targets.push(reader.int32())}else message.targets.push(reader.int32());break}case 20:{if(!(message.editionDefaults&&message.editionDefaults.length))message.editionDefaults=[];message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader,reader.uint32(),undefined,long+1));break}case 21:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 22:{message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1052:{if(!(message[".google.api.fieldBehavior"]&&message[".google.api.fieldBehavior"].length))message[".google.api.fieldBehavior"]=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message[".google.api.fieldBehavior"].push(reader.int32())}else message[".google.api.fieldBehavior"].push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};FieldOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FieldOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.ctype!=null&&message.hasOwnProperty("ctype"))switch(message.ctype){default:return"ctype: enum value expected";case 0:case 1:case 2:break}if(message.packed!=null&&message.hasOwnProperty("packed"))if(typeof message.packed!=="boolean")return"packed: boolean expected";if(message.jstype!=null&&message.hasOwnProperty("jstype"))switch(message.jstype){default:return"jstype: enum value expected";case 0:case 1:case 2:break}if(message.lazy!=null&&message.hasOwnProperty("lazy"))if(typeof message.lazy!=="boolean")return"lazy: boolean expected";if(message.unverifiedLazy!=null&&message.hasOwnProperty("unverifiedLazy"))if(typeof message.unverifiedLazy!=="boolean")return"unverifiedLazy: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.weak!=null&&message.hasOwnProperty("weak"))if(typeof message.weak!=="boolean")return"weak: boolean expected";if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.retention!=null&&message.hasOwnProperty("retention"))switch(message.retention){default:return"retention: enum value expected";case 0:case 1:case 2:break}if(message.targets!=null&&message.hasOwnProperty("targets")){if(!Array.isArray(message.targets))return"targets: array expected";for(var i=0;i<message.targets.length;++i)switch(message.targets[i]){default:return"targets: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break}}if(message.editionDefaults!=null&&message.hasOwnProperty("editionDefaults")){if(!Array.isArray(message.editionDefaults))return"editionDefaults: array expected";for(var i=0;i<message.editionDefaults.length;++i){var error=$root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i],long+1);if(error)return"editionDefaults."+error}}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport")){var error=$root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport,long+1);if(error)return"featureSupport."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.fieldBehavior"]!=null&&message.hasOwnProperty(".google.api.fieldBehavior")){if(!Array.isArray(message[".google.api.fieldBehavior"]))return".google.api.fieldBehavior: array expected";for(var i=0;i<message[".google.api.fieldBehavior"].length;++i)switch(message[".google.api.fieldBehavior"][i]){default:return".google.api.fieldBehavior: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break}}return null};FieldOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions;switch(object.ctype){default:if(typeof object.ctype==="number"){message.ctype=object.ctype;break}break;case"STRING":case 0:message.ctype=0;break;case"CORD":case 1:message.ctype=1;break;case"STRING_PIECE":case 2:message.ctype=2;break}if(object.packed!=null)message.packed=Boolean(object.packed);switch(object.jstype){default:if(typeof object.jstype==="number"){message.jstype=object.jstype;break}break;case"JS_NORMAL":case 0:message.jstype=0;break;case"JS_STRING":case 1:message.jstype=1;break;case"JS_NUMBER":case 2:message.jstype=2;break}if(object.lazy!=null)message.lazy=Boolean(object.lazy);if(object.unverifiedLazy!=null)message.unverifiedLazy=Boolean(object.unverifiedLazy);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.weak!=null)message.weak=Boolean(object.weak);if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);switch(object.retention){default:if(typeof object.retention==="number"){message.retention=object.retention;break}break;case"RETENTION_UNKNOWN":case 0:message.retention=0;break;case"RETENTION_RUNTIME":case 1:message.retention=1;break;case"RETENTION_SOURCE":case 2:message.retention=2;break}if(object.targets){if(!Array.isArray(object.targets))throw TypeError(".google.protobuf.FieldOptions.targets: array expected");message.targets=[];for(var i=0;i<object.targets.length;++i)switch(object.targets[i]){default:if(typeof object.targets[i]==="number"){message.targets[i]=object.targets[i];break}case"TARGET_TYPE_UNKNOWN":case 0:message.targets[i]=0;break;case"TARGET_TYPE_FILE":case 1:message.targets[i]=1;break;case"TARGET_TYPE_EXTENSION_RANGE":case 2:message.targets[i]=2;break;case"TARGET_TYPE_MESSAGE":case 3:message.targets[i]=3;break;case"TARGET_TYPE_FIELD":case 4:message.targets[i]=4;break;case"TARGET_TYPE_ONEOF":case 5:message.targets[i]=5;break;case"TARGET_TYPE_ENUM":case 6:message.targets[i]=6;break;case"TARGET_TYPE_ENUM_ENTRY":case 7:message.targets[i]=7;break;case"TARGET_TYPE_SERVICE":case 8:message.targets[i]=8;break;case"TARGET_TYPE_METHOD":case 9:message.targets[i]=9;break}}if(object.editionDefaults){if(!Array.isArray(object.editionDefaults))throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");message.editionDefaults=[];for(var i=0;i<object.editionDefaults.length;++i){if(typeof object.editionDefaults[i]!=="object")throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");message.editionDefaults[i]=$root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i],long+1)}}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.FieldOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.featureSupport!=null){if(typeof object.featureSupport!=="object")throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected");message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.fieldBehavior"]){if(!Array.isArray(object[".google.api.fieldBehavior"]))throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected");message[".google.api.fieldBehavior"]=[];for(var i=0;i<object[".google.api.fieldBehavior"].length;++i)switch(object[".google.api.fieldBehavior"][i]){default:if(typeof object[".google.api.fieldBehavior"][i]==="number"){message[".google.api.fieldBehavior"][i]=object[".google.api.fieldBehavior"][i];break}case"FIELD_BEHAVIOR_UNSPECIFIED":case 0:message[".google.api.fieldBehavior"][i]=0;break;case"OPTIONAL":case 1:message[".google.api.fieldBehavior"][i]=1;break;case"REQUIRED":case 2:message[".google.api.fieldBehavior"][i]=2;break;case"OUTPUT_ONLY":case 3:message[".google.api.fieldBehavior"][i]=3;break;case"INPUT_ONLY":case 4:message[".google.api.fieldBehavior"][i]=4;break;case"IMMUTABLE":case 5:message[".google.api.fieldBehavior"][i]=5;break;case"UNORDERED_LIST":case 6:message[".google.api.fieldBehavior"][i]=6;break;case"NON_EMPTY_DEFAULT":case 7:message[".google.api.fieldBehavior"][i]=7;break;case"IDENTIFIER":case 8:message[".google.api.fieldBehavior"][i]=8;break}}return message};FieldOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.targets=[];object.editionDefaults=[];object.uninterpretedOption=[];object[".google.api.fieldBehavior"]=[]}if(options.defaults){object.ctype=options.enums===String?"STRING":0;object.packed=false;object.deprecated=false;object.lazy=false;object.jstype=options.enums===String?"JS_NORMAL":0;object.weak=false;object.unverifiedLazy=false;object.debugRedact=false;object.retention=options.enums===String?"RETENTION_UNKNOWN":0;object.features=null;object.featureSupport=null}if(message.ctype!=null&&message.hasOwnProperty("ctype"))object.ctype=options.enums===String?$root.google.protobuf.FieldOptions.CType[message.ctype]===undefined?message.ctype:$root.google.protobuf.FieldOptions.CType[message.ctype]:message.ctype;if(message.packed!=null&&message.hasOwnProperty("packed"))object.packed=message.packed;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.lazy!=null&&message.hasOwnProperty("lazy"))object.lazy=message.lazy;if(message.jstype!=null&&message.hasOwnProperty("jstype"))object.jstype=options.enums===String?$root.google.protobuf.FieldOptions.JSType[message.jstype]===undefined?message.jstype:$root.google.protobuf.FieldOptions.JSType[message.jstype]:message.jstype;if(message.weak!=null&&message.hasOwnProperty("weak"))object.weak=message.weak;if(message.unverifiedLazy!=null&&message.hasOwnProperty("unverifiedLazy"))object.unverifiedLazy=message.unverifiedLazy;if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))object.debugRedact=message.debugRedact;if(message.retention!=null&&message.hasOwnProperty("retention"))object.retention=options.enums===String?$root.google.protobuf.FieldOptions.OptionRetention[message.retention]===undefined?message.retention:$root.google.protobuf.FieldOptions.OptionRetention[message.retention]:message.retention;if(message.targets&&message.targets.length){object.targets=[];for(var j=0;j<message.targets.length;++j)object.targets[j]=options.enums===String?$root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]]===undefined?message.targets[j]:$root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]]:message.targets[j]}if(message.editionDefaults&&message.editionDefaults.length){object.editionDefaults=[];for(var j=0;j<message.editionDefaults.length;++j)object.editionDefaults[j]=$root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j],options)}if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport"))object.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.fieldBehavior"]&&message[".google.api.fieldBehavior"].length){object[".google.api.fieldBehavior"]=[];for(var j=0;j<message[".google.api.fieldBehavior"].length;++j)object[".google.api.fieldBehavior"][j]=options.enums===String?$root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]]===undefined?message[".google.api.fieldBehavior"][j]:$root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]]:message[".google.api.fieldBehavior"][j]}return object};FieldOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FieldOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions"};FieldOptions.CType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="STRING"]=0;values[valuesById[1]="CORD"]=1;values[valuesById[2]="STRING_PIECE"]=2;return values}();FieldOptions.JSType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="JS_NORMAL"]=0;values[valuesById[1]="JS_STRING"]=1;values[valuesById[2]="JS_NUMBER"]=2;return values}();FieldOptions.OptionRetention=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="RETENTION_UNKNOWN"]=0;values[valuesById[1]="RETENTION_RUNTIME"]=1;values[valuesById[2]="RETENTION_SOURCE"]=2;return values}();FieldOptions.OptionTargetType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="TARGET_TYPE_UNKNOWN"]=0;values[valuesById[1]="TARGET_TYPE_FILE"]=1;values[valuesById[2]="TARGET_TYPE_EXTENSION_RANGE"]=2;values[valuesById[3]="TARGET_TYPE_MESSAGE"]=3;values[valuesById[4]="TARGET_TYPE_FIELD"]=4;values[valuesById[5]="TARGET_TYPE_ONEOF"]=5;values[valuesById[6]="TARGET_TYPE_ENUM"]=6;values[valuesById[7]="TARGET_TYPE_ENUM_ENTRY"]=7;values[valuesById[8]="TARGET_TYPE_SERVICE"]=8;values[valuesById[9]="TARGET_TYPE_METHOD"]=9;return values}();FieldOptions.EditionDefault=function(){function EditionDefault(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EditionDefault.prototype.edition=0;EditionDefault.prototype.value="";EditionDefault.create=function create(properties){return new EditionDefault(properties)};EditionDefault.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.value!=null&&Object.hasOwnProperty.call(message,"value"))writer.uint32(18).string(message.value);if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(24).int32(message.edition);return writer};EditionDefault.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EditionDefault.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.EditionDefault;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.edition=reader.int32();break}case 2:{message.value=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};EditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.value!=null&&message.hasOwnProperty("value"))if(!$util.isString(message.value))return"value: string expected";return null};EditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.EditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.EditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.value!=null)message.value=String(object.value);return message};EditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.value="";object.edition=options.enums===String?"EDITION_UNKNOWN":0}if(message.value!=null&&message.hasOwnProperty("value"))object.value=message.value;if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;return object};EditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.EditionDefault"};return EditionDefault}();FieldOptions.FeatureSupport=function(){function FeatureSupport(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSupport.prototype.editionIntroduced=0;FeatureSupport.prototype.editionDeprecated=0;FeatureSupport.prototype.deprecationWarning="";FeatureSupport.prototype.editionRemoved=0;FeatureSupport.prototype.removalError="";FeatureSupport.create=function create(properties){return new FeatureSupport(properties)};FeatureSupport.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.editionIntroduced!=null&&Object.hasOwnProperty.call(message,"editionIntroduced"))writer.uint32(8).int32(message.editionIntroduced);if(message.editionDeprecated!=null&&Object.hasOwnProperty.call(message,"editionDeprecated"))writer.uint32(16).int32(message.editionDeprecated);if(message.deprecationWarning!=null&&Object.hasOwnProperty.call(message,"deprecationWarning"))writer.uint32(26).string(message.deprecationWarning);if(message.editionRemoved!=null&&Object.hasOwnProperty.call(message,"editionRemoved"))writer.uint32(32).int32(message.editionRemoved);if(message.removalError!=null&&Object.hasOwnProperty.call(message,"removalError"))writer.uint32(42).string(message.removalError);return writer};FeatureSupport.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSupport.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.FeatureSupport;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.editionIntroduced=reader.int32();break}case 2:{message.editionDeprecated=reader.int32();break}case 3:{message.deprecationWarning=reader.string();break}case 4:{message.editionRemoved=reader.int32();break}case 5:{message.removalError=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSupport.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSupport.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))switch(message.editionIntroduced){default:return"editionIntroduced: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))switch(message.editionDeprecated){default:return"editionDeprecated: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))if(!$util.isString(message.deprecationWarning))return"deprecationWarning: string expected";if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))switch(message.editionRemoved){default:return"editionRemoved: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.removalError!=null&&message.hasOwnProperty("removalError"))if(!$util.isString(message.removalError))return"removalError: string expected";return null};FeatureSupport.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.FeatureSupport)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.FeatureSupport;switch(object.editionIntroduced){default:if(typeof object.editionIntroduced==="number"){message.editionIntroduced=object.editionIntroduced;break}break;case"EDITION_UNKNOWN":case 0:message.editionIntroduced=0;break;case"EDITION_LEGACY":case 900:message.editionIntroduced=900;break;case"EDITION_PROTO2":case 998:message.editionIntroduced=998;break;case"EDITION_PROTO3":case 999:message.editionIntroduced=999;break;case"EDITION_2023":case 1e3:message.editionIntroduced=1e3;break;case"EDITION_2024":case 1001:message.editionIntroduced=1001;break;case"EDITION_2026":case 1002:message.editionIntroduced=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionIntroduced=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionIntroduced=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionIntroduced=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionIntroduced=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionIntroduced=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionIntroduced=99999;break;case"EDITION_MAX":case 2147483647:message.editionIntroduced=2147483647;break}switch(object.editionDeprecated){default:if(typeof object.editionDeprecated==="number"){message.editionDeprecated=object.editionDeprecated;break}break;case"EDITION_UNKNOWN":case 0:message.editionDeprecated=0;break;case"EDITION_LEGACY":case 900:message.editionDeprecated=900;break;case"EDITION_PROTO2":case 998:message.editionDeprecated=998;break;case"EDITION_PROTO3":case 999:message.editionDeprecated=999;break;case"EDITION_2023":case 1e3:message.editionDeprecated=1e3;break;case"EDITION_2024":case 1001:message.editionDeprecated=1001;break;case"EDITION_2026":case 1002:message.editionDeprecated=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionDeprecated=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionDeprecated=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionDeprecated=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionDeprecated=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionDeprecated=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionDeprecated=99999;break;case"EDITION_MAX":case 2147483647:message.editionDeprecated=2147483647;break}if(object.deprecationWarning!=null)message.deprecationWarning=String(object.deprecationWarning);switch(object.editionRemoved){default:if(typeof object.editionRemoved==="number"){message.editionRemoved=object.editionRemoved;break}break;case"EDITION_UNKNOWN":case 0:message.editionRemoved=0;break;case"EDITION_LEGACY":case 900:message.editionRemoved=900;break;case"EDITION_PROTO2":case 998:message.editionRemoved=998;break;case"EDITION_PROTO3":case 999:message.editionRemoved=999;break;case"EDITION_2023":case 1e3:message.editionRemoved=1e3;break;case"EDITION_2024":case 1001:message.editionRemoved=1001;break;case"EDITION_2026":case 1002:message.editionRemoved=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionRemoved=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionRemoved=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionRemoved=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionRemoved=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionRemoved=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionRemoved=99999;break;case"EDITION_MAX":case 2147483647:message.editionRemoved=2147483647;break}if(object.removalError!=null)message.removalError=String(object.removalError);return message};FeatureSupport.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.editionIntroduced=options.enums===String?"EDITION_UNKNOWN":0;object.editionDeprecated=options.enums===String?"EDITION_UNKNOWN":0;object.deprecationWarning="";object.editionRemoved=options.enums===String?"EDITION_UNKNOWN":0;object.removalError=""}if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))object.editionIntroduced=options.enums===String?$root.google.protobuf.Edition[message.editionIntroduced]===undefined?message.editionIntroduced:$root.google.protobuf.Edition[message.editionIntroduced]:message.editionIntroduced;if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))object.editionDeprecated=options.enums===String?$root.google.protobuf.Edition[message.editionDeprecated]===undefined?message.editionDeprecated:$root.google.protobuf.Edition[message.editionDeprecated]:message.editionDeprecated;if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))object.deprecationWarning=message.deprecationWarning;if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))object.editionRemoved=options.enums===String?$root.google.protobuf.Edition[message.editionRemoved]===undefined?message.editionRemoved:$root.google.protobuf.Edition[message.editionRemoved]:message.editionRemoved;if(message.removalError!=null&&message.hasOwnProperty("removalError"))object.removalError=message.removalError;return object};FeatureSupport.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSupport.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.FeatureSupport"};return FeatureSupport}();return FieldOptions}();protobuf.OneofOptions=function(){function OneofOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}OneofOptions.prototype.features=null;OneofOptions.prototype.uninterpretedOption=$util.emptyArray;OneofOptions.create=function create(properties){return new OneofOptions(properties)};OneofOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(10).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};OneofOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};OneofOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};OneofOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};OneofOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.OneofOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.OneofOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};OneofOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults)object.features=null;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};OneofOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};OneofOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.OneofOptions"};return OneofOptions}();protobuf.EnumOptions=function(){function EnumOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumOptions.prototype.allowAlias=false;EnumOptions.prototype.deprecated=false;EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts=false;EnumOptions.prototype.features=null;EnumOptions.prototype.uninterpretedOption=$util.emptyArray;EnumOptions.create=function create(properties){return new EnumOptions(properties)};EnumOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.allowAlias!=null&&Object.hasOwnProperty.call(message,"allowAlias"))writer.uint32(16).bool(message.allowAlias);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.deprecatedLegacyJsonFieldConflicts!=null&&Object.hasOwnProperty.call(message,"deprecatedLegacyJsonFieldConflicts"))writer.uint32(48).bool(message.deprecatedLegacyJsonFieldConflicts);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(58).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};EnumOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{message.allowAlias=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 6:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 7:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.allowAlias!=null&&message.hasOwnProperty("allowAlias"))if(typeof message.allowAlias!=="boolean")return"allowAlias: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};EnumOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumOptions;if(object.allowAlias!=null)message.allowAlias=Boolean(object.allowAlias);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};EnumOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.allowAlias=false;object.deprecated=false;object.deprecatedLegacyJsonFieldConflicts=false;object.features=null}if(message.allowAlias!=null&&message.hasOwnProperty("allowAlias"))object.allowAlias=message.allowAlias;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))object.deprecatedLegacyJsonFieldConflicts=message.deprecatedLegacyJsonFieldConflicts;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};EnumOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumOptions"};return EnumOptions}();protobuf.EnumValueOptions=function(){function EnumValueOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumValueOptions.prototype.deprecated=false;EnumValueOptions.prototype.features=null;EnumValueOptions.prototype.debugRedact=false;EnumValueOptions.prototype.featureSupport=null;EnumValueOptions.prototype.uninterpretedOption=$util.emptyArray;EnumValueOptions.create=function create(properties){return new EnumValueOptions(properties)};EnumValueOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(8).bool(message.deprecated);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(18).fork()).ldelim();if(message.debugRedact!=null&&Object.hasOwnProperty.call(message,"debugRedact"))writer.uint32(24).bool(message.debugRedact);if(message.featureSupport!=null&&Object.hasOwnProperty.call(message,"featureSupport"))$root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport,writer.uint32(34).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};EnumValueOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumValueOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.deprecated=reader.bool();break}case 2:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.debugRedact=reader.bool();break}case 4:{message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumValueOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport")){var error=$root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport,long+1);if(error)return"featureSupport."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};EnumValueOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumValueOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);if(object.featureSupport!=null){if(typeof object.featureSupport!=="object")throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected");message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};EnumValueOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.deprecated=false;object.features=null;object.debugRedact=false;object.featureSupport=null}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))object.debugRedact=message.debugRedact;if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport"))object.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};EnumValueOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumValueOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumValueOptions"};return EnumValueOptions}();protobuf.ServiceOptions=function(){function ServiceOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ServiceOptions.prototype.features=null;ServiceOptions.prototype.deprecated=false;ServiceOptions.prototype.uninterpretedOption=$util.emptyArray;ServiceOptions.prototype[".google.api.defaultHost"]="";ServiceOptions.prototype[".google.api.oauthScopes"]="";ServiceOptions.prototype[".google.api.apiVersion"]="";ServiceOptions.create=function create(properties){return new ServiceOptions(properties)};ServiceOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(264).bool(message.deprecated);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(274).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.defaultHost"]!=null&&Object.hasOwnProperty.call(message,".google.api.defaultHost"))writer.uint32(8394).string(message[".google.api.defaultHost"]);if(message[".google.api.oauthScopes"]!=null&&Object.hasOwnProperty.call(message,".google.api.oauthScopes"))writer.uint32(8402).string(message[".google.api.oauthScopes"]);if(message[".google.api.apiVersion"]!=null&&Object.hasOwnProperty.call(message,".google.api.apiVersion"))writer.uint32(4200000010).string(message[".google.api.apiVersion"]);return writer};ServiceOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ServiceOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 34:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 33:{message.deprecated=reader.bool();break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1049:{message[".google.api.defaultHost"]=reader.string();break}case 1050:{message[".google.api.oauthScopes"]=reader.string();break}case 525000001:{message[".google.api.apiVersion"]=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};ServiceOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.defaultHost"]!=null&&message.hasOwnProperty(".google.api.defaultHost"))if(!$util.isString(message[".google.api.defaultHost"]))return".google.api.defaultHost: string expected";if(message[".google.api.oauthScopes"]!=null&&message.hasOwnProperty(".google.api.oauthScopes"))if(!$util.isString(message[".google.api.oauthScopes"]))return".google.api.oauthScopes: string expected";if(message[".google.api.apiVersion"]!=null&&message.hasOwnProperty(".google.api.apiVersion"))if(!$util.isString(message[".google.api.apiVersion"]))return".google.api.apiVersion: string expected";return null};ServiceOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ServiceOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.ServiceOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.defaultHost"]!=null)message[".google.api.defaultHost"]=String(object[".google.api.defaultHost"]);if(object[".google.api.oauthScopes"]!=null)message[".google.api.oauthScopes"]=String(object[".google.api.oauthScopes"]);if(object[".google.api.apiVersion"]!=null)message[".google.api.apiVersion"]=String(object[".google.api.apiVersion"]);return message};ServiceOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.deprecated=false;object.features=null;object[".google.api.defaultHost"]="";object[".google.api.oauthScopes"]="";object[".google.api.apiVersion"]=""}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.defaultHost"]!=null&&message.hasOwnProperty(".google.api.defaultHost"))object[".google.api.defaultHost"]=message[".google.api.defaultHost"];if(message[".google.api.oauthScopes"]!=null&&message.hasOwnProperty(".google.api.oauthScopes"))object[".google.api.oauthScopes"]=message[".google.api.oauthScopes"];if(message[".google.api.apiVersion"]!=null&&message.hasOwnProperty(".google.api.apiVersion"))object[".google.api.apiVersion"]=message[".google.api.apiVersion"];return object};ServiceOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ServiceOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ServiceOptions"};return ServiceOptions}();protobuf.MethodOptions=function(){function MethodOptions(properties){this.uninterpretedOption=[];this[".google.api.methodSignature"]=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodOptions.prototype.deprecated=false;MethodOptions.prototype.idempotencyLevel=0;MethodOptions.prototype.features=null;MethodOptions.prototype.uninterpretedOption=$util.emptyArray;MethodOptions.prototype[".google.api.http"]=null;MethodOptions.prototype[".google.api.methodSignature"]=$util.emptyArray;MethodOptions.create=function create(properties){return new MethodOptions(properties)};MethodOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(264).bool(message.deprecated);if(message.idempotencyLevel!=null&&Object.hasOwnProperty.call(message,"idempotencyLevel"))writer.uint32(272).int32(message.idempotencyLevel);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(282).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.methodSignature"]!=null&&message[".google.api.methodSignature"].length)for(var i=0;i<message[".google.api.methodSignature"].length;++i)writer.uint32(8410).string(message[".google.api.methodSignature"][i]);if(message[".google.api.http"]!=null&&Object.hasOwnProperty.call(message,".google.api.http"))$root.google.api.HttpRule.encode(message[".google.api.http"],writer.uint32(578365826).fork()).ldelim();return writer};MethodOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 33:{message.deprecated=reader.bool();break}case 34:{message.idempotencyLevel=reader.int32();break}case 35:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 72295728:{message[".google.api.http"]=$root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1);break}case 1051:{if(!(message[".google.api.methodSignature"]&&message[".google.api.methodSignature"].length))message[".google.api.methodSignature"]=[];message[".google.api.methodSignature"].push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};MethodOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.idempotencyLevel!=null&&message.hasOwnProperty("idempotencyLevel"))switch(message.idempotencyLevel){default:return"idempotencyLevel: enum value expected";case 0:case 1:case 2:break}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.http"]!=null&&message.hasOwnProperty(".google.api.http")){var error=$root.google.api.HttpRule.verify(message[".google.api.http"],long+1);if(error)return".google.api.http."+error}if(message[".google.api.methodSignature"]!=null&&message.hasOwnProperty(".google.api.methodSignature")){if(!Array.isArray(message[".google.api.methodSignature"]))return".google.api.methodSignature: array expected";for(var i=0;i<message[".google.api.methodSignature"].length;++i)if(!$util.isString(message[".google.api.methodSignature"][i]))return".google.api.methodSignature: string[] expected"}return null};MethodOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MethodOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);switch(object.idempotencyLevel){default:if(typeof object.idempotencyLevel==="number"){message.idempotencyLevel=object.idempotencyLevel;break}break;case"IDEMPOTENCY_UNKNOWN":case 0:message.idempotencyLevel=0;break;case"NO_SIDE_EFFECTS":case 1:message.idempotencyLevel=1;break;case"IDEMPOTENT":case 2:message.idempotencyLevel=2;break}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MethodOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.http"]!=null){if(typeof object[".google.api.http"]!=="object")throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");message[".google.api.http"]=$root.google.api.HttpRule.fromObject(object[".google.api.http"],long+1)}if(object[".google.api.methodSignature"]){if(!Array.isArray(object[".google.api.methodSignature"]))throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");message[".google.api.methodSignature"]=[];for(var i=0;i<object[".google.api.methodSignature"].length;++i)message[".google.api.methodSignature"][i]=String(object[".google.api.methodSignature"][i])}return message};MethodOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.uninterpretedOption=[];object[".google.api.methodSignature"]=[]}if(options.defaults){object.deprecated=false;object.idempotencyLevel=options.enums===String?"IDEMPOTENCY_UNKNOWN":0;object.features=null;object[".google.api.http"]=null}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.idempotencyLevel!=null&&message.hasOwnProperty("idempotencyLevel"))object.idempotencyLevel=options.enums===String?$root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel]===undefined?message.idempotencyLevel:$root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel]:message.idempotencyLevel;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.methodSignature"]&&message[".google.api.methodSignature"].length){object[".google.api.methodSignature"]=[];for(var j=0;j<message[".google.api.methodSignature"].length;++j)object[".google.api.methodSignature"][j]=message[".google.api.methodSignature"][j]}if(message[".google.api.http"]!=null&&message.hasOwnProperty(".google.api.http"))object[".google.api.http"]=$root.google.api.HttpRule.toObject(message[".google.api.http"],options);return object};MethodOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MethodOptions"};MethodOptions.IdempotencyLevel=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="IDEMPOTENCY_UNKNOWN"]=0;values[valuesById[1]="NO_SIDE_EFFECTS"]=1;values[valuesById[2]="IDEMPOTENT"]=2;return values}();return MethodOptions}();protobuf.UninterpretedOption=function(){function UninterpretedOption(properties){this.name=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}UninterpretedOption.prototype.name=$util.emptyArray;UninterpretedOption.prototype.identifierValue="";UninterpretedOption.prototype.positiveIntValue=$util.Long?$util.Long.fromBits(0,0,true):0;UninterpretedOption.prototype.negativeIntValue=$util.Long?$util.Long.fromBits(0,0,false):0;UninterpretedOption.prototype.doubleValue=0;UninterpretedOption.prototype.stringValue=$util.newBuffer([]);UninterpretedOption.prototype.aggregateValue="";UninterpretedOption.create=function create(properties){return new UninterpretedOption(properties)};UninterpretedOption.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&message.name.length)for(var i=0;i<message.name.length;++i)$root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i],writer.uint32(18).fork()).ldelim();if(message.identifierValue!=null&&Object.hasOwnProperty.call(message,"identifierValue"))writer.uint32(26).string(message.identifierValue);if(message.positiveIntValue!=null&&Object.hasOwnProperty.call(message,"positiveIntValue"))writer.uint32(32).uint64(message.positiveIntValue);if(message.negativeIntValue!=null&&Object.hasOwnProperty.call(message,"negativeIntValue"))writer.uint32(40).int64(message.negativeIntValue);if(message.doubleValue!=null&&Object.hasOwnProperty.call(message,"doubleValue"))writer.uint32(49).double(message.doubleValue);if(message.stringValue!=null&&Object.hasOwnProperty.call(message,"stringValue"))writer.uint32(58).bytes(message.stringValue);if(message.aggregateValue!=null&&Object.hasOwnProperty.call(message,"aggregateValue"))writer.uint32(66).string(message.aggregateValue);return writer};UninterpretedOption.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};UninterpretedOption.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{if(!(message.name&&message.name.length))message.name=[];message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.identifierValue=reader.string();break}case 4:{message.positiveIntValue=reader.uint64();break}case 5:{message.negativeIntValue=reader.int64();break}case 6:{message.doubleValue=reader.double();break}case 7:{message.stringValue=reader.bytes();break}case 8:{message.aggregateValue=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};UninterpretedOption.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};UninterpretedOption.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name")){if(!Array.isArray(message.name))return"name: array expected";for(var i=0;i<message.name.length;++i){var error=$root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i],long+1);if(error)return"name."+error}}if(message.identifierValue!=null&&message.hasOwnProperty("identifierValue"))if(!$util.isString(message.identifierValue))return"identifierValue: string expected";if(message.positiveIntValue!=null&&message.hasOwnProperty("positiveIntValue"))if(!$util.isInteger(message.positiveIntValue)&&!(message.positiveIntValue&&$util.isInteger(message.positiveIntValue.low)&&$util.isInteger(message.positiveIntValue.high)))return"positiveIntValue: integer|Long expected";if(message.negativeIntValue!=null&&message.hasOwnProperty("negativeIntValue"))if(!$util.isInteger(message.negativeIntValue)&&!(message.negativeIntValue&&$util.isInteger(message.negativeIntValue.low)&&$util.isInteger(message.negativeIntValue.high)))return"negativeIntValue: integer|Long expected";if(message.doubleValue!=null&&message.hasOwnProperty("doubleValue"))if(typeof message.doubleValue!=="number")return"doubleValue: number expected";if(message.stringValue!=null&&message.hasOwnProperty("stringValue"))if(!(message.stringValue&&typeof message.stringValue.length==="number"||$util.isString(message.stringValue)))return"stringValue: buffer expected";if(message.aggregateValue!=null&&message.hasOwnProperty("aggregateValue"))if(!$util.isString(message.aggregateValue))return"aggregateValue: string expected";return null};UninterpretedOption.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.UninterpretedOption)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption;if(object.name){if(!Array.isArray(object.name))throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");message.name=[];for(var i=0;i<object.name.length;++i){if(typeof object.name[i]!=="object")throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");message.name[i]=$root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i],long+1)}}if(object.identifierValue!=null)message.identifierValue=String(object.identifierValue);if(object.positiveIntValue!=null)if($util.Long)(message.positiveIntValue=$util.Long.fromValue(object.positiveIntValue)).unsigned=true;else if(typeof object.positiveIntValue==="string")message.positiveIntValue=parseInt(object.positiveIntValue,10);else if(typeof object.positiveIntValue==="number")message.positiveIntValue=object.positiveIntValue;else if(typeof object.positiveIntValue==="object")message.positiveIntValue=new $util.LongBits(object.positiveIntValue.low>>>0,object.positiveIntValue.high>>>0).toNumber(true);if(object.negativeIntValue!=null)if($util.Long)(message.negativeIntValue=$util.Long.fromValue(object.negativeIntValue)).unsigned=false;else if(typeof object.negativeIntValue==="string")message.negativeIntValue=parseInt(object.negativeIntValue,10);else if(typeof object.negativeIntValue==="number")message.negativeIntValue=object.negativeIntValue;else if(typeof object.negativeIntValue==="object")message.negativeIntValue=new $util.LongBits(object.negativeIntValue.low>>>0,object.negativeIntValue.high>>>0).toNumber();if(object.doubleValue!=null)message.doubleValue=Number(object.doubleValue);if(object.stringValue!=null)if(typeof object.stringValue==="string")$util.base64.decode(object.stringValue,message.stringValue=$util.newBuffer($util.base64.length(object.stringValue)),0);else if(object.stringValue.length>=0)message.stringValue=object.stringValue;if(object.aggregateValue!=null)message.aggregateValue=String(object.aggregateValue);return message};UninterpretedOption.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.name=[];if(options.defaults){object.identifierValue="";if($util.Long){var long=new $util.Long(0,0,true);object.positiveIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.positiveIntValue=options.longs===String?"0":0;if($util.Long){var long=new $util.Long(0,0,false);object.negativeIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.negativeIntValue=options.longs===String?"0":0;object.doubleValue=0;if(options.bytes===String)object.stringValue="";else{object.stringValue=[];if(options.bytes!==Array)object.stringValue=$util.newBuffer(object.stringValue)}object.aggregateValue=""}if(message.name&&message.name.length){object.name=[];for(var j=0;j<message.name.length;++j)object.name[j]=$root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j],options)}if(message.identifierValue!=null&&message.hasOwnProperty("identifierValue"))object.identifierValue=message.identifierValue;if(message.positiveIntValue!=null&&message.hasOwnProperty("positiveIntValue"))if(typeof message.positiveIntValue==="number")object.positiveIntValue=options.longs===String?String(message.positiveIntValue):message.positiveIntValue;else object.positiveIntValue=options.longs===String?$util.Long.prototype.toString.call(message.positiveIntValue):options.longs===Number?new $util.LongBits(message.positiveIntValue.low>>>0,message.positiveIntValue.high>>>0).toNumber(true):message.positiveIntValue;if(message.negativeIntValue!=null&&message.hasOwnProperty("negativeIntValue"))if(typeof message.negativeIntValue==="number")object.negativeIntValue=options.longs===String?String(message.negativeIntValue):message.negativeIntValue;else object.negativeIntValue=options.longs===String?$util.Long.prototype.toString.call(message.negativeIntValue):options.longs===Number?new $util.LongBits(message.negativeIntValue.low>>>0,message.negativeIntValue.high>>>0).toNumber():message.negativeIntValue;if(message.doubleValue!=null&&message.hasOwnProperty("doubleValue"))object.doubleValue=options.json&&!isFinite(message.doubleValue)?String(message.doubleValue):message.doubleValue;if(message.stringValue!=null&&message.hasOwnProperty("stringValue"))object.stringValue=options.bytes===String?$util.base64.encode(message.stringValue,0,message.stringValue.length):options.bytes===Array?Array.prototype.slice.call(message.stringValue):message.stringValue;if(message.aggregateValue!=null&&message.hasOwnProperty("aggregateValue"))object.aggregateValue=message.aggregateValue;return object};UninterpretedOption.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};UninterpretedOption.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption"};UninterpretedOption.NamePart=function(){function NamePart(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}NamePart.prototype.namePart="";NamePart.prototype.isExtension=false;NamePart.create=function create(properties){return new NamePart(properties)};NamePart.encode=function encode(message,writer){if(!writer)writer=$Writer.create();writer.uint32(10).string(message.namePart);writer.uint32(16).bool(message.isExtension);return writer};NamePart.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};NamePart.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption.NamePart;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.namePart=reader.string();break}case 2:{message.isExtension=reader.bool();break}default:reader.skipType(tag&7,long);break}}if(!message.hasOwnProperty("namePart"))throw $util.ProtocolError("missing required 'namePart'",{instance:message});if(!message.hasOwnProperty("isExtension"))throw $util.ProtocolError("missing required 'isExtension'",{instance:message});return message};NamePart.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NamePart.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(!$util.isString(message.namePart))return"namePart: string expected";if(typeof message.isExtension!=="boolean")return"isExtension: boolean expected";return null};NamePart.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.UninterpretedOption.NamePart)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption.NamePart;if(object.namePart!=null)message.namePart=String(object.namePart);if(object.isExtension!=null)message.isExtension=Boolean(object.isExtension);return message};NamePart.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.namePart="";object.isExtension=false}if(message.namePart!=null&&message.hasOwnProperty("namePart"))object.namePart=message.namePart;if(message.isExtension!=null&&message.hasOwnProperty("isExtension"))object.isExtension=message.isExtension;return object};NamePart.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NamePart.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption.NamePart"};return NamePart}();return UninterpretedOption}();protobuf.FeatureSet=function(){function FeatureSet(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSet.prototype.fieldPresence=0;FeatureSet.prototype.enumType=0;FeatureSet.prototype.repeatedFieldEncoding=0;FeatureSet.prototype.utf8Validation=0;FeatureSet.prototype.messageEncoding=0;FeatureSet.prototype.jsonFormat=0;FeatureSet.prototype.enforceNamingStyle=0;FeatureSet.prototype.defaultSymbolVisibility=0;FeatureSet.prototype.enforceProtoLimits=0;FeatureSet.create=function create(properties){return new FeatureSet(properties)};FeatureSet.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.fieldPresence!=null&&Object.hasOwnProperty.call(message,"fieldPresence"))writer.uint32(8).int32(message.fieldPresence);if(message.enumType!=null&&Object.hasOwnProperty.call(message,"enumType"))writer.uint32(16).int32(message.enumType);if(message.repeatedFieldEncoding!=null&&Object.hasOwnProperty.call(message,"repeatedFieldEncoding"))writer.uint32(24).int32(message.repeatedFieldEncoding);if(message.utf8Validation!=null&&Object.hasOwnProperty.call(message,"utf8Validation"))writer.uint32(32).int32(message.utf8Validation);if(message.messageEncoding!=null&&Object.hasOwnProperty.call(message,"messageEncoding"))writer.uint32(40).int32(message.messageEncoding);if(message.jsonFormat!=null&&Object.hasOwnProperty.call(message,"jsonFormat"))writer.uint32(48).int32(message.jsonFormat);if(message.enforceNamingStyle!=null&&Object.hasOwnProperty.call(message,"enforceNamingStyle"))writer.uint32(56).int32(message.enforceNamingStyle);if(message.defaultSymbolVisibility!=null&&Object.hasOwnProperty.call(message,"defaultSymbolVisibility"))writer.uint32(64).int32(message.defaultSymbolVisibility);if(message.enforceProtoLimits!=null&&Object.hasOwnProperty.call(message,"enforceProtoLimits"))writer.uint32(72).int32(message.enforceProtoLimits);return writer};FeatureSet.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSet.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.fieldPresence=reader.int32();break}case 2:{message.enumType=reader.int32();break}case 3:{message.repeatedFieldEncoding=reader.int32();break}case 4:{message.utf8Validation=reader.int32();break}case 5:{message.messageEncoding=reader.int32();break}case 6:{message.jsonFormat=reader.int32();break}case 7:{message.enforceNamingStyle=reader.int32();break}case 8:{message.defaultSymbolVisibility=reader.int32();break}case 9:{message.enforceProtoLimits=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))switch(message.fieldPresence){default:return"fieldPresence: enum value expected";case 0:case 1:case 2:case 3:break}if(message.enumType!=null&&message.hasOwnProperty("enumType"))switch(message.enumType){default:return"enumType: enum value expected";case 0:case 1:case 2:break}if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))switch(message.repeatedFieldEncoding){default:return"repeatedFieldEncoding: enum value expected";case 0:case 1:case 2:break}if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))switch(message.utf8Validation){default:return"utf8Validation: enum value expected";case 0:case 2:case 3:break}if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))switch(message.messageEncoding){default:return"messageEncoding: enum value expected";case 0:case 1:case 2:break}if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))switch(message.jsonFormat){default:return"jsonFormat: enum value expected";case 0:case 1:case 2:break}if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))switch(message.enforceNamingStyle){default:return"enforceNamingStyle: enum value expected";case 0:case 1:case 2:case 3:break}if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))switch(message.defaultSymbolVisibility){default:return"defaultSymbolVisibility: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.enforceProtoLimits!=null&&message.hasOwnProperty("enforceProtoLimits"))switch(message.enforceProtoLimits){default:return"enforceProtoLimits: enum value expected";case 0:case 1:case 2:break}return null};FeatureSet.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSet;switch(object.fieldPresence){default:if(typeof object.fieldPresence==="number"){message.fieldPresence=object.fieldPresence;break}break;case"FIELD_PRESENCE_UNKNOWN":case 0:message.fieldPresence=0;break;case"EXPLICIT":case 1:message.fieldPresence=1;break;case"IMPLICIT":case 2:message.fieldPresence=2;break;case"LEGACY_REQUIRED":case 3:message.fieldPresence=3;break}switch(object.enumType){default:if(typeof object.enumType==="number"){message.enumType=object.enumType;break}break;case"ENUM_TYPE_UNKNOWN":case 0:message.enumType=0;break;case"OPEN":case 1:message.enumType=1;break;case"CLOSED":case 2:message.enumType=2;break}switch(object.repeatedFieldEncoding){default:if(typeof object.repeatedFieldEncoding==="number"){message.repeatedFieldEncoding=object.repeatedFieldEncoding;break}break;case"REPEATED_FIELD_ENCODING_UNKNOWN":case 0:message.repeatedFieldEncoding=0;break;case"PACKED":case 1:message.repeatedFieldEncoding=1;break;case"EXPANDED":case 2:message.repeatedFieldEncoding=2;break}switch(object.utf8Validation){default:if(typeof object.utf8Validation==="number"){message.utf8Validation=object.utf8Validation;break}break;case"UTF8_VALIDATION_UNKNOWN":case 0:message.utf8Validation=0;break;case"VERIFY":case 2:message.utf8Validation=2;break;case"NONE":case 3:message.utf8Validation=3;break}switch(object.messageEncoding){default:if(typeof object.messageEncoding==="number"){message.messageEncoding=object.messageEncoding;break}break;case"MESSAGE_ENCODING_UNKNOWN":case 0:message.messageEncoding=0;break;case"LENGTH_PREFIXED":case 1:message.messageEncoding=1;break;case"DELIMITED":case 2:message.messageEncoding=2;break}switch(object.jsonFormat){default:if(typeof object.jsonFormat==="number"){message.jsonFormat=object.jsonFormat;break}break;case"JSON_FORMAT_UNKNOWN":case 0:message.jsonFormat=0;break;case"ALLOW":case 1:message.jsonFormat=1;break;case"LEGACY_BEST_EFFORT":case 2:message.jsonFormat=2;break}switch(object.enforceNamingStyle){default:if(typeof object.enforceNamingStyle==="number"){message.enforceNamingStyle=object.enforceNamingStyle;break}break;case"ENFORCE_NAMING_STYLE_UNKNOWN":case 0:message.enforceNamingStyle=0;break;case"STYLE2024":case 1:message.enforceNamingStyle=1;break;case"STYLE_LEGACY":case 2:message.enforceNamingStyle=2;break;case"STYLE2026":case 3:message.enforceNamingStyle=3;break}switch(object.defaultSymbolVisibility){default:if(typeof object.defaultSymbolVisibility==="number"){message.defaultSymbolVisibility=object.defaultSymbolVisibility;break}break;case"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":case 0:message.defaultSymbolVisibility=0;break;case"EXPORT_ALL":case 1:message.defaultSymbolVisibility=1;break;case"EXPORT_TOP_LEVEL":case 2:message.defaultSymbolVisibility=2;break;case"LOCAL_ALL":case 3:message.defaultSymbolVisibility=3;break;case"STRICT":case 4:message.defaultSymbolVisibility=4;break}switch(object.enforceProtoLimits){default:if(typeof object.enforceProtoLimits==="number"){message.enforceProtoLimits=object.enforceProtoLimits;break}break;case"PROTO_LIMITS_UNKNOWN":case 0:message.enforceProtoLimits=0;break;case"LEGACY_NO_EXPLICIT_LIMITS":case 1:message.enforceProtoLimits=1;break;case"PROTO_LIMITS2026":case 2:message.enforceProtoLimits=2;break}return message};FeatureSet.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.fieldPresence=options.enums===String?"FIELD_PRESENCE_UNKNOWN":0;object.enumType=options.enums===String?"ENUM_TYPE_UNKNOWN":0;object.repeatedFieldEncoding=options.enums===String?"REPEATED_FIELD_ENCODING_UNKNOWN":0;object.utf8Validation=options.enums===String?"UTF8_VALIDATION_UNKNOWN":0;object.messageEncoding=options.enums===String?"MESSAGE_ENCODING_UNKNOWN":0;object.jsonFormat=options.enums===String?"JSON_FORMAT_UNKNOWN":0;object.enforceNamingStyle=options.enums===String?"ENFORCE_NAMING_STYLE_UNKNOWN":0;object.defaultSymbolVisibility=options.enums===String?"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":0;object.enforceProtoLimits=options.enums===String?"PROTO_LIMITS_UNKNOWN":0}if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))object.fieldPresence=options.enums===String?$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]===undefined?message.fieldPresence:$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]:message.fieldPresence;if(message.enumType!=null&&message.hasOwnProperty("enumType"))object.enumType=options.enums===String?$root.google.protobuf.FeatureSet.EnumType[message.enumType]===undefined?message.enumType:$root.google.protobuf.FeatureSet.EnumType[message.enumType]:message.enumType;if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))object.repeatedFieldEncoding=options.enums===String?$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]===undefined?message.repeatedFieldEncoding:$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]:message.repeatedFieldEncoding;if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))object.utf8Validation=options.enums===String?$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]===undefined?message.utf8Validation:$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]:message.utf8Validation;if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))object.messageEncoding=options.enums===String?$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]===undefined?message.messageEncoding:$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]:message.messageEncoding;if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))object.jsonFormat=options.enums===String?$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]===undefined?message.jsonFormat:$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]:message.jsonFormat;if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))object.enforceNamingStyle=options.enums===String?$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]===undefined?message.enforceNamingStyle:$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]:message.enforceNamingStyle;if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))object.defaultSymbolVisibility=options.enums===String?$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]===undefined?message.defaultSymbolVisibility:$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]:message.defaultSymbolVisibility;if(message.enforceProtoLimits!=null&&message.hasOwnProperty("enforceProtoLimits"))object.enforceProtoLimits=options.enums===String?$root.google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits[message.enforceProtoLimits]===undefined?message.enforceProtoLimits:$root.google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits[message.enforceProtoLimits]:message.enforceProtoLimits;return object};FeatureSet.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSet.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet"};FeatureSet.FieldPresence=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="FIELD_PRESENCE_UNKNOWN"]=0;values[valuesById[1]="EXPLICIT"]=1;values[valuesById[2]="IMPLICIT"]=2;values[valuesById[3]="LEGACY_REQUIRED"]=3;return values}();FeatureSet.EnumType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENUM_TYPE_UNKNOWN"]=0;values[valuesById[1]="OPEN"]=1;values[valuesById[2]="CLOSED"]=2;return values}();FeatureSet.RepeatedFieldEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="REPEATED_FIELD_ENCODING_UNKNOWN"]=0;values[valuesById[1]="PACKED"]=1;values[valuesById[2]="EXPANDED"]=2;return values}();FeatureSet.Utf8Validation=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="UTF8_VALIDATION_UNKNOWN"]=0;values[valuesById[2]="VERIFY"]=2;values[valuesById[3]="NONE"]=3;return values}();FeatureSet.MessageEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="MESSAGE_ENCODING_UNKNOWN"]=0;values[valuesById[1]="LENGTH_PREFIXED"]=1;values[valuesById[2]="DELIMITED"]=2;return values}();FeatureSet.JsonFormat=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="JSON_FORMAT_UNKNOWN"]=0;values[valuesById[1]="ALLOW"]=1;values[valuesById[2]="LEGACY_BEST_EFFORT"]=2;return values}();FeatureSet.EnforceNamingStyle=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENFORCE_NAMING_STYLE_UNKNOWN"]=0;values[valuesById[1]="STYLE2024"]=1;values[valuesById[2]="STYLE_LEGACY"]=2;values[valuesById[3]="STYLE2026"]=3;return values}();FeatureSet.VisibilityFeature=function(){function VisibilityFeature(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}VisibilityFeature.create=function create(properties){return new VisibilityFeature(properties)};VisibilityFeature.encode=function encode(message,writer){if(!writer)writer=$Writer.create();return writer};VisibilityFeature.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};VisibilityFeature.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet.VisibilityFeature;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){default:reader.skipType(tag&7,long);break}}return message};VisibilityFeature.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};VisibilityFeature.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";return null};VisibilityFeature.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");return new $root.google.protobuf.FeatureSet.VisibilityFeature};VisibilityFeature.toObject=function toObject(){return{}};VisibilityFeature.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};VisibilityFeature.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet.VisibilityFeature"};VisibilityFeature.DefaultSymbolVisibility=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"]=0;values[valuesById[1]="EXPORT_ALL"]=1;values[valuesById[2]="EXPORT_TOP_LEVEL"]=2;values[valuesById[3]="LOCAL_ALL"]=3;values[valuesById[4]="STRICT"]=4;return values}();return VisibilityFeature}();FeatureSet.ProtoLimitsFeature=function(){function ProtoLimitsFeature(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ProtoLimitsFeature.create=function create(properties){return new ProtoLimitsFeature(properties)};ProtoLimitsFeature.encode=function encode(message,writer){if(!writer)writer=$Writer.create();return writer};ProtoLimitsFeature.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ProtoLimitsFeature.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet.ProtoLimitsFeature;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){default:reader.skipType(tag&7,long);break}}return message};ProtoLimitsFeature.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ProtoLimitsFeature.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";return null};ProtoLimitsFeature.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet.ProtoLimitsFeature)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");return new $root.google.protobuf.FeatureSet.ProtoLimitsFeature};ProtoLimitsFeature.toObject=function toObject(){return{}};ProtoLimitsFeature.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ProtoLimitsFeature.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet.ProtoLimitsFeature"};ProtoLimitsFeature.EnforceProtoLimits=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="PROTO_LIMITS_UNKNOWN"]=0;values[valuesById[1]="LEGACY_NO_EXPLICIT_LIMITS"]=1;values[valuesById[2]="PROTO_LIMITS2026"]=2;return values}();return ProtoLimitsFeature}();return FeatureSet}();protobuf.FeatureSetDefaults=function(){function FeatureSetDefaults(properties){this.defaults=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSetDefaults.prototype.defaults=$util.emptyArray;FeatureSetDefaults.prototype.minimumEdition=0;FeatureSetDefaults.prototype.maximumEdition=0;FeatureSetDefaults.create=function create(properties){return new FeatureSetDefaults(properties)};FeatureSetDefaults.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.defaults!=null&&message.defaults.length)for(var i=0;i<message.defaults.length;++i)$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i],writer.uint32(10).fork()).ldelim();if(message.minimumEdition!=null&&Object.hasOwnProperty.call(message,"minimumEdition"))writer.uint32(32).int32(message.minimumEdition);if(message.maximumEdition!=null&&Object.hasOwnProperty.call(message,"maximumEdition"))writer.uint32(40).int32(message.maximumEdition);return writer};FeatureSetDefaults.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSetDefaults.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.defaults&&message.defaults.length))message.defaults=[];message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{message.minimumEdition=reader.int32();break}case 5:{message.maximumEdition=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetDefaults.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetDefaults.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.defaults!=null&&message.hasOwnProperty("defaults")){if(!Array.isArray(message.defaults))return"defaults: array expected";for(var i=0;i<message.defaults.length;++i){var error=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i],long+1);if(error)return"defaults."+error}}if(message.minimumEdition!=null&&message.hasOwnProperty("minimumEdition"))switch(message.minimumEdition){default:return"minimumEdition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.maximumEdition!=null&&message.hasOwnProperty("maximumEdition"))switch(message.maximumEdition){default:return"maximumEdition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}return null};FeatureSetDefaults.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSetDefaults)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults;if(object.defaults){if(!Array.isArray(object.defaults))throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");message.defaults=[];for(var i=0;i<object.defaults.length;++i){if(typeof object.defaults[i]!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");message.defaults[i]=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i],long+1)}}switch(object.minimumEdition){default:if(typeof object.minimumEdition==="number"){message.minimumEdition=object.minimumEdition;break}break;case"EDITION_UNKNOWN":case 0:message.minimumEdition=0;break;case"EDITION_LEGACY":case 900:message.minimumEdition=900;break;case"EDITION_PROTO2":case 998:message.minimumEdition=998;break;case"EDITION_PROTO3":case 999:message.minimumEdition=999;break;case"EDITION_2023":case 1e3:message.minimumEdition=1e3;break;case"EDITION_2024":case 1001:message.minimumEdition=1001;break;case"EDITION_2026":case 1002:message.minimumEdition=1002;break;case"EDITION_UNSTABLE":case 9999:message.minimumEdition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.minimumEdition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.minimumEdition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.minimumEdition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.minimumEdition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.minimumEdition=99999;break;case"EDITION_MAX":case 2147483647:message.minimumEdition=2147483647;break}switch(object.maximumEdition){default:if(typeof object.maximumEdition==="number"){message.maximumEdition=object.maximumEdition;break}break;case"EDITION_UNKNOWN":case 0:message.maximumEdition=0;break;case"EDITION_LEGACY":case 900:message.maximumEdition=900;break;case"EDITION_PROTO2":case 998:message.maximumEdition=998;break;case"EDITION_PROTO3":case 999:message.maximumEdition=999;break;case"EDITION_2023":case 1e3:message.maximumEdition=1e3;break;case"EDITION_2024":case 1001:message.maximumEdition=1001;break;case"EDITION_2026":case 1002:message.maximumEdition=1002;break;case"EDITION_UNSTABLE":case 9999:message.maximumEdition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.maximumEdition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.maximumEdition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.maximumEdition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.maximumEdition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.maximumEdition=99999;break;case"EDITION_MAX":case 2147483647:message.maximumEdition=2147483647;break}return message};FeatureSetDefaults.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.defaults=[];if(options.defaults){object.minimumEdition=options.enums===String?"EDITION_UNKNOWN":0;object.maximumEdition=options.enums===String?"EDITION_UNKNOWN":0}if(message.defaults&&message.defaults.length){object.defaults=[];for(var j=0;j<message.defaults.length;++j)object.defaults[j]=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j],options)}if(message.minimumEdition!=null&&message.hasOwnProperty("minimumEdition"))object.minimumEdition=options.enums===String?$root.google.protobuf.Edition[message.minimumEdition]===undefined?message.minimumEdition:$root.google.protobuf.Edition[message.minimumEdition]:message.minimumEdition;if(message.maximumEdition!=null&&message.hasOwnProperty("maximumEdition"))object.maximumEdition=options.enums===String?$root.google.protobuf.Edition[message.maximumEdition]===undefined?message.maximumEdition:$root.google.protobuf.Edition[message.maximumEdition]:message.maximumEdition;return object};FeatureSetDefaults.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSetDefaults.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSetDefaults"};FeatureSetDefaults.FeatureSetEditionDefault=function(){function FeatureSetEditionDefault(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSetEditionDefault.prototype.edition=0;FeatureSetEditionDefault.prototype.overridableFeatures=null;FeatureSetEditionDefault.prototype.fixedFeatures=null;FeatureSetEditionDefault.create=function create(properties){return new FeatureSetEditionDefault(properties)};FeatureSetEditionDefault.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(24).int32(message.edition);if(message.overridableFeatures!=null&&Object.hasOwnProperty.call(message,"overridableFeatures"))$root.google.protobuf.FeatureSet.encode(message.overridableFeatures,writer.uint32(34).fork()).ldelim();if(message.fixedFeatures!=null&&Object.hasOwnProperty.call(message,"fixedFeatures"))$root.google.protobuf.FeatureSet.encode(message.fixedFeatures,writer.uint32(42).fork()).ldelim();return writer};FeatureSetEditionDefault.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSetEditionDefault.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.edition=reader.int32();break}case 4:{message.overridableFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.fixedFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetEditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetEditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.overridableFeatures,long+1);if(error)return"overridableFeatures."+error}if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.fixedFeatures,long+1);if(error)return"fixedFeatures."+error}return null};FeatureSetEditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.overridableFeatures!=null){if(typeof object.overridableFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected");message.overridableFeatures=$root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures,long+1)}if(object.fixedFeatures!=null){if(typeof object.fixedFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected");message.fixedFeatures=$root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures,long+1)}return message};FeatureSetEditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.edition=options.enums===String?"EDITION_UNKNOWN":0;object.overridableFeatures=null;object.fixedFeatures=null}if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures"))object.overridableFeatures=$root.google.protobuf.FeatureSet.toObject(message.overridableFeatures,options);if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures"))object.fixedFeatures=$root.google.protobuf.FeatureSet.toObject(message.fixedFeatures,options);return object};FeatureSetEditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSetEditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"};return FeatureSetEditionDefault}();return FeatureSetDefaults}();protobuf.SourceCodeInfo=function(){function SourceCodeInfo(properties){this.location=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SourceCodeInfo.prototype.location=$util.emptyArray;SourceCodeInfo.create=function create(properties){return new SourceCodeInfo(properties)};SourceCodeInfo.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&message.location.length)for(var i=0;i<message.location.length;++i)$root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i],writer.uint32(10).fork()).ldelim();return writer};SourceCodeInfo.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SourceCodeInfo.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.location&&message.location.length))message.location=[];message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SourceCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SourceCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){if(!Array.isArray(message.location))return"location: array expected";for(var i=0;i<message.location.length;++i){var error=$root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i],long+1);if(error)return"location."+error}}return null};SourceCodeInfo.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.SourceCodeInfo)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo;if(object.location){if(!Array.isArray(object.location))throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");message.location=[];for(var i=0;i<object.location.length;++i){if(typeof object.location[i]!=="object")throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");message.location[i]=$root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i],long+1)}}return message};SourceCodeInfo.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.location=[];if(message.location&&message.location.length){object.location=[];for(var j=0;j<message.location.length;++j)object.location[j]=$root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j],options)}return object};SourceCodeInfo.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SourceCodeInfo.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.SourceCodeInfo"};SourceCodeInfo.Location=function(){function Location(properties){this.path=[];this.span=[];this.leadingDetachedComments=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Location.prototype.path=$util.emptyArray;Location.prototype.span=$util.emptyArray;Location.prototype.leadingComments="";Location.prototype.trailingComments="";Location.prototype.leadingDetachedComments=$util.emptyArray;Location.create=function create(properties){return new Location(properties)};Location.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.path!=null&&message.path.length){writer.uint32(10).fork();for(var i=0;i<message.path.length;++i)writer.int32(message.path[i]);writer.ldelim()}if(message.span!=null&&message.span.length){writer.uint32(18).fork();for(var i=0;i<message.span.length;++i)writer.int32(message.span[i]);writer.ldelim()}if(message.leadingComments!=null&&Object.hasOwnProperty.call(message,"leadingComments"))writer.uint32(26).string(message.leadingComments);if(message.trailingComments!=null&&Object.hasOwnProperty.call(message,"trailingComments"))writer.uint32(34).string(message.trailingComments);if(message.leadingDetachedComments!=null&&message.leadingDetachedComments.length)for(var i=0;i<message.leadingDetachedComments.length;++i)writer.uint32(50).string(message.leadingDetachedComments[i]);return writer};Location.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Location.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo.Location;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.path.push(reader.int32())}else message.path.push(reader.int32());break}case 2:{if(!(message.span&&message.span.length))message.span=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.span.push(reader.int32())}else message.span.push(reader.int32());break}case 3:{message.leadingComments=reader.string();break}case 4:{message.trailingComments=reader.string();break}case 6:{if(!(message.leadingDetachedComments&&message.leadingDetachedComments.length))message.leadingDetachedComments=[];message.leadingDetachedComments.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};Location.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Location.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i<message.path.length;++i)if(!$util.isInteger(message.path[i]))return"path: integer[] expected"}if(message.span!=null&&message.hasOwnProperty("span")){if(!Array.isArray(message.span))return"span: array expected";for(var i=0;i<message.span.length;++i)if(!$util.isInteger(message.span[i]))return"span: integer[] expected"}if(message.leadingComments!=null&&message.hasOwnProperty("leadingComments"))if(!$util.isString(message.leadingComments))return"leadingComments: string expected";if(message.trailingComments!=null&&message.hasOwnProperty("trailingComments"))if(!$util.isString(message.trailingComments))return"trailingComments: string expected";if(message.leadingDetachedComments!=null&&message.hasOwnProperty("leadingDetachedComments")){if(!Array.isArray(message.leadingDetachedComments))return"leadingDetachedComments: array expected";for(var i=0;i<message.leadingDetachedComments.length;++i)if(!$util.isString(message.leadingDetachedComments[i]))return"leadingDetachedComments: string[] expected"}return null};Location.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.SourceCodeInfo.Location)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo.Location;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");message.path=[];for(var i=0;i<object.path.length;++i)message.path[i]=object.path[i]|0}if(object.span){if(!Array.isArray(object.span))throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");message.span=[];for(var i=0;i<object.span.length;++i)message.span[i]=object.span[i]|0}if(object.leadingComments!=null)message.leadingComments=String(object.leadingComments);if(object.trailingComments!=null)message.trailingComments=String(object.trailingComments);if(object.leadingDetachedComments){if(!Array.isArray(object.leadingDetachedComments))throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");message.leadingDetachedComments=[];for(var i=0;i<object.leadingDetachedComments.length;++i)message.leadingDetachedComments[i]=String(object.leadingDetachedComments[i])}return message};Location.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.path=[];object.span=[];object.leadingDetachedComments=[]}if(options.defaults){object.leadingComments="";object.trailingComments=""}if(message.path&&message.path.length){object.path=[];for(var j=0;j<message.path.length;++j)object.path[j]=message.path[j]}if(message.span&&message.span.length){object.span=[];for(var j=0;j<message.span.length;++j)object.span[j]=message.span[j]}if(message.leadingComments!=null&&message.hasOwnProperty("leadingComments"))object.leadingComments=message.leadingComments;if(message.trailingComments!=null&&message.hasOwnProperty("trailingComments"))object.trailingComments=message.trailingComments;if(message.leadingDetachedComments&&message.leadingDetachedComments.length){object.leadingDetachedComments=[];for(var j=0;j<message.leadingDetachedComments.length;++j)object.leadingDetachedComments[j]=message.leadingDetachedComments[j]}return object};Location.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Location.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.SourceCodeInfo.Location"};return Location}();return SourceCodeInfo}();protobuf.GeneratedCodeInfo=function(){function GeneratedCodeInfo(properties){this.annotation=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GeneratedCodeInfo.prototype.annotation=$util.emptyArray;GeneratedCodeInfo.create=function create(properties){return new GeneratedCodeInfo(properties)};GeneratedCodeInfo.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.annotation!=null&&message.annotation.length)for(var i=0;i<message.annotation.length;++i)$root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i],writer.uint32(10).fork()).ldelim();return writer};GeneratedCodeInfo.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GeneratedCodeInfo.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.annotation&&message.annotation.length))message.annotation=[];message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};GeneratedCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GeneratedCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.annotation!=null&&message.hasOwnProperty("annotation")){if(!Array.isArray(message.annotation))return"annotation: array expected";for(var i=0;i<message.annotation.length;++i){var error=$root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i],long+1);if(error)return"annotation."+error}}return null};GeneratedCodeInfo.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.GeneratedCodeInfo)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo;if(object.annotation){if(!Array.isArray(object.annotation))throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");message.annotation=[];for(var i=0;i<object.annotation.length;++i){if(typeof object.annotation[i]!=="object")throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");message.annotation[i]=$root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i],long+1)}}return message};GeneratedCodeInfo.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.annotation=[];if(message.annotation&&message.annotation.length){object.annotation=[];for(var j=0;j<message.annotation.length;++j)object.annotation[j]=$root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j],options)}return object};GeneratedCodeInfo.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GeneratedCodeInfo.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.GeneratedCodeInfo"};GeneratedCodeInfo.Annotation=function(){function Annotation(properties){this.path=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Annotation.prototype.path=$util.emptyArray;Annotation.prototype.sourceFile="";Annotation.prototype.begin=0;Annotation.prototype.end=0;Annotation.prototype.semantic=0;Annotation.create=function create(properties){return new Annotation(properties)};Annotation.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.path!=null&&message.path.length){writer.uint32(10).fork();for(var i=0;i<message.path.length;++i)writer.int32(message.path[i]);writer.ldelim()}if(message.sourceFile!=null&&Object.hasOwnProperty.call(message,"sourceFile"))writer.uint32(18).string(message.sourceFile);if(message.begin!=null&&Object.hasOwnProperty.call(message,"begin"))writer.uint32(24).int32(message.begin);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(32).int32(message.end);if(message.semantic!=null&&Object.hasOwnProperty.call(message,"semantic"))writer.uint32(40).int32(message.semantic);return writer};Annotation.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Annotation.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.path.push(reader.int32())}else message.path.push(reader.int32());break}case 2:{message.sourceFile=reader.string();break}case 3:{message.begin=reader.int32();break}case 4:{message.end=reader.int32();break}case 5:{message.semantic=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Annotation.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Annotation.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i<message.path.length;++i)if(!$util.isInteger(message.path[i]))return"path: integer[] expected"}if(message.sourceFile!=null&&message.hasOwnProperty("sourceFile"))if(!$util.isString(message.sourceFile))return"sourceFile: string expected";if(message.begin!=null&&message.hasOwnProperty("begin"))if(!$util.isInteger(message.begin))return"begin: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";if(message.semantic!=null&&message.hasOwnProperty("semantic"))switch(message.semantic){default:return"semantic: enum value expected";case 0:case 1:case 2:break}return null};Annotation.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");message.path=[];for(var i=0;i<object.path.length;++i)message.path[i]=object.path[i]|0}if(object.sourceFile!=null)message.sourceFile=String(object.sourceFile);if(object.begin!=null)message.begin=object.begin|0;if(object.end!=null)message.end=object.end|0;switch(object.semantic){default:if(typeof object.semantic==="number"){message.semantic=object.semantic;break}break;case"NONE":case 0:message.semantic=0;break;case"SET":case 1:message.semantic=1;break;case"ALIAS":case 2:message.semantic=2;break}return message};Annotation.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.path=[];if(options.defaults){object.sourceFile="";object.begin=0;object.end=0;object.semantic=options.enums===String?"NONE":0}if(message.path&&message.path.length){object.path=[];for(var j=0;j<message.path.length;++j)object.path[j]=message.path[j]}if(message.sourceFile!=null&&message.hasOwnProperty("sourceFile"))object.sourceFile=message.sourceFile;if(message.begin!=null&&message.hasOwnProperty("begin"))object.begin=message.begin;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;if(message.semantic!=null&&message.hasOwnProperty("semantic"))object.semantic=options.enums===String?$root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic]===undefined?message.semantic:$root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic]:message.semantic;return object};Annotation.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Annotation.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.GeneratedCodeInfo.Annotation"};Annotation.Semantic=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="NONE"]=0;values[valuesById[1]="SET"]=1;values[valuesById[2]="ALIAS"]=2;return values}();return Annotation}();return GeneratedCodeInfo}();protobuf.SymbolVisibility=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="VISIBILITY_UNSET"]=0;values[valuesById[1]="VISIBILITY_LOCAL"]=1;values[valuesById[2]="VISIBILITY_EXPORT"]=2;return values}();protobuf.Duration=function(){function Duration(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Duration.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,false):0;Duration.prototype.nanos=0;Duration.create=function create(properties){return new Duration(properties)};Duration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.seconds!=null&&Object.hasOwnProperty.call(message,"seconds"))writer.uint32(8).int64(message.seconds);if(message.nanos!=null&&Object.hasOwnProperty.call(message,"nanos"))writer.uint32(16).int32(message.nanos);return writer};Duration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Duration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Duration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.seconds=reader.int64();break}case 2:{message.nanos=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Duration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Duration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(!$util.isInteger(message.seconds)&&!(message.seconds&&$util.isInteger(message.seconds.low)&&$util.isInteger(message.seconds.high)))return"seconds: integer|Long expected";if(message.nanos!=null&&message.hasOwnProperty("nanos"))if(!$util.isInteger(message.nanos))return"nanos: integer expected";return null};Duration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Duration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Duration;if(object.seconds!=null)if($util.Long)(message.seconds=$util.Long.fromValue(object.seconds)).unsigned=false;else if(typeof object.seconds==="string")message.seconds=parseInt(object.seconds,10);else if(typeof object.seconds==="number")message.seconds=object.seconds;else if(typeof object.seconds==="object")message.seconds=new $util.LongBits(object.seconds.low>>>0,object.seconds.high>>>0).toNumber();if(object.nanos!=null)message.nanos=object.nanos|0;return message};Duration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){if($util.Long){var long=new $util.Long(0,0,false);object.seconds=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.seconds=options.longs===String?"0":0;object.nanos=0}if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(typeof message.seconds==="number")object.seconds=options.longs===String?String(message.seconds):message.seconds;else object.seconds=options.longs===String?$util.Long.prototype.toString.call(message.seconds):options.longs===Number?new $util.LongBits(message.seconds.low>>>0,message.seconds.high>>>0).toNumber():message.seconds;if(message.nanos!=null&&message.hasOwnProperty("nanos"))object.nanos=message.nanos;return object};Duration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Duration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Duration"};return Duration}();protobuf.Any=function(){function Any(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Any.prototype.type_url="";Any.prototype.value=$util.newBuffer([]);Any.create=function create(properties){return new Any(properties)};Any.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.type_url!=null&&Object.hasOwnProperty.call(message,"type_url"))writer.uint32(10).string(message.type_url);if(message.value!=null&&Object.hasOwnProperty.call(message,"value"))writer.uint32(18).bytes(message.value);return writer};Any.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Any.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Any;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.type_url=reader.string();break}case 2:{message.value=reader.bytes();break}default:reader.skipType(tag&7,long);break}}return message};Any.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Any.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.type_url!=null&&message.hasOwnProperty("type_url"))if(!$util.isString(message.type_url))return"type_url: string expected";if(message.value!=null&&message.hasOwnProperty("value"))if(!(message.value&&typeof message.value.length==="number"||$util.isString(message.value)))return"value: buffer expected";return null};Any.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Any)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Any;if(object.type_url!=null)message.type_url=String(object.type_url);if(object.value!=null)if(typeof object.value==="string")$util.base64.decode(object.value,message.value=$util.newBuffer($util.base64.length(object.value)),0);else if(object.value.length>=0)message.value=object.value;return message};Any.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.type_url="";if(options.bytes===String)object.value="";else{object.value=[];if(options.bytes!==Array)object.value=$util.newBuffer(object.value)}}if(message.type_url!=null&&message.hasOwnProperty("type_url"))object.type_url=message.type_url;if(message.value!=null&&message.hasOwnProperty("value"))object.value=options.bytes===String?$util.base64.encode(message.value,0,message.value.length):options.bytes===Array?Array.prototype.slice.call(message.value):message.value;return object};Any.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Any.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Any"};return Any}();return protobuf}();google.type=function(){var type={};type.Date=function(){function Date(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Date.prototype.year=0;Date.prototype.month=0;Date.prototype.day=0;Date.create=function create(properties){return new Date(properties)};Date.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.year!=null&&Object.hasOwnProperty.call(message,"year"))writer.uint32(8).int32(message.year);if(message.month!=null&&Object.hasOwnProperty.call(message,"month"))writer.uint32(16).int32(message.month);if(message.day!=null&&Object.hasOwnProperty.call(message,"day"))writer.uint32(24).int32(message.day);return writer};Date.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Date.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.Date;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.year=reader.int32();break}case 2:{message.month=reader.int32();break}case 3:{message.day=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Date.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Date.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.year!=null&&message.hasOwnProperty("year"))if(!$util.isInteger(message.year))return"year: integer expected";if(message.month!=null&&message.hasOwnProperty("month"))if(!$util.isInteger(message.month))return"month: integer expected";if(message.day!=null&&message.hasOwnProperty("day"))if(!$util.isInteger(message.day))return"day: integer expected";return null};Date.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.Date)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.Date;if(object.year!=null)message.year=object.year|0;if(object.month!=null)message.month=object.month|0;if(object.day!=null)message.day=object.day|0;return message};Date.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.year=0;object.month=0;object.day=0}if(message.year!=null&&message.hasOwnProperty("year"))object.year=message.year;if(message.month!=null&&message.hasOwnProperty("month"))object.month=message.month;if(message.day!=null&&message.hasOwnProperty("day"))object.day=message.day;return object};Date.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Date.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.Date"};return Date}();type.LatLng=function(){function LatLng(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LatLng.prototype.latitude=0;LatLng.prototype.longitude=0;LatLng.create=function create(properties){return new LatLng(properties)};LatLng.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.latitude!=null&&Object.hasOwnProperty.call(message,"latitude"))writer.uint32(9).double(message.latitude);if(message.longitude!=null&&Object.hasOwnProperty.call(message,"longitude"))writer.uint32(17).double(message.longitude);return writer};LatLng.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LatLng.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.LatLng;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.latitude=reader.double();break}case 2:{message.longitude=reader.double();break}default:reader.skipType(tag&7,long);break}}return message};LatLng.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LatLng.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.latitude!=null&&message.hasOwnProperty("latitude"))if(typeof message.latitude!=="number")return"latitude: number expected";if(message.longitude!=null&&message.hasOwnProperty("longitude"))if(typeof message.longitude!=="number")return"longitude: number expected";return null};LatLng.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.LatLng)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.LatLng;if(object.latitude!=null)message.latitude=Number(object.latitude);if(object.longitude!=null)message.longitude=Number(object.longitude);return message};LatLng.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.latitude=0;object.longitude=0}if(message.latitude!=null&&message.hasOwnProperty("latitude"))object.latitude=options.json&&!isFinite(message.latitude)?String(message.latitude):message.latitude;if(message.longitude!=null&&message.hasOwnProperty("longitude"))object.longitude=options.json&&!isFinite(message.longitude)?String(message.longitude):message.longitude;return object};LatLng.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LatLng.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.LatLng"};return LatLng}();type.Money=function(){function Money(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Money.prototype.currencyCode="";Money.prototype.units=$util.Long?$util.Long.fromBits(0,0,false):0;Money.prototype.nanos=0;Money.create=function create(properties){return new Money(properties)};Money.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.currencyCode!=null&&Object.hasOwnProperty.call(message,"currencyCode"))writer.uint32(10).string(message.currencyCode);if(message.units!=null&&Object.hasOwnProperty.call(message,"units"))writer.uint32(16).int64(message.units);if(message.nanos!=null&&Object.hasOwnProperty.call(message,"nanos"))writer.uint32(24).int32(message.nanos);return writer};Money.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Money.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.Money;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.currencyCode=reader.string();break}case 2:{message.units=reader.int64();break}case 3:{message.nanos=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Money.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Money.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.currencyCode!=null&&message.hasOwnProperty("currencyCode"))if(!$util.isString(message.currencyCode))return"currencyCode: string expected";if(message.units!=null&&message.hasOwnProperty("units"))if(!$util.isInteger(message.units)&&!(message.units&&$util.isInteger(message.units.low)&&$util.isInteger(message.units.high)))return"units: integer|Long expected";if(message.nanos!=null&&message.hasOwnProperty("nanos"))if(!$util.isInteger(message.nanos))return"nanos: integer expected";return null};Money.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.Money)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.Money;if(object.currencyCode!=null)message.currencyCode=String(object.currencyCode);if(object.units!=null)if($util.Long)(message.units=$util.Long.fromValue(object.units)).unsigned=false;else if(typeof object.units==="string")message.units=parseInt(object.units,10);else if(typeof object.units==="number")message.units=object.units;else if(typeof object.units==="object")message.units=new $util.LongBits(object.units.low>>>0,object.units.high>>>0).toNumber();if(object.nanos!=null)message.nanos=object.nanos|0;return message};Money.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.currencyCode="";if($util.Long){var long=new $util.Long(0,0,false);object.units=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.units=options.longs===String?"0":0;object.nanos=0}if(message.currencyCode!=null&&message.hasOwnProperty("currencyCode"))object.currencyCode=message.currencyCode;if(message.units!=null&&message.hasOwnProperty("units"))if(typeof message.units==="number")object.units=options.longs===String?String(message.units):message.units;else object.units=options.longs===String?$util.Long.prototype.toString.call(message.units):options.longs===Number?new $util.LongBits(message.units.low>>>0,message.units.high>>>0).toNumber():message.units;if(message.nanos!=null&&message.hasOwnProperty("nanos"))object.nanos=message.nanos;return object};Money.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Money.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.Money"};return Money}();return type}();return google}();return $root});
|
|
1
|
+
(function(global,factory){if(typeof define==="function"&&define.amd)define(["protobufjs/minimal"],factory);else if(typeof require==="function"&&typeof module==="object"&&module&&module.exports)module.exports=factory(require("google-gax/build/src/protobuf").protobufMinimal)})(this,function($protobuf){"use strict";var $Reader=$protobuf.Reader,$Writer=$protobuf.Writer,$util=$protobuf.util;var $root=$protobuf.roots._googlemaps_solar_protos||($protobuf.roots._googlemaps_solar_protos={});$root.google=function(){var google={};google.maps=function(){var maps={};maps.solar=function(){var solar={};solar.v1=function(){var v1={};v1.Solar=function(){function Solar(rpcImpl,requestDelimited,responseDelimited){$protobuf.rpc.Service.call(this,rpcImpl,requestDelimited,responseDelimited)}(Solar.prototype=Object.create($protobuf.rpc.Service.prototype)).constructor=Solar;Solar.create=function create(rpcImpl,requestDelimited,responseDelimited){return new this(rpcImpl,requestDelimited,responseDelimited)};Object.defineProperty(Solar.prototype.findClosestBuildingInsights=function findClosestBuildingInsights(request,callback){return this.rpcCall(findClosestBuildingInsights,$root.google.maps.solar.v1.FindClosestBuildingInsightsRequest,$root.google.maps.solar.v1.BuildingInsights,request,callback)},"name",{value:"FindClosestBuildingInsights"});Object.defineProperty(Solar.prototype.getDataLayers=function getDataLayers(request,callback){return this.rpcCall(getDataLayers,$root.google.maps.solar.v1.GetDataLayersRequest,$root.google.maps.solar.v1.DataLayers,request,callback)},"name",{value:"GetDataLayers"});Object.defineProperty(Solar.prototype.getGeoTiff=function getGeoTiff(request,callback){return this.rpcCall(getGeoTiff,$root.google.maps.solar.v1.GetGeoTiffRequest,$root.google.api.HttpBody,request,callback)},"name",{value:"GetGeoTiff"});return Solar}();v1.FindClosestBuildingInsightsRequest=function(){function FindClosestBuildingInsightsRequest(properties){this.experiments=[];this.additionalInsights=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FindClosestBuildingInsightsRequest.prototype.location=null;FindClosestBuildingInsightsRequest.prototype.requiredQuality=0;FindClosestBuildingInsightsRequest.prototype.exactQualityRequired=false;FindClosestBuildingInsightsRequest.prototype.experiments=$util.emptyArray;FindClosestBuildingInsightsRequest.prototype.additionalInsights=$util.emptyArray;FindClosestBuildingInsightsRequest.create=function create(properties){return new FindClosestBuildingInsightsRequest(properties)};FindClosestBuildingInsightsRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&Object.hasOwnProperty.call(message,"location"))$root.google.type.LatLng.encode(message.location,writer.uint32(10).fork()).ldelim();if(message.requiredQuality!=null&&Object.hasOwnProperty.call(message,"requiredQuality"))writer.uint32(24).int32(message.requiredQuality);if(message.exactQualityRequired!=null&&Object.hasOwnProperty.call(message,"exactQualityRequired"))writer.uint32(32).bool(message.exactQualityRequired);if(message.experiments!=null&&message.experiments.length){writer.uint32(42).fork();for(var i=0;i<message.experiments.length;++i)writer.int32(message.experiments[i]);writer.ldelim()}if(message.additionalInsights!=null&&message.additionalInsights.length){writer.uint32(50).fork();for(var i=0;i<message.additionalInsights.length;++i)writer.int32(message.additionalInsights[i]);writer.ldelim()}return writer};FindClosestBuildingInsightsRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FindClosestBuildingInsightsRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.location=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.requiredQuality=reader.int32();break}case 4:{message.exactQualityRequired=reader.bool();break}case 5:{if(!(message.experiments&&message.experiments.length))message.experiments=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.experiments.push(reader.int32())}else message.experiments.push(reader.int32());break}case 6:{if(!(message.additionalInsights&&message.additionalInsights.length))message.additionalInsights=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.additionalInsights.push(reader.int32())}else message.additionalInsights.push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};FindClosestBuildingInsightsRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FindClosestBuildingInsightsRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){var error=$root.google.type.LatLng.verify(message.location,long+1);if(error)return"location."+error}if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))switch(message.requiredQuality){default:return"requiredQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))if(typeof message.exactQualityRequired!=="boolean")return"exactQualityRequired: boolean expected";if(message.experiments!=null&&message.hasOwnProperty("experiments")){if(!Array.isArray(message.experiments))return"experiments: array expected";for(var i=0;i<message.experiments.length;++i)switch(message.experiments[i]){default:return"experiments: enum value[] expected";case 0:case 1:break}}if(message.additionalInsights!=null&&message.hasOwnProperty("additionalInsights")){if(!Array.isArray(message.additionalInsights))return"additionalInsights: array expected";for(var i=0;i<message.additionalInsights.length;++i)switch(message.additionalInsights[i]){default:return"additionalInsights: enum value[] expected";case 0:case 2:break}}return null};FindClosestBuildingInsightsRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FindClosestBuildingInsightsRequest;if(object.location!=null){if(typeof object.location!=="object")throw TypeError(".google.maps.solar.v1.FindClosestBuildingInsightsRequest.location: object expected");message.location=$root.google.type.LatLng.fromObject(object.location,long+1)}switch(object.requiredQuality){default:if(typeof object.requiredQuality==="number"){message.requiredQuality=object.requiredQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.requiredQuality=0;break;case"HIGH":case 1:message.requiredQuality=1;break;case"MEDIUM":case 2:message.requiredQuality=2;break;case"LOW":case 3:message.requiredQuality=3;break;case"BASE":case 4:message.requiredQuality=4;break}if(object.exactQualityRequired!=null)message.exactQualityRequired=Boolean(object.exactQualityRequired);if(object.experiments){if(!Array.isArray(object.experiments))throw TypeError(".google.maps.solar.v1.FindClosestBuildingInsightsRequest.experiments: array expected");message.experiments=[];for(var i=0;i<object.experiments.length;++i)switch(object.experiments[i]){default:if(typeof object.experiments[i]==="number"){message.experiments[i]=object.experiments[i];break}case"EXPERIMENT_UNSPECIFIED":case 0:message.experiments[i]=0;break;case"EXPANDED_COVERAGE":case 1:message.experiments[i]=1;break}}if(object.additionalInsights){if(!Array.isArray(object.additionalInsights))throw TypeError(".google.maps.solar.v1.FindClosestBuildingInsightsRequest.additionalInsights: array expected");message.additionalInsights=[];for(var i=0;i<object.additionalInsights.length;++i)switch(object.additionalInsights[i]){default:if(typeof object.additionalInsights[i]==="number"){message.additionalInsights[i]=object.additionalInsights[i];break}case"ADDITIONAL_INSIGHTS_UNSPECIFIED":case 0:message.additionalInsights[i]=0;break;case"DETECTED_ARRAYS":case 2:message.additionalInsights[i]=2;break}}return message};FindClosestBuildingInsightsRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.experiments=[];object.additionalInsights=[]}if(options.defaults){object.location=null;object.requiredQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.exactQualityRequired=false}if(message.location!=null&&message.hasOwnProperty("location"))object.location=$root.google.type.LatLng.toObject(message.location,options);if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))object.requiredQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]===undefined?message.requiredQuality:$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]:message.requiredQuality;if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))object.exactQualityRequired=message.exactQualityRequired;if(message.experiments&&message.experiments.length){object.experiments=[];for(var j=0;j<message.experiments.length;++j)object.experiments[j]=options.enums===String?$root.google.maps.solar.v1.Experiment[message.experiments[j]]===undefined?message.experiments[j]:$root.google.maps.solar.v1.Experiment[message.experiments[j]]:message.experiments[j]}if(message.additionalInsights&&message.additionalInsights.length){object.additionalInsights=[];for(var j=0;j<message.additionalInsights.length;++j)object.additionalInsights[j]=options.enums===String?$root.google.maps.solar.v1.AdditionalInsights[message.additionalInsights[j]]===undefined?message.additionalInsights[j]:$root.google.maps.solar.v1.AdditionalInsights[message.additionalInsights[j]]:message.additionalInsights[j]}return object};FindClosestBuildingInsightsRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FindClosestBuildingInsightsRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FindClosestBuildingInsightsRequest"};return FindClosestBuildingInsightsRequest}();v1.LatLngBox=function(){function LatLngBox(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LatLngBox.prototype.sw=null;LatLngBox.prototype.ne=null;LatLngBox.create=function create(properties){return new LatLngBox(properties)};LatLngBox.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.sw!=null&&Object.hasOwnProperty.call(message,"sw"))$root.google.type.LatLng.encode(message.sw,writer.uint32(10).fork()).ldelim();if(message.ne!=null&&Object.hasOwnProperty.call(message,"ne"))$root.google.type.LatLng.encode(message.ne,writer.uint32(18).fork()).ldelim();return writer};LatLngBox.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LatLngBox.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.LatLngBox;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.sw=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.ne=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LatLngBox.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LatLngBox.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.sw!=null&&message.hasOwnProperty("sw")){var error=$root.google.type.LatLng.verify(message.sw,long+1);if(error)return"sw."+error}if(message.ne!=null&&message.hasOwnProperty("ne")){var error=$root.google.type.LatLng.verify(message.ne,long+1);if(error)return"ne."+error}return null};LatLngBox.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.LatLngBox)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.LatLngBox;if(object.sw!=null){if(typeof object.sw!=="object")throw TypeError(".google.maps.solar.v1.LatLngBox.sw: object expected");message.sw=$root.google.type.LatLng.fromObject(object.sw,long+1)}if(object.ne!=null){if(typeof object.ne!=="object")throw TypeError(".google.maps.solar.v1.LatLngBox.ne: object expected");message.ne=$root.google.type.LatLng.fromObject(object.ne,long+1)}return message};LatLngBox.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.sw=null;object.ne=null}if(message.sw!=null&&message.hasOwnProperty("sw"))object.sw=$root.google.type.LatLng.toObject(message.sw,options);if(message.ne!=null&&message.hasOwnProperty("ne"))object.ne=$root.google.type.LatLng.toObject(message.ne,options);return object};LatLngBox.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LatLngBox.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.LatLngBox"};return LatLngBox}();v1.BuildingInsights=function(){function BuildingInsights(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BuildingInsights.prototype.name="";BuildingInsights.prototype.center=null;BuildingInsights.prototype.boundingBox=null;BuildingInsights.prototype.imageryDate=null;BuildingInsights.prototype.imageryProcessedDate=null;BuildingInsights.prototype.postalCode="";BuildingInsights.prototype.administrativeArea="";BuildingInsights.prototype.statisticalArea="";BuildingInsights.prototype.regionCode="";BuildingInsights.prototype.solarPotential=null;BuildingInsights.prototype.imageryQuality=0;BuildingInsights.prototype.detectedArrays=null;BuildingInsights.create=function create(properties){return new BuildingInsights(properties)};BuildingInsights.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(18).fork()).ldelim();if(message.imageryDate!=null&&Object.hasOwnProperty.call(message,"imageryDate"))$root.google.type.Date.encode(message.imageryDate,writer.uint32(26).fork()).ldelim();if(message.postalCode!=null&&Object.hasOwnProperty.call(message,"postalCode"))writer.uint32(34).string(message.postalCode);if(message.administrativeArea!=null&&Object.hasOwnProperty.call(message,"administrativeArea"))writer.uint32(42).string(message.administrativeArea);if(message.statisticalArea!=null&&Object.hasOwnProperty.call(message,"statisticalArea"))writer.uint32(50).string(message.statisticalArea);if(message.regionCode!=null&&Object.hasOwnProperty.call(message,"regionCode"))writer.uint32(58).string(message.regionCode);if(message.solarPotential!=null&&Object.hasOwnProperty.call(message,"solarPotential"))$root.google.maps.solar.v1.SolarPotential.encode(message.solarPotential,writer.uint32(66).fork()).ldelim();if(message.boundingBox!=null&&Object.hasOwnProperty.call(message,"boundingBox"))$root.google.maps.solar.v1.LatLngBox.encode(message.boundingBox,writer.uint32(74).fork()).ldelim();if(message.imageryQuality!=null&&Object.hasOwnProperty.call(message,"imageryQuality"))writer.uint32(80).int32(message.imageryQuality);if(message.imageryProcessedDate!=null&&Object.hasOwnProperty.call(message,"imageryProcessedDate"))$root.google.type.Date.encode(message.imageryProcessedDate,writer.uint32(90).fork()).ldelim();if(message.detectedArrays!=null&&Object.hasOwnProperty.call(message,"detectedArrays"))$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.encode(message.detectedArrays,writer.uint32(98).fork()).ldelim();return writer};BuildingInsights.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BuildingInsights.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.BuildingInsights;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.boundingBox=$root.google.maps.solar.v1.LatLngBox.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.imageryDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 11:{message.imageryProcessedDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.postalCode=reader.string();break}case 5:{message.administrativeArea=reader.string();break}case 6:{message.statisticalArea=reader.string();break}case 7:{message.regionCode=reader.string();break}case 8:{message.solarPotential=$root.google.maps.solar.v1.SolarPotential.decode(reader,reader.uint32(),undefined,long+1);break}case 10:{message.imageryQuality=reader.int32();break}case 12:{message.detectedArrays=$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};BuildingInsights.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BuildingInsights.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox")){var error=$root.google.maps.solar.v1.LatLngBox.verify(message.boundingBox,long+1);if(error)return"boundingBox."+error}if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate")){var error=$root.google.type.Date.verify(message.imageryDate,long+1);if(error)return"imageryDate."+error}if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate")){var error=$root.google.type.Date.verify(message.imageryProcessedDate,long+1);if(error)return"imageryProcessedDate."+error}if(message.postalCode!=null&&message.hasOwnProperty("postalCode"))if(!$util.isString(message.postalCode))return"postalCode: string expected";if(message.administrativeArea!=null&&message.hasOwnProperty("administrativeArea"))if(!$util.isString(message.administrativeArea))return"administrativeArea: string expected";if(message.statisticalArea!=null&&message.hasOwnProperty("statisticalArea"))if(!$util.isString(message.statisticalArea))return"statisticalArea: string expected";if(message.regionCode!=null&&message.hasOwnProperty("regionCode"))if(!$util.isString(message.regionCode))return"regionCode: string expected";if(message.solarPotential!=null&&message.hasOwnProperty("solarPotential")){var error=$root.google.maps.solar.v1.SolarPotential.verify(message.solarPotential,long+1);if(error)return"solarPotential."+error}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))switch(message.imageryQuality){default:return"imageryQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.detectedArrays!=null&&message.hasOwnProperty("detectedArrays")){var error=$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.verify(message.detectedArrays,long+1);if(error)return"detectedArrays."+error}return null};BuildingInsights.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.BuildingInsights)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.BuildingInsights;if(object.name!=null)message.name=String(object.name);if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}if(object.boundingBox!=null){if(typeof object.boundingBox!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.boundingBox: object expected");message.boundingBox=$root.google.maps.solar.v1.LatLngBox.fromObject(object.boundingBox,long+1)}if(object.imageryDate!=null){if(typeof object.imageryDate!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.imageryDate: object expected");message.imageryDate=$root.google.type.Date.fromObject(object.imageryDate,long+1)}if(object.imageryProcessedDate!=null){if(typeof object.imageryProcessedDate!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.imageryProcessedDate: object expected");message.imageryProcessedDate=$root.google.type.Date.fromObject(object.imageryProcessedDate,long+1)}if(object.postalCode!=null)message.postalCode=String(object.postalCode);if(object.administrativeArea!=null)message.administrativeArea=String(object.administrativeArea);if(object.statisticalArea!=null)message.statisticalArea=String(object.statisticalArea);if(object.regionCode!=null)message.regionCode=String(object.regionCode);if(object.solarPotential!=null){if(typeof object.solarPotential!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.solarPotential: object expected");message.solarPotential=$root.google.maps.solar.v1.SolarPotential.fromObject(object.solarPotential,long+1)}switch(object.imageryQuality){default:if(typeof object.imageryQuality==="number"){message.imageryQuality=object.imageryQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.imageryQuality=0;break;case"HIGH":case 1:message.imageryQuality=1;break;case"MEDIUM":case 2:message.imageryQuality=2;break;case"LOW":case 3:message.imageryQuality=3;break;case"BASE":case 4:message.imageryQuality=4;break}if(object.detectedArrays!=null){if(typeof object.detectedArrays!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.detectedArrays: object expected");message.detectedArrays=$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.fromObject(object.detectedArrays,long+1)}return message};BuildingInsights.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.center=null;object.imageryDate=null;object.postalCode="";object.administrativeArea="";object.statisticalArea="";object.regionCode="";object.solarPotential=null;object.boundingBox=null;object.imageryQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.imageryProcessedDate=null;object.detectedArrays=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate"))object.imageryDate=$root.google.type.Date.toObject(message.imageryDate,options);if(message.postalCode!=null&&message.hasOwnProperty("postalCode"))object.postalCode=message.postalCode;if(message.administrativeArea!=null&&message.hasOwnProperty("administrativeArea"))object.administrativeArea=message.administrativeArea;if(message.statisticalArea!=null&&message.hasOwnProperty("statisticalArea"))object.statisticalArea=message.statisticalArea;if(message.regionCode!=null&&message.hasOwnProperty("regionCode"))object.regionCode=message.regionCode;if(message.solarPotential!=null&&message.hasOwnProperty("solarPotential"))object.solarPotential=$root.google.maps.solar.v1.SolarPotential.toObject(message.solarPotential,options);if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox"))object.boundingBox=$root.google.maps.solar.v1.LatLngBox.toObject(message.boundingBox,options);if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))object.imageryQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]===undefined?message.imageryQuality:$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]:message.imageryQuality;if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate"))object.imageryProcessedDate=$root.google.type.Date.toObject(message.imageryProcessedDate,options);if(message.detectedArrays!=null&&message.hasOwnProperty("detectedArrays"))object.detectedArrays=$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.toObject(message.detectedArrays,options);return object};BuildingInsights.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BuildingInsights.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.BuildingInsights"};BuildingInsights.DetectedArrays=function(){function DetectedArrays(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DetectedArrays.prototype.detectionStatus=0;DetectedArrays.prototype.latestCaptureDate=null;DetectedArrays.create=function create(properties){return new DetectedArrays(properties)};DetectedArrays.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.detectionStatus!=null&&Object.hasOwnProperty.call(message,"detectionStatus"))writer.uint32(8).int32(message.detectionStatus);if(message.latestCaptureDate!=null&&Object.hasOwnProperty.call(message,"latestCaptureDate"))$root.google.type.Date.encode(message.latestCaptureDate,writer.uint32(26).fork()).ldelim();return writer};DetectedArrays.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DetectedArrays.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.BuildingInsights.DetectedArrays;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.detectionStatus=reader.int32();break}case 3:{message.latestCaptureDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};DetectedArrays.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DetectedArrays.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.detectionStatus!=null&&message.hasOwnProperty("detectionStatus"))switch(message.detectionStatus){default:return"detectionStatus: enum value expected";case 0:case 1:case 2:case 3:break}if(message.latestCaptureDate!=null&&message.hasOwnProperty("latestCaptureDate")){var error=$root.google.type.Date.verify(message.latestCaptureDate,long+1);if(error)return"latestCaptureDate."+error}return null};DetectedArrays.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.BuildingInsights.DetectedArrays)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.BuildingInsights.DetectedArrays;switch(object.detectionStatus){default:if(typeof object.detectionStatus==="number"){message.detectionStatus=object.detectionStatus;break}break;case"DETECTION_STATUS_UNSPECIFIED":case 0:message.detectionStatus=0;break;case"DETECTION_STATUS_DATA_UNAVAILABLE":case 1:message.detectionStatus=1;break;case"DETECTION_STATUS_ARRAYS_DETECTED":case 2:message.detectionStatus=2;break;case"DETECTION_STATUS_NO_ARRAYS_DETECTED":case 3:message.detectionStatus=3;break}if(object.latestCaptureDate!=null){if(typeof object.latestCaptureDate!=="object")throw TypeError(".google.maps.solar.v1.BuildingInsights.DetectedArrays.latestCaptureDate: object expected");message.latestCaptureDate=$root.google.type.Date.fromObject(object.latestCaptureDate,long+1)}return message};DetectedArrays.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.detectionStatus=options.enums===String?"DETECTION_STATUS_UNSPECIFIED":0;object.latestCaptureDate=null}if(message.detectionStatus!=null&&message.hasOwnProperty("detectionStatus"))object.detectionStatus=options.enums===String?$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus[message.detectionStatus]===undefined?message.detectionStatus:$root.google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus[message.detectionStatus]:message.detectionStatus;if(message.latestCaptureDate!=null&&message.hasOwnProperty("latestCaptureDate"))object.latestCaptureDate=$root.google.type.Date.toObject(message.latestCaptureDate,options);return object};DetectedArrays.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DetectedArrays.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.BuildingInsights.DetectedArrays"};DetectedArrays.DetectionStatus=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DETECTION_STATUS_UNSPECIFIED"]=0;values[valuesById[1]="DETECTION_STATUS_DATA_UNAVAILABLE"]=1;values[valuesById[2]="DETECTION_STATUS_ARRAYS_DETECTED"]=2;values[valuesById[3]="DETECTION_STATUS_NO_ARRAYS_DETECTED"]=3;return values}();return DetectedArrays}();return BuildingInsights}();v1.SolarPotential=function(){function SolarPotential(properties){this.roofSegmentStats=[];this.solarPanels=[];this.solarPanelConfigs=[];this.financialAnalyses=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPotential.prototype.maxArrayPanelsCount=0;SolarPotential.prototype.panelCapacityWatts=0;SolarPotential.prototype.panelHeightMeters=0;SolarPotential.prototype.panelWidthMeters=0;SolarPotential.prototype.panelLifetimeYears=0;SolarPotential.prototype.maxArrayAreaMeters2=0;SolarPotential.prototype.maxSunshineHoursPerYear=0;SolarPotential.prototype.carbonOffsetFactorKgPerMwh=0;SolarPotential.prototype.wholeRoofStats=null;SolarPotential.prototype.buildingStats=null;SolarPotential.prototype.roofSegmentStats=$util.emptyArray;SolarPotential.prototype.solarPanels=$util.emptyArray;SolarPotential.prototype.solarPanelConfigs=$util.emptyArray;SolarPotential.prototype.financialAnalyses=$util.emptyArray;SolarPotential.create=function create(properties){return new SolarPotential(properties)};SolarPotential.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.maxArrayPanelsCount!=null&&Object.hasOwnProperty.call(message,"maxArrayPanelsCount"))writer.uint32(8).int32(message.maxArrayPanelsCount);if(message.maxArrayAreaMeters2!=null&&Object.hasOwnProperty.call(message,"maxArrayAreaMeters2"))writer.uint32(21).float(message.maxArrayAreaMeters2);if(message.maxSunshineHoursPerYear!=null&&Object.hasOwnProperty.call(message,"maxSunshineHoursPerYear"))writer.uint32(29).float(message.maxSunshineHoursPerYear);if(message.carbonOffsetFactorKgPerMwh!=null&&Object.hasOwnProperty.call(message,"carbonOffsetFactorKgPerMwh"))writer.uint32(37).float(message.carbonOffsetFactorKgPerMwh);if(message.wholeRoofStats!=null&&Object.hasOwnProperty.call(message,"wholeRoofStats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.wholeRoofStats,writer.uint32(42).fork()).ldelim();if(message.roofSegmentStats!=null&&message.roofSegmentStats.length)for(var i=0;i<message.roofSegmentStats.length;++i)$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.encode(message.roofSegmentStats[i],writer.uint32(50).fork()).ldelim();if(message.solarPanelConfigs!=null&&message.solarPanelConfigs.length)for(var i=0;i<message.solarPanelConfigs.length;++i)$root.google.maps.solar.v1.SolarPanelConfig.encode(message.solarPanelConfigs[i],writer.uint32(58).fork()).ldelim();if(message.financialAnalyses!=null&&message.financialAnalyses.length)for(var i=0;i<message.financialAnalyses.length;++i)$root.google.maps.solar.v1.FinancialAnalysis.encode(message.financialAnalyses[i],writer.uint32(66).fork()).ldelim();if(message.panelCapacityWatts!=null&&Object.hasOwnProperty.call(message,"panelCapacityWatts"))writer.uint32(77).float(message.panelCapacityWatts);if(message.panelHeightMeters!=null&&Object.hasOwnProperty.call(message,"panelHeightMeters"))writer.uint32(85).float(message.panelHeightMeters);if(message.panelWidthMeters!=null&&Object.hasOwnProperty.call(message,"panelWidthMeters"))writer.uint32(93).float(message.panelWidthMeters);if(message.panelLifetimeYears!=null&&Object.hasOwnProperty.call(message,"panelLifetimeYears"))writer.uint32(96).int32(message.panelLifetimeYears);if(message.buildingStats!=null&&Object.hasOwnProperty.call(message,"buildingStats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.buildingStats,writer.uint32(106).fork()).ldelim();if(message.solarPanels!=null&&message.solarPanels.length)for(var i=0;i<message.solarPanels.length;++i)$root.google.maps.solar.v1.SolarPanel.encode(message.solarPanels[i],writer.uint32(114).fork()).ldelim();return writer};SolarPotential.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPotential.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPotential;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.maxArrayPanelsCount=reader.int32();break}case 9:{message.panelCapacityWatts=reader.float();break}case 10:{message.panelHeightMeters=reader.float();break}case 11:{message.panelWidthMeters=reader.float();break}case 12:{message.panelLifetimeYears=reader.int32();break}case 2:{message.maxArrayAreaMeters2=reader.float();break}case 3:{message.maxSunshineHoursPerYear=reader.float();break}case 4:{message.carbonOffsetFactorKgPerMwh=reader.float();break}case 5:{message.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 13:{message.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{if(!(message.roofSegmentStats&&message.roofSegmentStats.length))message.roofSegmentStats=[];message.roofSegmentStats.push($root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1));break}case 14:{if(!(message.solarPanels&&message.solarPanels.length))message.solarPanels=[];message.solarPanels.push($root.google.maps.solar.v1.SolarPanel.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{if(!(message.solarPanelConfigs&&message.solarPanelConfigs.length))message.solarPanelConfigs=[];message.solarPanelConfigs.push($root.google.maps.solar.v1.SolarPanelConfig.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{if(!(message.financialAnalyses&&message.financialAnalyses.length))message.financialAnalyses=[];message.financialAnalyses.push($root.google.maps.solar.v1.FinancialAnalysis.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SolarPotential.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPotential.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.maxArrayPanelsCount!=null&&message.hasOwnProperty("maxArrayPanelsCount"))if(!$util.isInteger(message.maxArrayPanelsCount))return"maxArrayPanelsCount: integer expected";if(message.panelCapacityWatts!=null&&message.hasOwnProperty("panelCapacityWatts"))if(typeof message.panelCapacityWatts!=="number")return"panelCapacityWatts: number expected";if(message.panelHeightMeters!=null&&message.hasOwnProperty("panelHeightMeters"))if(typeof message.panelHeightMeters!=="number")return"panelHeightMeters: number expected";if(message.panelWidthMeters!=null&&message.hasOwnProperty("panelWidthMeters"))if(typeof message.panelWidthMeters!=="number")return"panelWidthMeters: number expected";if(message.panelLifetimeYears!=null&&message.hasOwnProperty("panelLifetimeYears"))if(!$util.isInteger(message.panelLifetimeYears))return"panelLifetimeYears: integer expected";if(message.maxArrayAreaMeters2!=null&&message.hasOwnProperty("maxArrayAreaMeters2"))if(typeof message.maxArrayAreaMeters2!=="number")return"maxArrayAreaMeters2: number expected";if(message.maxSunshineHoursPerYear!=null&&message.hasOwnProperty("maxSunshineHoursPerYear"))if(typeof message.maxSunshineHoursPerYear!=="number")return"maxSunshineHoursPerYear: number expected";if(message.carbonOffsetFactorKgPerMwh!=null&&message.hasOwnProperty("carbonOffsetFactorKgPerMwh"))if(typeof message.carbonOffsetFactorKgPerMwh!=="number")return"carbonOffsetFactorKgPerMwh: number expected";if(message.wholeRoofStats!=null&&message.hasOwnProperty("wholeRoofStats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.wholeRoofStats,long+1);if(error)return"wholeRoofStats."+error}if(message.buildingStats!=null&&message.hasOwnProperty("buildingStats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.buildingStats,long+1);if(error)return"buildingStats."+error}if(message.roofSegmentStats!=null&&message.hasOwnProperty("roofSegmentStats")){if(!Array.isArray(message.roofSegmentStats))return"roofSegmentStats: array expected";for(var i=0;i<message.roofSegmentStats.length;++i){var error=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.verify(message.roofSegmentStats[i],long+1);if(error)return"roofSegmentStats."+error}}if(message.solarPanels!=null&&message.hasOwnProperty("solarPanels")){if(!Array.isArray(message.solarPanels))return"solarPanels: array expected";for(var i=0;i<message.solarPanels.length;++i){var error=$root.google.maps.solar.v1.SolarPanel.verify(message.solarPanels[i],long+1);if(error)return"solarPanels."+error}}if(message.solarPanelConfigs!=null&&message.hasOwnProperty("solarPanelConfigs")){if(!Array.isArray(message.solarPanelConfigs))return"solarPanelConfigs: array expected";for(var i=0;i<message.solarPanelConfigs.length;++i){var error=$root.google.maps.solar.v1.SolarPanelConfig.verify(message.solarPanelConfigs[i],long+1);if(error)return"solarPanelConfigs."+error}}if(message.financialAnalyses!=null&&message.hasOwnProperty("financialAnalyses")){if(!Array.isArray(message.financialAnalyses))return"financialAnalyses: array expected";for(var i=0;i<message.financialAnalyses.length;++i){var error=$root.google.maps.solar.v1.FinancialAnalysis.verify(message.financialAnalyses[i],long+1);if(error)return"financialAnalyses."+error}}return null};SolarPotential.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPotential)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPotential;if(object.maxArrayPanelsCount!=null)message.maxArrayPanelsCount=object.maxArrayPanelsCount|0;if(object.panelCapacityWatts!=null)message.panelCapacityWatts=Number(object.panelCapacityWatts);if(object.panelHeightMeters!=null)message.panelHeightMeters=Number(object.panelHeightMeters);if(object.panelWidthMeters!=null)message.panelWidthMeters=Number(object.panelWidthMeters);if(object.panelLifetimeYears!=null)message.panelLifetimeYears=object.panelLifetimeYears|0;if(object.maxArrayAreaMeters2!=null)message.maxArrayAreaMeters2=Number(object.maxArrayAreaMeters2);if(object.maxSunshineHoursPerYear!=null)message.maxSunshineHoursPerYear=Number(object.maxSunshineHoursPerYear);if(object.carbonOffsetFactorKgPerMwh!=null)message.carbonOffsetFactorKgPerMwh=Number(object.carbonOffsetFactorKgPerMwh);if(object.wholeRoofStats!=null){if(typeof object.wholeRoofStats!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.wholeRoofStats: object expected");message.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.wholeRoofStats,long+1)}if(object.buildingStats!=null){if(typeof object.buildingStats!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.buildingStats: object expected");message.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.buildingStats,long+1)}if(object.roofSegmentStats){if(!Array.isArray(object.roofSegmentStats))throw TypeError(".google.maps.solar.v1.SolarPotential.roofSegmentStats: array expected");message.roofSegmentStats=[];for(var i=0;i<object.roofSegmentStats.length;++i){if(typeof object.roofSegmentStats[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.roofSegmentStats: object expected");message.roofSegmentStats[i]=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.fromObject(object.roofSegmentStats[i],long+1)}}if(object.solarPanels){if(!Array.isArray(object.solarPanels))throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanels: array expected");message.solarPanels=[];for(var i=0;i<object.solarPanels.length;++i){if(typeof object.solarPanels[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanels: object expected");message.solarPanels[i]=$root.google.maps.solar.v1.SolarPanel.fromObject(object.solarPanels[i],long+1)}}if(object.solarPanelConfigs){if(!Array.isArray(object.solarPanelConfigs))throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanelConfigs: array expected");message.solarPanelConfigs=[];for(var i=0;i<object.solarPanelConfigs.length;++i){if(typeof object.solarPanelConfigs[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.solarPanelConfigs: object expected");message.solarPanelConfigs[i]=$root.google.maps.solar.v1.SolarPanelConfig.fromObject(object.solarPanelConfigs[i],long+1)}}if(object.financialAnalyses){if(!Array.isArray(object.financialAnalyses))throw TypeError(".google.maps.solar.v1.SolarPotential.financialAnalyses: array expected");message.financialAnalyses=[];for(var i=0;i<object.financialAnalyses.length;++i){if(typeof object.financialAnalyses[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPotential.financialAnalyses: object expected");message.financialAnalyses[i]=$root.google.maps.solar.v1.FinancialAnalysis.fromObject(object.financialAnalyses[i],long+1)}}return message};SolarPotential.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.roofSegmentStats=[];object.solarPanelConfigs=[];object.financialAnalyses=[];object.solarPanels=[]}if(options.defaults){object.maxArrayPanelsCount=0;object.maxArrayAreaMeters2=0;object.maxSunshineHoursPerYear=0;object.carbonOffsetFactorKgPerMwh=0;object.wholeRoofStats=null;object.panelCapacityWatts=0;object.panelHeightMeters=0;object.panelWidthMeters=0;object.panelLifetimeYears=0;object.buildingStats=null}if(message.maxArrayPanelsCount!=null&&message.hasOwnProperty("maxArrayPanelsCount"))object.maxArrayPanelsCount=message.maxArrayPanelsCount;if(message.maxArrayAreaMeters2!=null&&message.hasOwnProperty("maxArrayAreaMeters2"))object.maxArrayAreaMeters2=options.json&&!isFinite(message.maxArrayAreaMeters2)?String(message.maxArrayAreaMeters2):message.maxArrayAreaMeters2;if(message.maxSunshineHoursPerYear!=null&&message.hasOwnProperty("maxSunshineHoursPerYear"))object.maxSunshineHoursPerYear=options.json&&!isFinite(message.maxSunshineHoursPerYear)?String(message.maxSunshineHoursPerYear):message.maxSunshineHoursPerYear;if(message.carbonOffsetFactorKgPerMwh!=null&&message.hasOwnProperty("carbonOffsetFactorKgPerMwh"))object.carbonOffsetFactorKgPerMwh=options.json&&!isFinite(message.carbonOffsetFactorKgPerMwh)?String(message.carbonOffsetFactorKgPerMwh):message.carbonOffsetFactorKgPerMwh;if(message.wholeRoofStats!=null&&message.hasOwnProperty("wholeRoofStats"))object.wholeRoofStats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.wholeRoofStats,options);if(message.roofSegmentStats&&message.roofSegmentStats.length){object.roofSegmentStats=[];for(var j=0;j<message.roofSegmentStats.length;++j)object.roofSegmentStats[j]=$root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.toObject(message.roofSegmentStats[j],options)}if(message.solarPanelConfigs&&message.solarPanelConfigs.length){object.solarPanelConfigs=[];for(var j=0;j<message.solarPanelConfigs.length;++j)object.solarPanelConfigs[j]=$root.google.maps.solar.v1.SolarPanelConfig.toObject(message.solarPanelConfigs[j],options)}if(message.financialAnalyses&&message.financialAnalyses.length){object.financialAnalyses=[];for(var j=0;j<message.financialAnalyses.length;++j)object.financialAnalyses[j]=$root.google.maps.solar.v1.FinancialAnalysis.toObject(message.financialAnalyses[j],options)}if(message.panelCapacityWatts!=null&&message.hasOwnProperty("panelCapacityWatts"))object.panelCapacityWatts=options.json&&!isFinite(message.panelCapacityWatts)?String(message.panelCapacityWatts):message.panelCapacityWatts;if(message.panelHeightMeters!=null&&message.hasOwnProperty("panelHeightMeters"))object.panelHeightMeters=options.json&&!isFinite(message.panelHeightMeters)?String(message.panelHeightMeters):message.panelHeightMeters;if(message.panelWidthMeters!=null&&message.hasOwnProperty("panelWidthMeters"))object.panelWidthMeters=options.json&&!isFinite(message.panelWidthMeters)?String(message.panelWidthMeters):message.panelWidthMeters;if(message.panelLifetimeYears!=null&&message.hasOwnProperty("panelLifetimeYears"))object.panelLifetimeYears=message.panelLifetimeYears;if(message.buildingStats!=null&&message.hasOwnProperty("buildingStats"))object.buildingStats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.buildingStats,options);if(message.solarPanels&&message.solarPanels.length){object.solarPanels=[];for(var j=0;j<message.solarPanels.length;++j)object.solarPanels[j]=$root.google.maps.solar.v1.SolarPanel.toObject(message.solarPanels[j],options)}return object};SolarPotential.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPotential.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPotential"};return SolarPotential}();v1.RoofSegmentSizeAndSunshineStats=function(){function RoofSegmentSizeAndSunshineStats(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RoofSegmentSizeAndSunshineStats.prototype.pitchDegrees=null;RoofSegmentSizeAndSunshineStats.prototype.azimuthDegrees=null;RoofSegmentSizeAndSunshineStats.prototype.stats=null;RoofSegmentSizeAndSunshineStats.prototype.center=null;RoofSegmentSizeAndSunshineStats.prototype.boundingBox=null;RoofSegmentSizeAndSunshineStats.prototype.planeHeightAtCenterMeters=null;var $oneOfFields;Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_pitchDegrees",{get:$util.oneOfGetter($oneOfFields=["pitchDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_azimuthDegrees",{get:$util.oneOfGetter($oneOfFields=["azimuthDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSizeAndSunshineStats.prototype,"_planeHeightAtCenterMeters",{get:$util.oneOfGetter($oneOfFields=["planeHeightAtCenterMeters"]),set:$util.oneOfSetter($oneOfFields)});RoofSegmentSizeAndSunshineStats.create=function create(properties){return new RoofSegmentSizeAndSunshineStats(properties)};RoofSegmentSizeAndSunshineStats.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.pitchDegrees!=null&&Object.hasOwnProperty.call(message,"pitchDegrees"))writer.uint32(13).float(message.pitchDegrees);if(message.azimuthDegrees!=null&&Object.hasOwnProperty.call(message,"azimuthDegrees"))writer.uint32(21).float(message.azimuthDegrees);if(message.stats!=null&&Object.hasOwnProperty.call(message,"stats"))$root.google.maps.solar.v1.SizeAndSunshineStats.encode(message.stats,writer.uint32(26).fork()).ldelim();if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(34).fork()).ldelim();if(message.boundingBox!=null&&Object.hasOwnProperty.call(message,"boundingBox"))$root.google.maps.solar.v1.LatLngBox.encode(message.boundingBox,writer.uint32(42).fork()).ldelim();if(message.planeHeightAtCenterMeters!=null&&Object.hasOwnProperty.call(message,"planeHeightAtCenterMeters"))writer.uint32(53).float(message.planeHeightAtCenterMeters);return writer};RoofSegmentSizeAndSunshineStats.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RoofSegmentSizeAndSunshineStats.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.pitchDegrees=reader.float();break}case 2:{message.azimuthDegrees=reader.float();break}case 3:{message.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.boundingBox=$root.google.maps.solar.v1.LatLngBox.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.planeHeightAtCenterMeters=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};RoofSegmentSizeAndSunshineStats.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RoofSegmentSizeAndSunshineStats.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){properties._pitchDegrees=1;if(typeof message.pitchDegrees!=="number")return"pitchDegrees: number expected"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){properties._azimuthDegrees=1;if(typeof message.azimuthDegrees!=="number")return"azimuthDegrees: number expected"}if(message.stats!=null&&message.hasOwnProperty("stats")){var error=$root.google.maps.solar.v1.SizeAndSunshineStats.verify(message.stats,long+1);if(error)return"stats."+error}if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox")){var error=$root.google.maps.solar.v1.LatLngBox.verify(message.boundingBox,long+1);if(error)return"boundingBox."+error}if(message.planeHeightAtCenterMeters!=null&&message.hasOwnProperty("planeHeightAtCenterMeters")){properties._planeHeightAtCenterMeters=1;if(typeof message.planeHeightAtCenterMeters!=="number")return"planeHeightAtCenterMeters: number expected"}return null};RoofSegmentSizeAndSunshineStats.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.RoofSegmentSizeAndSunshineStats;if(object.pitchDegrees!=null)message.pitchDegrees=Number(object.pitchDegrees);if(object.azimuthDegrees!=null)message.azimuthDegrees=Number(object.azimuthDegrees);if(object.stats!=null){if(typeof object.stats!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.stats: object expected");message.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.fromObject(object.stats,long+1)}if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}if(object.boundingBox!=null){if(typeof object.boundingBox!=="object")throw TypeError(".google.maps.solar.v1.RoofSegmentSizeAndSunshineStats.boundingBox: object expected");message.boundingBox=$root.google.maps.solar.v1.LatLngBox.fromObject(object.boundingBox,long+1)}if(object.planeHeightAtCenterMeters!=null)message.planeHeightAtCenterMeters=Number(object.planeHeightAtCenterMeters);return message};RoofSegmentSizeAndSunshineStats.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.stats=null;object.center=null;object.boundingBox=null}if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){object.pitchDegrees=options.json&&!isFinite(message.pitchDegrees)?String(message.pitchDegrees):message.pitchDegrees;if(options.oneofs)object._pitchDegrees="pitchDegrees"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){object.azimuthDegrees=options.json&&!isFinite(message.azimuthDegrees)?String(message.azimuthDegrees):message.azimuthDegrees;if(options.oneofs)object._azimuthDegrees="azimuthDegrees"}if(message.stats!=null&&message.hasOwnProperty("stats"))object.stats=$root.google.maps.solar.v1.SizeAndSunshineStats.toObject(message.stats,options);if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.boundingBox!=null&&message.hasOwnProperty("boundingBox"))object.boundingBox=$root.google.maps.solar.v1.LatLngBox.toObject(message.boundingBox,options);if(message.planeHeightAtCenterMeters!=null&&message.hasOwnProperty("planeHeightAtCenterMeters")){object.planeHeightAtCenterMeters=options.json&&!isFinite(message.planeHeightAtCenterMeters)?String(message.planeHeightAtCenterMeters):message.planeHeightAtCenterMeters;if(options.oneofs)object._planeHeightAtCenterMeters="planeHeightAtCenterMeters"}return object};RoofSegmentSizeAndSunshineStats.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RoofSegmentSizeAndSunshineStats.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.RoofSegmentSizeAndSunshineStats"};return RoofSegmentSizeAndSunshineStats}();v1.SizeAndSunshineStats=function(){function SizeAndSunshineStats(properties){this.sunshineQuantiles=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SizeAndSunshineStats.prototype.areaMeters2=0;SizeAndSunshineStats.prototype.sunshineQuantiles=$util.emptyArray;SizeAndSunshineStats.prototype.groundAreaMeters2=0;SizeAndSunshineStats.create=function create(properties){return new SizeAndSunshineStats(properties)};SizeAndSunshineStats.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.areaMeters2!=null&&Object.hasOwnProperty.call(message,"areaMeters2"))writer.uint32(13).float(message.areaMeters2);if(message.sunshineQuantiles!=null&&message.sunshineQuantiles.length){writer.uint32(18).fork();for(var i=0;i<message.sunshineQuantiles.length;++i)writer.float(message.sunshineQuantiles[i]);writer.ldelim()}if(message.groundAreaMeters2!=null&&Object.hasOwnProperty.call(message,"groundAreaMeters2"))writer.uint32(29).float(message.groundAreaMeters2);return writer};SizeAndSunshineStats.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SizeAndSunshineStats.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SizeAndSunshineStats;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.areaMeters2=reader.float();break}case 2:{if(!(message.sunshineQuantiles&&message.sunshineQuantiles.length))message.sunshineQuantiles=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.sunshineQuantiles.push(reader.float())}else message.sunshineQuantiles.push(reader.float());break}case 3:{message.groundAreaMeters2=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};SizeAndSunshineStats.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SizeAndSunshineStats.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.areaMeters2!=null&&message.hasOwnProperty("areaMeters2"))if(typeof message.areaMeters2!=="number")return"areaMeters2: number expected";if(message.sunshineQuantiles!=null&&message.hasOwnProperty("sunshineQuantiles")){if(!Array.isArray(message.sunshineQuantiles))return"sunshineQuantiles: array expected";for(var i=0;i<message.sunshineQuantiles.length;++i)if(typeof message.sunshineQuantiles[i]!=="number")return"sunshineQuantiles: number[] expected"}if(message.groundAreaMeters2!=null&&message.hasOwnProperty("groundAreaMeters2"))if(typeof message.groundAreaMeters2!=="number")return"groundAreaMeters2: number expected";return null};SizeAndSunshineStats.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SizeAndSunshineStats)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SizeAndSunshineStats;if(object.areaMeters2!=null)message.areaMeters2=Number(object.areaMeters2);if(object.sunshineQuantiles){if(!Array.isArray(object.sunshineQuantiles))throw TypeError(".google.maps.solar.v1.SizeAndSunshineStats.sunshineQuantiles: array expected");message.sunshineQuantiles=[];for(var i=0;i<object.sunshineQuantiles.length;++i)message.sunshineQuantiles[i]=Number(object.sunshineQuantiles[i])}if(object.groundAreaMeters2!=null)message.groundAreaMeters2=Number(object.groundAreaMeters2);return message};SizeAndSunshineStats.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.sunshineQuantiles=[];if(options.defaults){object.areaMeters2=0;object.groundAreaMeters2=0}if(message.areaMeters2!=null&&message.hasOwnProperty("areaMeters2"))object.areaMeters2=options.json&&!isFinite(message.areaMeters2)?String(message.areaMeters2):message.areaMeters2;if(message.sunshineQuantiles&&message.sunshineQuantiles.length){object.sunshineQuantiles=[];for(var j=0;j<message.sunshineQuantiles.length;++j)object.sunshineQuantiles[j]=options.json&&!isFinite(message.sunshineQuantiles[j])?String(message.sunshineQuantiles[j]):message.sunshineQuantiles[j]}if(message.groundAreaMeters2!=null&&message.hasOwnProperty("groundAreaMeters2"))object.groundAreaMeters2=options.json&&!isFinite(message.groundAreaMeters2)?String(message.groundAreaMeters2):message.groundAreaMeters2;return object};SizeAndSunshineStats.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SizeAndSunshineStats.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SizeAndSunshineStats"};return SizeAndSunshineStats}();v1.SolarPanel=function(){function SolarPanel(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPanel.prototype.center=null;SolarPanel.prototype.orientation=0;SolarPanel.prototype.yearlyEnergyDcKwh=0;SolarPanel.prototype.segmentIndex=null;var $oneOfFields;Object.defineProperty(SolarPanel.prototype,"_segmentIndex",{get:$util.oneOfGetter($oneOfFields=["segmentIndex"]),set:$util.oneOfSetter($oneOfFields)});SolarPanel.create=function create(properties){return new SolarPanel(properties)};SolarPanel.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.center!=null&&Object.hasOwnProperty.call(message,"center"))$root.google.type.LatLng.encode(message.center,writer.uint32(10).fork()).ldelim();if(message.orientation!=null&&Object.hasOwnProperty.call(message,"orientation"))writer.uint32(16).int32(message.orientation);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(29).float(message.yearlyEnergyDcKwh);if(message.segmentIndex!=null&&Object.hasOwnProperty.call(message,"segmentIndex"))writer.uint32(32).int32(message.segmentIndex);return writer};SolarPanel.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPanel.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPanel;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.center=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.orientation=reader.int32();break}case 3:{message.yearlyEnergyDcKwh=reader.float();break}case 4:{message.segmentIndex=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};SolarPanel.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPanel.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.center!=null&&message.hasOwnProperty("center")){var error=$root.google.type.LatLng.verify(message.center,long+1);if(error)return"center."+error}if(message.orientation!=null&&message.hasOwnProperty("orientation"))switch(message.orientation){default:return"orientation: enum value expected";case 0:case 1:case 2:break}if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){properties._segmentIndex=1;if(!$util.isInteger(message.segmentIndex))return"segmentIndex: integer expected"}return null};SolarPanel.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPanel)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPanel;if(object.center!=null){if(typeof object.center!=="object")throw TypeError(".google.maps.solar.v1.SolarPanel.center: object expected");message.center=$root.google.type.LatLng.fromObject(object.center,long+1)}switch(object.orientation){default:if(typeof object.orientation==="number"){message.orientation=object.orientation;break}break;case"SOLAR_PANEL_ORIENTATION_UNSPECIFIED":case 0:message.orientation=0;break;case"LANDSCAPE":case 1:message.orientation=1;break;case"PORTRAIT":case 2:message.orientation=2;break}if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.segmentIndex!=null)message.segmentIndex=object.segmentIndex|0;return message};SolarPanel.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.center=null;object.orientation=options.enums===String?"SOLAR_PANEL_ORIENTATION_UNSPECIFIED":0;object.yearlyEnergyDcKwh=0}if(message.center!=null&&message.hasOwnProperty("center"))object.center=$root.google.type.LatLng.toObject(message.center,options);if(message.orientation!=null&&message.hasOwnProperty("orientation"))object.orientation=options.enums===String?$root.google.maps.solar.v1.SolarPanelOrientation[message.orientation]===undefined?message.orientation:$root.google.maps.solar.v1.SolarPanelOrientation[message.orientation]:message.orientation;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){object.segmentIndex=message.segmentIndex;if(options.oneofs)object._segmentIndex="segmentIndex"}return object};SolarPanel.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPanel.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPanel"};return SolarPanel}();v1.SolarPanelConfig=function(){function SolarPanelConfig(properties){this.roofSegmentSummaries=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SolarPanelConfig.prototype.panelsCount=0;SolarPanelConfig.prototype.yearlyEnergyDcKwh=0;SolarPanelConfig.prototype.roofSegmentSummaries=$util.emptyArray;SolarPanelConfig.create=function create(properties){return new SolarPanelConfig(properties)};SolarPanelConfig.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.panelsCount!=null&&Object.hasOwnProperty.call(message,"panelsCount"))writer.uint32(8).int32(message.panelsCount);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(21).float(message.yearlyEnergyDcKwh);if(message.roofSegmentSummaries!=null&&message.roofSegmentSummaries.length)for(var i=0;i<message.roofSegmentSummaries.length;++i)$root.google.maps.solar.v1.RoofSegmentSummary.encode(message.roofSegmentSummaries[i],writer.uint32(34).fork()).ldelim();return writer};SolarPanelConfig.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SolarPanelConfig.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SolarPanelConfig;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.panelsCount=reader.int32();break}case 2:{message.yearlyEnergyDcKwh=reader.float();break}case 4:{if(!(message.roofSegmentSummaries&&message.roofSegmentSummaries.length))message.roofSegmentSummaries=[];message.roofSegmentSummaries.push($root.google.maps.solar.v1.RoofSegmentSummary.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SolarPanelConfig.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SolarPanelConfig.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))if(!$util.isInteger(message.panelsCount))return"panelsCount: integer expected";if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.roofSegmentSummaries!=null&&message.hasOwnProperty("roofSegmentSummaries")){if(!Array.isArray(message.roofSegmentSummaries))return"roofSegmentSummaries: array expected";for(var i=0;i<message.roofSegmentSummaries.length;++i){var error=$root.google.maps.solar.v1.RoofSegmentSummary.verify(message.roofSegmentSummaries[i],long+1);if(error)return"roofSegmentSummaries."+error}}return null};SolarPanelConfig.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SolarPanelConfig)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SolarPanelConfig;if(object.panelsCount!=null)message.panelsCount=object.panelsCount|0;if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.roofSegmentSummaries){if(!Array.isArray(object.roofSegmentSummaries))throw TypeError(".google.maps.solar.v1.SolarPanelConfig.roofSegmentSummaries: array expected");message.roofSegmentSummaries=[];for(var i=0;i<object.roofSegmentSummaries.length;++i){if(typeof object.roofSegmentSummaries[i]!=="object")throw TypeError(".google.maps.solar.v1.SolarPanelConfig.roofSegmentSummaries: object expected");message.roofSegmentSummaries[i]=$root.google.maps.solar.v1.RoofSegmentSummary.fromObject(object.roofSegmentSummaries[i],long+1)}}return message};SolarPanelConfig.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.roofSegmentSummaries=[];if(options.defaults){object.panelsCount=0;object.yearlyEnergyDcKwh=0}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))object.panelsCount=message.panelsCount;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.roofSegmentSummaries&&message.roofSegmentSummaries.length){object.roofSegmentSummaries=[];for(var j=0;j<message.roofSegmentSummaries.length;++j)object.roofSegmentSummaries[j]=$root.google.maps.solar.v1.RoofSegmentSummary.toObject(message.roofSegmentSummaries[j],options)}return object};SolarPanelConfig.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SolarPanelConfig.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SolarPanelConfig"};return SolarPanelConfig}();v1.RoofSegmentSummary=function(){function RoofSegmentSummary(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RoofSegmentSummary.prototype.pitchDegrees=null;RoofSegmentSummary.prototype.azimuthDegrees=null;RoofSegmentSummary.prototype.panelsCount=0;RoofSegmentSummary.prototype.yearlyEnergyDcKwh=0;RoofSegmentSummary.prototype.segmentIndex=null;var $oneOfFields;Object.defineProperty(RoofSegmentSummary.prototype,"_pitchDegrees",{get:$util.oneOfGetter($oneOfFields=["pitchDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSummary.prototype,"_azimuthDegrees",{get:$util.oneOfGetter($oneOfFields=["azimuthDegrees"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(RoofSegmentSummary.prototype,"_segmentIndex",{get:$util.oneOfGetter($oneOfFields=["segmentIndex"]),set:$util.oneOfSetter($oneOfFields)});RoofSegmentSummary.create=function create(properties){return new RoofSegmentSummary(properties)};RoofSegmentSummary.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.pitchDegrees!=null&&Object.hasOwnProperty.call(message,"pitchDegrees"))writer.uint32(21).float(message.pitchDegrees);if(message.azimuthDegrees!=null&&Object.hasOwnProperty.call(message,"azimuthDegrees"))writer.uint32(29).float(message.azimuthDegrees);if(message.panelsCount!=null&&Object.hasOwnProperty.call(message,"panelsCount"))writer.uint32(56).int32(message.panelsCount);if(message.yearlyEnergyDcKwh!=null&&Object.hasOwnProperty.call(message,"yearlyEnergyDcKwh"))writer.uint32(69).float(message.yearlyEnergyDcKwh);if(message.segmentIndex!=null&&Object.hasOwnProperty.call(message,"segmentIndex"))writer.uint32(72).int32(message.segmentIndex);return writer};RoofSegmentSummary.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RoofSegmentSummary.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.RoofSegmentSummary;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{message.pitchDegrees=reader.float();break}case 3:{message.azimuthDegrees=reader.float();break}case 7:{message.panelsCount=reader.int32();break}case 8:{message.yearlyEnergyDcKwh=reader.float();break}case 9:{message.segmentIndex=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};RoofSegmentSummary.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RoofSegmentSummary.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){properties._pitchDegrees=1;if(typeof message.pitchDegrees!=="number")return"pitchDegrees: number expected"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){properties._azimuthDegrees=1;if(typeof message.azimuthDegrees!=="number")return"azimuthDegrees: number expected"}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))if(!$util.isInteger(message.panelsCount))return"panelsCount: integer expected";if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))if(typeof message.yearlyEnergyDcKwh!=="number")return"yearlyEnergyDcKwh: number expected";if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){properties._segmentIndex=1;if(!$util.isInteger(message.segmentIndex))return"segmentIndex: integer expected"}return null};RoofSegmentSummary.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.RoofSegmentSummary)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.RoofSegmentSummary;if(object.pitchDegrees!=null)message.pitchDegrees=Number(object.pitchDegrees);if(object.azimuthDegrees!=null)message.azimuthDegrees=Number(object.azimuthDegrees);if(object.panelsCount!=null)message.panelsCount=object.panelsCount|0;if(object.yearlyEnergyDcKwh!=null)message.yearlyEnergyDcKwh=Number(object.yearlyEnergyDcKwh);if(object.segmentIndex!=null)message.segmentIndex=object.segmentIndex|0;return message};RoofSegmentSummary.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.panelsCount=0;object.yearlyEnergyDcKwh=0}if(message.pitchDegrees!=null&&message.hasOwnProperty("pitchDegrees")){object.pitchDegrees=options.json&&!isFinite(message.pitchDegrees)?String(message.pitchDegrees):message.pitchDegrees;if(options.oneofs)object._pitchDegrees="pitchDegrees"}if(message.azimuthDegrees!=null&&message.hasOwnProperty("azimuthDegrees")){object.azimuthDegrees=options.json&&!isFinite(message.azimuthDegrees)?String(message.azimuthDegrees):message.azimuthDegrees;if(options.oneofs)object._azimuthDegrees="azimuthDegrees"}if(message.panelsCount!=null&&message.hasOwnProperty("panelsCount"))object.panelsCount=message.panelsCount;if(message.yearlyEnergyDcKwh!=null&&message.hasOwnProperty("yearlyEnergyDcKwh"))object.yearlyEnergyDcKwh=options.json&&!isFinite(message.yearlyEnergyDcKwh)?String(message.yearlyEnergyDcKwh):message.yearlyEnergyDcKwh;if(message.segmentIndex!=null&&message.hasOwnProperty("segmentIndex")){object.segmentIndex=message.segmentIndex;if(options.oneofs)object._segmentIndex="segmentIndex"}return object};RoofSegmentSummary.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RoofSegmentSummary.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.RoofSegmentSummary"};return RoofSegmentSummary}();v1.FinancialAnalysis=function(){function FinancialAnalysis(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancialAnalysis.prototype.monthlyBill=null;FinancialAnalysis.prototype.defaultBill=false;FinancialAnalysis.prototype.averageKwhPerMonth=0;FinancialAnalysis.prototype.panelConfigIndex=null;FinancialAnalysis.prototype.financialDetails=null;FinancialAnalysis.prototype.leasingSavings=null;FinancialAnalysis.prototype.cashPurchaseSavings=null;FinancialAnalysis.prototype.financedPurchaseSavings=null;var $oneOfFields;Object.defineProperty(FinancialAnalysis.prototype,"_panelConfigIndex",{get:$util.oneOfGetter($oneOfFields=["panelConfigIndex"]),set:$util.oneOfSetter($oneOfFields)});FinancialAnalysis.create=function create(properties){return new FinancialAnalysis(properties)};FinancialAnalysis.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.monthlyBill!=null&&Object.hasOwnProperty.call(message,"monthlyBill"))$root.google.type.Money.encode(message.monthlyBill,writer.uint32(26).fork()).ldelim();if(message.defaultBill!=null&&Object.hasOwnProperty.call(message,"defaultBill"))writer.uint32(32).bool(message.defaultBill);if(message.averageKwhPerMonth!=null&&Object.hasOwnProperty.call(message,"averageKwhPerMonth"))writer.uint32(45).float(message.averageKwhPerMonth);if(message.panelConfigIndex!=null&&Object.hasOwnProperty.call(message,"panelConfigIndex"))writer.uint32(48).int32(message.panelConfigIndex);if(message.financialDetails!=null&&Object.hasOwnProperty.call(message,"financialDetails"))$root.google.maps.solar.v1.FinancialDetails.encode(message.financialDetails,writer.uint32(58).fork()).ldelim();if(message.leasingSavings!=null&&Object.hasOwnProperty.call(message,"leasingSavings"))$root.google.maps.solar.v1.LeasingSavings.encode(message.leasingSavings,writer.uint32(66).fork()).ldelim();if(message.cashPurchaseSavings!=null&&Object.hasOwnProperty.call(message,"cashPurchaseSavings"))$root.google.maps.solar.v1.CashPurchaseSavings.encode(message.cashPurchaseSavings,writer.uint32(74).fork()).ldelim();if(message.financedPurchaseSavings!=null&&Object.hasOwnProperty.call(message,"financedPurchaseSavings"))$root.google.maps.solar.v1.FinancedPurchaseSavings.encode(message.financedPurchaseSavings,writer.uint32(82).fork()).ldelim();return writer};FinancialAnalysis.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancialAnalysis.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancialAnalysis;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.monthlyBill=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.defaultBill=reader.bool();break}case 5:{message.averageKwhPerMonth=reader.float();break}case 6:{message.panelConfigIndex=reader.int32();break}case 7:{message.financialDetails=$root.google.maps.solar.v1.FinancialDetails.decode(reader,reader.uint32(),undefined,long+1);break}case 8:{message.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.decode(reader,reader.uint32(),undefined,long+1);break}case 10:{message.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FinancialAnalysis.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancialAnalysis.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.monthlyBill!=null&&message.hasOwnProperty("monthlyBill")){var error=$root.google.type.Money.verify(message.monthlyBill,long+1);if(error)return"monthlyBill."+error}if(message.defaultBill!=null&&message.hasOwnProperty("defaultBill"))if(typeof message.defaultBill!=="boolean")return"defaultBill: boolean expected";if(message.averageKwhPerMonth!=null&&message.hasOwnProperty("averageKwhPerMonth"))if(typeof message.averageKwhPerMonth!=="number")return"averageKwhPerMonth: number expected";if(message.panelConfigIndex!=null&&message.hasOwnProperty("panelConfigIndex")){properties._panelConfigIndex=1;if(!$util.isInteger(message.panelConfigIndex))return"panelConfigIndex: integer expected"}if(message.financialDetails!=null&&message.hasOwnProperty("financialDetails")){var error=$root.google.maps.solar.v1.FinancialDetails.verify(message.financialDetails,long+1);if(error)return"financialDetails."+error}if(message.leasingSavings!=null&&message.hasOwnProperty("leasingSavings")){var error=$root.google.maps.solar.v1.LeasingSavings.verify(message.leasingSavings,long+1);if(error)return"leasingSavings."+error}if(message.cashPurchaseSavings!=null&&message.hasOwnProperty("cashPurchaseSavings")){var error=$root.google.maps.solar.v1.CashPurchaseSavings.verify(message.cashPurchaseSavings,long+1);if(error)return"cashPurchaseSavings."+error}if(message.financedPurchaseSavings!=null&&message.hasOwnProperty("financedPurchaseSavings")){var error=$root.google.maps.solar.v1.FinancedPurchaseSavings.verify(message.financedPurchaseSavings,long+1);if(error)return"financedPurchaseSavings."+error}return null};FinancialAnalysis.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancialAnalysis)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancialAnalysis;if(object.monthlyBill!=null){if(typeof object.monthlyBill!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.monthlyBill: object expected");message.monthlyBill=$root.google.type.Money.fromObject(object.monthlyBill,long+1)}if(object.defaultBill!=null)message.defaultBill=Boolean(object.defaultBill);if(object.averageKwhPerMonth!=null)message.averageKwhPerMonth=Number(object.averageKwhPerMonth);if(object.panelConfigIndex!=null)message.panelConfigIndex=object.panelConfigIndex|0;if(object.financialDetails!=null){if(typeof object.financialDetails!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.financialDetails: object expected");message.financialDetails=$root.google.maps.solar.v1.FinancialDetails.fromObject(object.financialDetails,long+1)}if(object.leasingSavings!=null){if(typeof object.leasingSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.leasingSavings: object expected");message.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.fromObject(object.leasingSavings,long+1)}if(object.cashPurchaseSavings!=null){if(typeof object.cashPurchaseSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.cashPurchaseSavings: object expected");message.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.fromObject(object.cashPurchaseSavings,long+1)}if(object.financedPurchaseSavings!=null){if(typeof object.financedPurchaseSavings!=="object")throw TypeError(".google.maps.solar.v1.FinancialAnalysis.financedPurchaseSavings: object expected");message.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.fromObject(object.financedPurchaseSavings,long+1)}return message};FinancialAnalysis.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.monthlyBill=null;object.defaultBill=false;object.averageKwhPerMonth=0;object.financialDetails=null;object.leasingSavings=null;object.cashPurchaseSavings=null;object.financedPurchaseSavings=null}if(message.monthlyBill!=null&&message.hasOwnProperty("monthlyBill"))object.monthlyBill=$root.google.type.Money.toObject(message.monthlyBill,options);if(message.defaultBill!=null&&message.hasOwnProperty("defaultBill"))object.defaultBill=message.defaultBill;if(message.averageKwhPerMonth!=null&&message.hasOwnProperty("averageKwhPerMonth"))object.averageKwhPerMonth=options.json&&!isFinite(message.averageKwhPerMonth)?String(message.averageKwhPerMonth):message.averageKwhPerMonth;if(message.panelConfigIndex!=null&&message.hasOwnProperty("panelConfigIndex")){object.panelConfigIndex=message.panelConfigIndex;if(options.oneofs)object._panelConfigIndex="panelConfigIndex"}if(message.financialDetails!=null&&message.hasOwnProperty("financialDetails"))object.financialDetails=$root.google.maps.solar.v1.FinancialDetails.toObject(message.financialDetails,options);if(message.leasingSavings!=null&&message.hasOwnProperty("leasingSavings"))object.leasingSavings=$root.google.maps.solar.v1.LeasingSavings.toObject(message.leasingSavings,options);if(message.cashPurchaseSavings!=null&&message.hasOwnProperty("cashPurchaseSavings"))object.cashPurchaseSavings=$root.google.maps.solar.v1.CashPurchaseSavings.toObject(message.cashPurchaseSavings,options);if(message.financedPurchaseSavings!=null&&message.hasOwnProperty("financedPurchaseSavings"))object.financedPurchaseSavings=$root.google.maps.solar.v1.FinancedPurchaseSavings.toObject(message.financedPurchaseSavings,options);return object};FinancialAnalysis.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancialAnalysis.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancialAnalysis"};return FinancialAnalysis}();v1.FinancialDetails=function(){function FinancialDetails(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancialDetails.prototype.initialAcKwhPerYear=0;FinancialDetails.prototype.remainingLifetimeUtilityBill=null;FinancialDetails.prototype.federalIncentive=null;FinancialDetails.prototype.stateIncentive=null;FinancialDetails.prototype.utilityIncentive=null;FinancialDetails.prototype.lifetimeSrecTotal=null;FinancialDetails.prototype.costOfElectricityWithoutSolar=null;FinancialDetails.prototype.netMeteringAllowed=false;FinancialDetails.prototype.solarPercentage=null;FinancialDetails.prototype.percentageExportedToGrid=null;var $oneOfFields;Object.defineProperty(FinancialDetails.prototype,"_solarPercentage",{get:$util.oneOfGetter($oneOfFields=["solarPercentage"]),set:$util.oneOfSetter($oneOfFields)});Object.defineProperty(FinancialDetails.prototype,"_percentageExportedToGrid",{get:$util.oneOfGetter($oneOfFields=["percentageExportedToGrid"]),set:$util.oneOfSetter($oneOfFields)});FinancialDetails.create=function create(properties){return new FinancialDetails(properties)};FinancialDetails.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.initialAcKwhPerYear!=null&&Object.hasOwnProperty.call(message,"initialAcKwhPerYear"))writer.uint32(13).float(message.initialAcKwhPerYear);if(message.remainingLifetimeUtilityBill!=null&&Object.hasOwnProperty.call(message,"remainingLifetimeUtilityBill"))$root.google.type.Money.encode(message.remainingLifetimeUtilityBill,writer.uint32(18).fork()).ldelim();if(message.federalIncentive!=null&&Object.hasOwnProperty.call(message,"federalIncentive"))$root.google.type.Money.encode(message.federalIncentive,writer.uint32(26).fork()).ldelim();if(message.stateIncentive!=null&&Object.hasOwnProperty.call(message,"stateIncentive"))$root.google.type.Money.encode(message.stateIncentive,writer.uint32(34).fork()).ldelim();if(message.utilityIncentive!=null&&Object.hasOwnProperty.call(message,"utilityIncentive"))$root.google.type.Money.encode(message.utilityIncentive,writer.uint32(42).fork()).ldelim();if(message.lifetimeSrecTotal!=null&&Object.hasOwnProperty.call(message,"lifetimeSrecTotal"))$root.google.type.Money.encode(message.lifetimeSrecTotal,writer.uint32(50).fork()).ldelim();if(message.costOfElectricityWithoutSolar!=null&&Object.hasOwnProperty.call(message,"costOfElectricityWithoutSolar"))$root.google.type.Money.encode(message.costOfElectricityWithoutSolar,writer.uint32(58).fork()).ldelim();if(message.netMeteringAllowed!=null&&Object.hasOwnProperty.call(message,"netMeteringAllowed"))writer.uint32(64).bool(message.netMeteringAllowed);if(message.solarPercentage!=null&&Object.hasOwnProperty.call(message,"solarPercentage"))writer.uint32(77).float(message.solarPercentage);if(message.percentageExportedToGrid!=null&&Object.hasOwnProperty.call(message,"percentageExportedToGrid"))writer.uint32(85).float(message.percentageExportedToGrid);return writer};FinancialDetails.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancialDetails.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancialDetails;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.initialAcKwhPerYear=reader.float();break}case 2:{message.remainingLifetimeUtilityBill=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.federalIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.stateIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.utilityIncentive=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.lifetimeSrecTotal=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 7:{message.costOfElectricityWithoutSolar=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 8:{message.netMeteringAllowed=reader.bool();break}case 9:{message.solarPercentage=reader.float();break}case 10:{message.percentageExportedToGrid=reader.float();break}default:reader.skipType(tag&7,long);break}}return message};FinancialDetails.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancialDetails.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.initialAcKwhPerYear!=null&&message.hasOwnProperty("initialAcKwhPerYear"))if(typeof message.initialAcKwhPerYear!=="number")return"initialAcKwhPerYear: number expected";if(message.remainingLifetimeUtilityBill!=null&&message.hasOwnProperty("remainingLifetimeUtilityBill")){var error=$root.google.type.Money.verify(message.remainingLifetimeUtilityBill,long+1);if(error)return"remainingLifetimeUtilityBill."+error}if(message.federalIncentive!=null&&message.hasOwnProperty("federalIncentive")){var error=$root.google.type.Money.verify(message.federalIncentive,long+1);if(error)return"federalIncentive."+error}if(message.stateIncentive!=null&&message.hasOwnProperty("stateIncentive")){var error=$root.google.type.Money.verify(message.stateIncentive,long+1);if(error)return"stateIncentive."+error}if(message.utilityIncentive!=null&&message.hasOwnProperty("utilityIncentive")){var error=$root.google.type.Money.verify(message.utilityIncentive,long+1);if(error)return"utilityIncentive."+error}if(message.lifetimeSrecTotal!=null&&message.hasOwnProperty("lifetimeSrecTotal")){var error=$root.google.type.Money.verify(message.lifetimeSrecTotal,long+1);if(error)return"lifetimeSrecTotal."+error}if(message.costOfElectricityWithoutSolar!=null&&message.hasOwnProperty("costOfElectricityWithoutSolar")){var error=$root.google.type.Money.verify(message.costOfElectricityWithoutSolar,long+1);if(error)return"costOfElectricityWithoutSolar."+error}if(message.netMeteringAllowed!=null&&message.hasOwnProperty("netMeteringAllowed"))if(typeof message.netMeteringAllowed!=="boolean")return"netMeteringAllowed: boolean expected";if(message.solarPercentage!=null&&message.hasOwnProperty("solarPercentage")){properties._solarPercentage=1;if(typeof message.solarPercentage!=="number")return"solarPercentage: number expected"}if(message.percentageExportedToGrid!=null&&message.hasOwnProperty("percentageExportedToGrid")){properties._percentageExportedToGrid=1;if(typeof message.percentageExportedToGrid!=="number")return"percentageExportedToGrid: number expected"}return null};FinancialDetails.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancialDetails)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancialDetails;if(object.initialAcKwhPerYear!=null)message.initialAcKwhPerYear=Number(object.initialAcKwhPerYear);if(object.remainingLifetimeUtilityBill!=null){if(typeof object.remainingLifetimeUtilityBill!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.remainingLifetimeUtilityBill: object expected");message.remainingLifetimeUtilityBill=$root.google.type.Money.fromObject(object.remainingLifetimeUtilityBill,long+1)}if(object.federalIncentive!=null){if(typeof object.federalIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.federalIncentive: object expected");message.federalIncentive=$root.google.type.Money.fromObject(object.federalIncentive,long+1)}if(object.stateIncentive!=null){if(typeof object.stateIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.stateIncentive: object expected");message.stateIncentive=$root.google.type.Money.fromObject(object.stateIncentive,long+1)}if(object.utilityIncentive!=null){if(typeof object.utilityIncentive!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.utilityIncentive: object expected");message.utilityIncentive=$root.google.type.Money.fromObject(object.utilityIncentive,long+1)}if(object.lifetimeSrecTotal!=null){if(typeof object.lifetimeSrecTotal!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.lifetimeSrecTotal: object expected");message.lifetimeSrecTotal=$root.google.type.Money.fromObject(object.lifetimeSrecTotal,long+1)}if(object.costOfElectricityWithoutSolar!=null){if(typeof object.costOfElectricityWithoutSolar!=="object")throw TypeError(".google.maps.solar.v1.FinancialDetails.costOfElectricityWithoutSolar: object expected");message.costOfElectricityWithoutSolar=$root.google.type.Money.fromObject(object.costOfElectricityWithoutSolar,long+1)}if(object.netMeteringAllowed!=null)message.netMeteringAllowed=Boolean(object.netMeteringAllowed);if(object.solarPercentage!=null)message.solarPercentage=Number(object.solarPercentage);if(object.percentageExportedToGrid!=null)message.percentageExportedToGrid=Number(object.percentageExportedToGrid);return message};FinancialDetails.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.initialAcKwhPerYear=0;object.remainingLifetimeUtilityBill=null;object.federalIncentive=null;object.stateIncentive=null;object.utilityIncentive=null;object.lifetimeSrecTotal=null;object.costOfElectricityWithoutSolar=null;object.netMeteringAllowed=false}if(message.initialAcKwhPerYear!=null&&message.hasOwnProperty("initialAcKwhPerYear"))object.initialAcKwhPerYear=options.json&&!isFinite(message.initialAcKwhPerYear)?String(message.initialAcKwhPerYear):message.initialAcKwhPerYear;if(message.remainingLifetimeUtilityBill!=null&&message.hasOwnProperty("remainingLifetimeUtilityBill"))object.remainingLifetimeUtilityBill=$root.google.type.Money.toObject(message.remainingLifetimeUtilityBill,options);if(message.federalIncentive!=null&&message.hasOwnProperty("federalIncentive"))object.federalIncentive=$root.google.type.Money.toObject(message.federalIncentive,options);if(message.stateIncentive!=null&&message.hasOwnProperty("stateIncentive"))object.stateIncentive=$root.google.type.Money.toObject(message.stateIncentive,options);if(message.utilityIncentive!=null&&message.hasOwnProperty("utilityIncentive"))object.utilityIncentive=$root.google.type.Money.toObject(message.utilityIncentive,options);if(message.lifetimeSrecTotal!=null&&message.hasOwnProperty("lifetimeSrecTotal"))object.lifetimeSrecTotal=$root.google.type.Money.toObject(message.lifetimeSrecTotal,options);if(message.costOfElectricityWithoutSolar!=null&&message.hasOwnProperty("costOfElectricityWithoutSolar"))object.costOfElectricityWithoutSolar=$root.google.type.Money.toObject(message.costOfElectricityWithoutSolar,options);if(message.netMeteringAllowed!=null&&message.hasOwnProperty("netMeteringAllowed"))object.netMeteringAllowed=message.netMeteringAllowed;if(message.solarPercentage!=null&&message.hasOwnProperty("solarPercentage")){object.solarPercentage=options.json&&!isFinite(message.solarPercentage)?String(message.solarPercentage):message.solarPercentage;if(options.oneofs)object._solarPercentage="solarPercentage"}if(message.percentageExportedToGrid!=null&&message.hasOwnProperty("percentageExportedToGrid")){object.percentageExportedToGrid=options.json&&!isFinite(message.percentageExportedToGrid)?String(message.percentageExportedToGrid):message.percentageExportedToGrid;if(options.oneofs)object._percentageExportedToGrid="percentageExportedToGrid"}return object};FinancialDetails.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancialDetails.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancialDetails"};return FinancialDetails}();v1.SavingsOverTime=function(){function SavingsOverTime(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SavingsOverTime.prototype.savingsYear1=null;SavingsOverTime.prototype.savingsYear20=null;SavingsOverTime.prototype.presentValueOfSavingsYear20=null;SavingsOverTime.prototype.savingsLifetime=null;SavingsOverTime.prototype.presentValueOfSavingsLifetime=null;SavingsOverTime.prototype.financiallyViable=false;SavingsOverTime.create=function create(properties){return new SavingsOverTime(properties)};SavingsOverTime.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.savingsYear1!=null&&Object.hasOwnProperty.call(message,"savingsYear1"))$root.google.type.Money.encode(message.savingsYear1,writer.uint32(10).fork()).ldelim();if(message.savingsYear20!=null&&Object.hasOwnProperty.call(message,"savingsYear20"))$root.google.type.Money.encode(message.savingsYear20,writer.uint32(18).fork()).ldelim();if(message.presentValueOfSavingsYear20!=null&&Object.hasOwnProperty.call(message,"presentValueOfSavingsYear20"))$root.google.type.Money.encode(message.presentValueOfSavingsYear20,writer.uint32(26).fork()).ldelim();if(message.financiallyViable!=null&&Object.hasOwnProperty.call(message,"financiallyViable"))writer.uint32(32).bool(message.financiallyViable);if(message.savingsLifetime!=null&&Object.hasOwnProperty.call(message,"savingsLifetime"))$root.google.type.Money.encode(message.savingsLifetime,writer.uint32(42).fork()).ldelim();if(message.presentValueOfSavingsLifetime!=null&&Object.hasOwnProperty.call(message,"presentValueOfSavingsLifetime"))$root.google.type.Money.encode(message.presentValueOfSavingsLifetime,writer.uint32(50).fork()).ldelim();return writer};SavingsOverTime.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SavingsOverTime.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.SavingsOverTime;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.savingsYear1=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.savingsYear20=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.presentValueOfSavingsYear20=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.savingsLifetime=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.presentValueOfSavingsLifetime=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.financiallyViable=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};SavingsOverTime.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SavingsOverTime.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.savingsYear1!=null&&message.hasOwnProperty("savingsYear1")){var error=$root.google.type.Money.verify(message.savingsYear1,long+1);if(error)return"savingsYear1."+error}if(message.savingsYear20!=null&&message.hasOwnProperty("savingsYear20")){var error=$root.google.type.Money.verify(message.savingsYear20,long+1);if(error)return"savingsYear20."+error}if(message.presentValueOfSavingsYear20!=null&&message.hasOwnProperty("presentValueOfSavingsYear20")){var error=$root.google.type.Money.verify(message.presentValueOfSavingsYear20,long+1);if(error)return"presentValueOfSavingsYear20."+error}if(message.savingsLifetime!=null&&message.hasOwnProperty("savingsLifetime")){var error=$root.google.type.Money.verify(message.savingsLifetime,long+1);if(error)return"savingsLifetime."+error}if(message.presentValueOfSavingsLifetime!=null&&message.hasOwnProperty("presentValueOfSavingsLifetime")){var error=$root.google.type.Money.verify(message.presentValueOfSavingsLifetime,long+1);if(error)return"presentValueOfSavingsLifetime."+error}if(message.financiallyViable!=null&&message.hasOwnProperty("financiallyViable"))if(typeof message.financiallyViable!=="boolean")return"financiallyViable: boolean expected";return null};SavingsOverTime.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.SavingsOverTime)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.SavingsOverTime;if(object.savingsYear1!=null){if(typeof object.savingsYear1!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsYear1: object expected");message.savingsYear1=$root.google.type.Money.fromObject(object.savingsYear1,long+1)}if(object.savingsYear20!=null){if(typeof object.savingsYear20!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsYear20: object expected");message.savingsYear20=$root.google.type.Money.fromObject(object.savingsYear20,long+1)}if(object.presentValueOfSavingsYear20!=null){if(typeof object.presentValueOfSavingsYear20!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.presentValueOfSavingsYear20: object expected");message.presentValueOfSavingsYear20=$root.google.type.Money.fromObject(object.presentValueOfSavingsYear20,long+1)}if(object.savingsLifetime!=null){if(typeof object.savingsLifetime!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.savingsLifetime: object expected");message.savingsLifetime=$root.google.type.Money.fromObject(object.savingsLifetime,long+1)}if(object.presentValueOfSavingsLifetime!=null){if(typeof object.presentValueOfSavingsLifetime!=="object")throw TypeError(".google.maps.solar.v1.SavingsOverTime.presentValueOfSavingsLifetime: object expected");message.presentValueOfSavingsLifetime=$root.google.type.Money.fromObject(object.presentValueOfSavingsLifetime,long+1)}if(object.financiallyViable!=null)message.financiallyViable=Boolean(object.financiallyViable);return message};SavingsOverTime.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.savingsYear1=null;object.savingsYear20=null;object.presentValueOfSavingsYear20=null;object.financiallyViable=false;object.savingsLifetime=null;object.presentValueOfSavingsLifetime=null}if(message.savingsYear1!=null&&message.hasOwnProperty("savingsYear1"))object.savingsYear1=$root.google.type.Money.toObject(message.savingsYear1,options);if(message.savingsYear20!=null&&message.hasOwnProperty("savingsYear20"))object.savingsYear20=$root.google.type.Money.toObject(message.savingsYear20,options);if(message.presentValueOfSavingsYear20!=null&&message.hasOwnProperty("presentValueOfSavingsYear20"))object.presentValueOfSavingsYear20=$root.google.type.Money.toObject(message.presentValueOfSavingsYear20,options);if(message.financiallyViable!=null&&message.hasOwnProperty("financiallyViable"))object.financiallyViable=message.financiallyViable;if(message.savingsLifetime!=null&&message.hasOwnProperty("savingsLifetime"))object.savingsLifetime=$root.google.type.Money.toObject(message.savingsLifetime,options);if(message.presentValueOfSavingsLifetime!=null&&message.hasOwnProperty("presentValueOfSavingsLifetime"))object.presentValueOfSavingsLifetime=$root.google.type.Money.toObject(message.presentValueOfSavingsLifetime,options);return object};SavingsOverTime.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SavingsOverTime.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.SavingsOverTime"};return SavingsOverTime}();v1.LeasingSavings=function(){function LeasingSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LeasingSavings.prototype.leasesAllowed=false;LeasingSavings.prototype.leasesSupported=false;LeasingSavings.prototype.annualLeasingCost=null;LeasingSavings.prototype.savings=null;LeasingSavings.create=function create(properties){return new LeasingSavings(properties)};LeasingSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.leasesAllowed!=null&&Object.hasOwnProperty.call(message,"leasesAllowed"))writer.uint32(8).bool(message.leasesAllowed);if(message.leasesSupported!=null&&Object.hasOwnProperty.call(message,"leasesSupported"))writer.uint32(16).bool(message.leasesSupported);if(message.annualLeasingCost!=null&&Object.hasOwnProperty.call(message,"annualLeasingCost"))$root.google.type.Money.encode(message.annualLeasingCost,writer.uint32(26).fork()).ldelim();if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(34).fork()).ldelim();return writer};LeasingSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LeasingSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.LeasingSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.leasesAllowed=reader.bool();break}case 2:{message.leasesSupported=reader.bool();break}case 3:{message.annualLeasingCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LeasingSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LeasingSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.leasesAllowed!=null&&message.hasOwnProperty("leasesAllowed"))if(typeof message.leasesAllowed!=="boolean")return"leasesAllowed: boolean expected";if(message.leasesSupported!=null&&message.hasOwnProperty("leasesSupported"))if(typeof message.leasesSupported!=="boolean")return"leasesSupported: boolean expected";if(message.annualLeasingCost!=null&&message.hasOwnProperty("annualLeasingCost")){var error=$root.google.type.Money.verify(message.annualLeasingCost,long+1);if(error)return"annualLeasingCost."+error}if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};LeasingSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.LeasingSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.LeasingSavings;if(object.leasesAllowed!=null)message.leasesAllowed=Boolean(object.leasesAllowed);if(object.leasesSupported!=null)message.leasesSupported=Boolean(object.leasesSupported);if(object.annualLeasingCost!=null){if(typeof object.annualLeasingCost!=="object")throw TypeError(".google.maps.solar.v1.LeasingSavings.annualLeasingCost: object expected");message.annualLeasingCost=$root.google.type.Money.fromObject(object.annualLeasingCost,long+1)}if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.LeasingSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};LeasingSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.leasesAllowed=false;object.leasesSupported=false;object.annualLeasingCost=null;object.savings=null}if(message.leasesAllowed!=null&&message.hasOwnProperty("leasesAllowed"))object.leasesAllowed=message.leasesAllowed;if(message.leasesSupported!=null&&message.hasOwnProperty("leasesSupported"))object.leasesSupported=message.leasesSupported;if(message.annualLeasingCost!=null&&message.hasOwnProperty("annualLeasingCost"))object.annualLeasingCost=$root.google.type.Money.toObject(message.annualLeasingCost,options);if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};LeasingSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LeasingSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.LeasingSavings"};return LeasingSavings}();v1.CashPurchaseSavings=function(){function CashPurchaseSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CashPurchaseSavings.prototype.outOfPocketCost=null;CashPurchaseSavings.prototype.upfrontCost=null;CashPurchaseSavings.prototype.rebateValue=null;CashPurchaseSavings.prototype.paybackYears=null;CashPurchaseSavings.prototype.savings=null;var $oneOfFields;Object.defineProperty(CashPurchaseSavings.prototype,"_paybackYears",{get:$util.oneOfGetter($oneOfFields=["paybackYears"]),set:$util.oneOfSetter($oneOfFields)});CashPurchaseSavings.create=function create(properties){return new CashPurchaseSavings(properties)};CashPurchaseSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.outOfPocketCost!=null&&Object.hasOwnProperty.call(message,"outOfPocketCost"))$root.google.type.Money.encode(message.outOfPocketCost,writer.uint32(10).fork()).ldelim();if(message.upfrontCost!=null&&Object.hasOwnProperty.call(message,"upfrontCost"))$root.google.type.Money.encode(message.upfrontCost,writer.uint32(18).fork()).ldelim();if(message.rebateValue!=null&&Object.hasOwnProperty.call(message,"rebateValue"))$root.google.type.Money.encode(message.rebateValue,writer.uint32(26).fork()).ldelim();if(message.paybackYears!=null&&Object.hasOwnProperty.call(message,"paybackYears"))writer.uint32(37).float(message.paybackYears);if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(42).fork()).ldelim();return writer};CashPurchaseSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CashPurchaseSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.CashPurchaseSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.outOfPocketCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.upfrontCost=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.rebateValue=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.paybackYears=reader.float();break}case 5:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CashPurchaseSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CashPurchaseSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.outOfPocketCost!=null&&message.hasOwnProperty("outOfPocketCost")){var error=$root.google.type.Money.verify(message.outOfPocketCost,long+1);if(error)return"outOfPocketCost."+error}if(message.upfrontCost!=null&&message.hasOwnProperty("upfrontCost")){var error=$root.google.type.Money.verify(message.upfrontCost,long+1);if(error)return"upfrontCost."+error}if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue")){var error=$root.google.type.Money.verify(message.rebateValue,long+1);if(error)return"rebateValue."+error}if(message.paybackYears!=null&&message.hasOwnProperty("paybackYears")){properties._paybackYears=1;if(typeof message.paybackYears!=="number")return"paybackYears: number expected"}if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};CashPurchaseSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.CashPurchaseSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.CashPurchaseSavings;if(object.outOfPocketCost!=null){if(typeof object.outOfPocketCost!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.outOfPocketCost: object expected");message.outOfPocketCost=$root.google.type.Money.fromObject(object.outOfPocketCost,long+1)}if(object.upfrontCost!=null){if(typeof object.upfrontCost!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.upfrontCost: object expected");message.upfrontCost=$root.google.type.Money.fromObject(object.upfrontCost,long+1)}if(object.rebateValue!=null){if(typeof object.rebateValue!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.rebateValue: object expected");message.rebateValue=$root.google.type.Money.fromObject(object.rebateValue,long+1)}if(object.paybackYears!=null)message.paybackYears=Number(object.paybackYears);if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.CashPurchaseSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};CashPurchaseSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.outOfPocketCost=null;object.upfrontCost=null;object.rebateValue=null;object.savings=null}if(message.outOfPocketCost!=null&&message.hasOwnProperty("outOfPocketCost"))object.outOfPocketCost=$root.google.type.Money.toObject(message.outOfPocketCost,options);if(message.upfrontCost!=null&&message.hasOwnProperty("upfrontCost"))object.upfrontCost=$root.google.type.Money.toObject(message.upfrontCost,options);if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue"))object.rebateValue=$root.google.type.Money.toObject(message.rebateValue,options);if(message.paybackYears!=null&&message.hasOwnProperty("paybackYears")){object.paybackYears=options.json&&!isFinite(message.paybackYears)?String(message.paybackYears):message.paybackYears;if(options.oneofs)object._paybackYears="paybackYears"}if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};CashPurchaseSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CashPurchaseSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.CashPurchaseSavings"};return CashPurchaseSavings}();v1.FinancedPurchaseSavings=function(){function FinancedPurchaseSavings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FinancedPurchaseSavings.prototype.annualLoanPayment=null;FinancedPurchaseSavings.prototype.rebateValue=null;FinancedPurchaseSavings.prototype.loanInterestRate=0;FinancedPurchaseSavings.prototype.savings=null;FinancedPurchaseSavings.create=function create(properties){return new FinancedPurchaseSavings(properties)};FinancedPurchaseSavings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.annualLoanPayment!=null&&Object.hasOwnProperty.call(message,"annualLoanPayment"))$root.google.type.Money.encode(message.annualLoanPayment,writer.uint32(10).fork()).ldelim();if(message.rebateValue!=null&&Object.hasOwnProperty.call(message,"rebateValue"))$root.google.type.Money.encode(message.rebateValue,writer.uint32(18).fork()).ldelim();if(message.loanInterestRate!=null&&Object.hasOwnProperty.call(message,"loanInterestRate"))writer.uint32(29).float(message.loanInterestRate);if(message.savings!=null&&Object.hasOwnProperty.call(message,"savings"))$root.google.maps.solar.v1.SavingsOverTime.encode(message.savings,writer.uint32(34).fork()).ldelim();return writer};FinancedPurchaseSavings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FinancedPurchaseSavings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.FinancedPurchaseSavings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.annualLoanPayment=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.rebateValue=$root.google.type.Money.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.loanInterestRate=reader.float();break}case 4:{message.savings=$root.google.maps.solar.v1.SavingsOverTime.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FinancedPurchaseSavings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FinancedPurchaseSavings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.annualLoanPayment!=null&&message.hasOwnProperty("annualLoanPayment")){var error=$root.google.type.Money.verify(message.annualLoanPayment,long+1);if(error)return"annualLoanPayment."+error}if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue")){var error=$root.google.type.Money.verify(message.rebateValue,long+1);if(error)return"rebateValue."+error}if(message.loanInterestRate!=null&&message.hasOwnProperty("loanInterestRate"))if(typeof message.loanInterestRate!=="number")return"loanInterestRate: number expected";if(message.savings!=null&&message.hasOwnProperty("savings")){var error=$root.google.maps.solar.v1.SavingsOverTime.verify(message.savings,long+1);if(error)return"savings."+error}return null};FinancedPurchaseSavings.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.FinancedPurchaseSavings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.FinancedPurchaseSavings;if(object.annualLoanPayment!=null){if(typeof object.annualLoanPayment!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.annualLoanPayment: object expected");message.annualLoanPayment=$root.google.type.Money.fromObject(object.annualLoanPayment,long+1)}if(object.rebateValue!=null){if(typeof object.rebateValue!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.rebateValue: object expected");message.rebateValue=$root.google.type.Money.fromObject(object.rebateValue,long+1)}if(object.loanInterestRate!=null)message.loanInterestRate=Number(object.loanInterestRate);if(object.savings!=null){if(typeof object.savings!=="object")throw TypeError(".google.maps.solar.v1.FinancedPurchaseSavings.savings: object expected");message.savings=$root.google.maps.solar.v1.SavingsOverTime.fromObject(object.savings,long+1)}return message};FinancedPurchaseSavings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.annualLoanPayment=null;object.rebateValue=null;object.loanInterestRate=0;object.savings=null}if(message.annualLoanPayment!=null&&message.hasOwnProperty("annualLoanPayment"))object.annualLoanPayment=$root.google.type.Money.toObject(message.annualLoanPayment,options);if(message.rebateValue!=null&&message.hasOwnProperty("rebateValue"))object.rebateValue=$root.google.type.Money.toObject(message.rebateValue,options);if(message.loanInterestRate!=null&&message.hasOwnProperty("loanInterestRate"))object.loanInterestRate=options.json&&!isFinite(message.loanInterestRate)?String(message.loanInterestRate):message.loanInterestRate;if(message.savings!=null&&message.hasOwnProperty("savings"))object.savings=$root.google.maps.solar.v1.SavingsOverTime.toObject(message.savings,options);return object};FinancedPurchaseSavings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FinancedPurchaseSavings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.FinancedPurchaseSavings"};return FinancedPurchaseSavings}();v1.GetDataLayersRequest=function(){function GetDataLayersRequest(properties){this.experiments=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GetDataLayersRequest.prototype.location=null;GetDataLayersRequest.prototype.radiusMeters=0;GetDataLayersRequest.prototype.view=0;GetDataLayersRequest.prototype.requiredQuality=0;GetDataLayersRequest.prototype.pixelSizeMeters=0;GetDataLayersRequest.prototype.exactQualityRequired=false;GetDataLayersRequest.prototype.experiments=$util.emptyArray;GetDataLayersRequest.create=function create(properties){return new GetDataLayersRequest(properties)};GetDataLayersRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&Object.hasOwnProperty.call(message,"location"))$root.google.type.LatLng.encode(message.location,writer.uint32(10).fork()).ldelim();if(message.radiusMeters!=null&&Object.hasOwnProperty.call(message,"radiusMeters"))writer.uint32(21).float(message.radiusMeters);if(message.view!=null&&Object.hasOwnProperty.call(message,"view"))writer.uint32(24).int32(message.view);if(message.requiredQuality!=null&&Object.hasOwnProperty.call(message,"requiredQuality"))writer.uint32(40).int32(message.requiredQuality);if(message.pixelSizeMeters!=null&&Object.hasOwnProperty.call(message,"pixelSizeMeters"))writer.uint32(53).float(message.pixelSizeMeters);if(message.exactQualityRequired!=null&&Object.hasOwnProperty.call(message,"exactQualityRequired"))writer.uint32(56).bool(message.exactQualityRequired);if(message.experiments!=null&&message.experiments.length){writer.uint32(66).fork();for(var i=0;i<message.experiments.length;++i)writer.int32(message.experiments[i]);writer.ldelim()}return writer};GetDataLayersRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GetDataLayersRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.GetDataLayersRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.location=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.radiusMeters=reader.float();break}case 3:{message.view=reader.int32();break}case 5:{message.requiredQuality=reader.int32();break}case 6:{message.pixelSizeMeters=reader.float();break}case 7:{message.exactQualityRequired=reader.bool();break}case 8:{if(!(message.experiments&&message.experiments.length))message.experiments=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.experiments.push(reader.int32())}else message.experiments.push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};GetDataLayersRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GetDataLayersRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){var error=$root.google.type.LatLng.verify(message.location,long+1);if(error)return"location."+error}if(message.radiusMeters!=null&&message.hasOwnProperty("radiusMeters"))if(typeof message.radiusMeters!=="number")return"radiusMeters: number expected";if(message.view!=null&&message.hasOwnProperty("view"))switch(message.view){default:return"view: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))switch(message.requiredQuality){default:return"requiredQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.pixelSizeMeters!=null&&message.hasOwnProperty("pixelSizeMeters"))if(typeof message.pixelSizeMeters!=="number")return"pixelSizeMeters: number expected";if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))if(typeof message.exactQualityRequired!=="boolean")return"exactQualityRequired: boolean expected";if(message.experiments!=null&&message.hasOwnProperty("experiments")){if(!Array.isArray(message.experiments))return"experiments: array expected";for(var i=0;i<message.experiments.length;++i)switch(message.experiments[i]){default:return"experiments: enum value[] expected";case 0:case 1:break}}return null};GetDataLayersRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.GetDataLayersRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.GetDataLayersRequest;if(object.location!=null){if(typeof object.location!=="object")throw TypeError(".google.maps.solar.v1.GetDataLayersRequest.location: object expected");message.location=$root.google.type.LatLng.fromObject(object.location,long+1)}if(object.radiusMeters!=null)message.radiusMeters=Number(object.radiusMeters);switch(object.view){default:if(typeof object.view==="number"){message.view=object.view;break}break;case"DATA_LAYER_VIEW_UNSPECIFIED":case 0:message.view=0;break;case"DSM_LAYER":case 1:message.view=1;break;case"IMAGERY_LAYERS":case 2:message.view=2;break;case"IMAGERY_AND_ANNUAL_FLUX_LAYERS":case 3:message.view=3;break;case"IMAGERY_AND_ALL_FLUX_LAYERS":case 4:message.view=4;break;case"FULL_LAYERS":case 5:message.view=5;break}switch(object.requiredQuality){default:if(typeof object.requiredQuality==="number"){message.requiredQuality=object.requiredQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.requiredQuality=0;break;case"HIGH":case 1:message.requiredQuality=1;break;case"MEDIUM":case 2:message.requiredQuality=2;break;case"LOW":case 3:message.requiredQuality=3;break;case"BASE":case 4:message.requiredQuality=4;break}if(object.pixelSizeMeters!=null)message.pixelSizeMeters=Number(object.pixelSizeMeters);if(object.exactQualityRequired!=null)message.exactQualityRequired=Boolean(object.exactQualityRequired);if(object.experiments){if(!Array.isArray(object.experiments))throw TypeError(".google.maps.solar.v1.GetDataLayersRequest.experiments: array expected");message.experiments=[];for(var i=0;i<object.experiments.length;++i)switch(object.experiments[i]){default:if(typeof object.experiments[i]==="number"){message.experiments[i]=object.experiments[i];break}case"EXPERIMENT_UNSPECIFIED":case 0:message.experiments[i]=0;break;case"EXPANDED_COVERAGE":case 1:message.experiments[i]=1;break}}return message};GetDataLayersRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.experiments=[];if(options.defaults){object.location=null;object.radiusMeters=0;object.view=options.enums===String?"DATA_LAYER_VIEW_UNSPECIFIED":0;object.requiredQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0;object.pixelSizeMeters=0;object.exactQualityRequired=false}if(message.location!=null&&message.hasOwnProperty("location"))object.location=$root.google.type.LatLng.toObject(message.location,options);if(message.radiusMeters!=null&&message.hasOwnProperty("radiusMeters"))object.radiusMeters=options.json&&!isFinite(message.radiusMeters)?String(message.radiusMeters):message.radiusMeters;if(message.view!=null&&message.hasOwnProperty("view"))object.view=options.enums===String?$root.google.maps.solar.v1.DataLayerView[message.view]===undefined?message.view:$root.google.maps.solar.v1.DataLayerView[message.view]:message.view;if(message.requiredQuality!=null&&message.hasOwnProperty("requiredQuality"))object.requiredQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]===undefined?message.requiredQuality:$root.google.maps.solar.v1.ImageryQuality[message.requiredQuality]:message.requiredQuality;if(message.pixelSizeMeters!=null&&message.hasOwnProperty("pixelSizeMeters"))object.pixelSizeMeters=options.json&&!isFinite(message.pixelSizeMeters)?String(message.pixelSizeMeters):message.pixelSizeMeters;if(message.exactQualityRequired!=null&&message.hasOwnProperty("exactQualityRequired"))object.exactQualityRequired=message.exactQualityRequired;if(message.experiments&&message.experiments.length){object.experiments=[];for(var j=0;j<message.experiments.length;++j)object.experiments[j]=options.enums===String?$root.google.maps.solar.v1.Experiment[message.experiments[j]]===undefined?message.experiments[j]:$root.google.maps.solar.v1.Experiment[message.experiments[j]]:message.experiments[j]}return object};GetDataLayersRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GetDataLayersRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.GetDataLayersRequest"};return GetDataLayersRequest}();v1.DataLayers=function(){function DataLayers(properties){this.hourlyShadeUrls=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DataLayers.prototype.imageryDate=null;DataLayers.prototype.imageryProcessedDate=null;DataLayers.prototype.dsmUrl="";DataLayers.prototype.rgbUrl="";DataLayers.prototype.maskUrl="";DataLayers.prototype.annualFluxUrl="";DataLayers.prototype.monthlyFluxUrl="";DataLayers.prototype.hourlyShadeUrls=$util.emptyArray;DataLayers.prototype.imageryQuality=0;DataLayers.create=function create(properties){return new DataLayers(properties)};DataLayers.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.imageryDate!=null&&Object.hasOwnProperty.call(message,"imageryDate"))$root.google.type.Date.encode(message.imageryDate,writer.uint32(10).fork()).ldelim();if(message.imageryProcessedDate!=null&&Object.hasOwnProperty.call(message,"imageryProcessedDate"))$root.google.type.Date.encode(message.imageryProcessedDate,writer.uint32(18).fork()).ldelim();if(message.dsmUrl!=null&&Object.hasOwnProperty.call(message,"dsmUrl"))writer.uint32(26).string(message.dsmUrl);if(message.rgbUrl!=null&&Object.hasOwnProperty.call(message,"rgbUrl"))writer.uint32(34).string(message.rgbUrl);if(message.maskUrl!=null&&Object.hasOwnProperty.call(message,"maskUrl"))writer.uint32(42).string(message.maskUrl);if(message.annualFluxUrl!=null&&Object.hasOwnProperty.call(message,"annualFluxUrl"))writer.uint32(50).string(message.annualFluxUrl);if(message.monthlyFluxUrl!=null&&Object.hasOwnProperty.call(message,"monthlyFluxUrl"))writer.uint32(58).string(message.monthlyFluxUrl);if(message.hourlyShadeUrls!=null&&message.hourlyShadeUrls.length)for(var i=0;i<message.hourlyShadeUrls.length;++i)writer.uint32(66).string(message.hourlyShadeUrls[i]);if(message.imageryQuality!=null&&Object.hasOwnProperty.call(message,"imageryQuality"))writer.uint32(72).int32(message.imageryQuality);return writer};DataLayers.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DataLayers.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.DataLayers;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.imageryDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.imageryProcessedDate=$root.google.type.Date.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.dsmUrl=reader.string();break}case 4:{message.rgbUrl=reader.string();break}case 5:{message.maskUrl=reader.string();break}case 6:{message.annualFluxUrl=reader.string();break}case 7:{message.monthlyFluxUrl=reader.string();break}case 8:{if(!(message.hourlyShadeUrls&&message.hourlyShadeUrls.length))message.hourlyShadeUrls=[];message.hourlyShadeUrls.push(reader.string());break}case 9:{message.imageryQuality=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};DataLayers.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DataLayers.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate")){var error=$root.google.type.Date.verify(message.imageryDate,long+1);if(error)return"imageryDate."+error}if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate")){var error=$root.google.type.Date.verify(message.imageryProcessedDate,long+1);if(error)return"imageryProcessedDate."+error}if(message.dsmUrl!=null&&message.hasOwnProperty("dsmUrl"))if(!$util.isString(message.dsmUrl))return"dsmUrl: string expected";if(message.rgbUrl!=null&&message.hasOwnProperty("rgbUrl"))if(!$util.isString(message.rgbUrl))return"rgbUrl: string expected";if(message.maskUrl!=null&&message.hasOwnProperty("maskUrl"))if(!$util.isString(message.maskUrl))return"maskUrl: string expected";if(message.annualFluxUrl!=null&&message.hasOwnProperty("annualFluxUrl"))if(!$util.isString(message.annualFluxUrl))return"annualFluxUrl: string expected";if(message.monthlyFluxUrl!=null&&message.hasOwnProperty("monthlyFluxUrl"))if(!$util.isString(message.monthlyFluxUrl))return"monthlyFluxUrl: string expected";if(message.hourlyShadeUrls!=null&&message.hasOwnProperty("hourlyShadeUrls")){if(!Array.isArray(message.hourlyShadeUrls))return"hourlyShadeUrls: array expected";for(var i=0;i<message.hourlyShadeUrls.length;++i)if(!$util.isString(message.hourlyShadeUrls[i]))return"hourlyShadeUrls: string[] expected"}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))switch(message.imageryQuality){default:return"imageryQuality: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null};DataLayers.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.DataLayers)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.DataLayers;if(object.imageryDate!=null){if(typeof object.imageryDate!=="object")throw TypeError(".google.maps.solar.v1.DataLayers.imageryDate: object expected");message.imageryDate=$root.google.type.Date.fromObject(object.imageryDate,long+1)}if(object.imageryProcessedDate!=null){if(typeof object.imageryProcessedDate!=="object")throw TypeError(".google.maps.solar.v1.DataLayers.imageryProcessedDate: object expected");message.imageryProcessedDate=$root.google.type.Date.fromObject(object.imageryProcessedDate,long+1)}if(object.dsmUrl!=null)message.dsmUrl=String(object.dsmUrl);if(object.rgbUrl!=null)message.rgbUrl=String(object.rgbUrl);if(object.maskUrl!=null)message.maskUrl=String(object.maskUrl);if(object.annualFluxUrl!=null)message.annualFluxUrl=String(object.annualFluxUrl);if(object.monthlyFluxUrl!=null)message.monthlyFluxUrl=String(object.monthlyFluxUrl);if(object.hourlyShadeUrls){if(!Array.isArray(object.hourlyShadeUrls))throw TypeError(".google.maps.solar.v1.DataLayers.hourlyShadeUrls: array expected");message.hourlyShadeUrls=[];for(var i=0;i<object.hourlyShadeUrls.length;++i)message.hourlyShadeUrls[i]=String(object.hourlyShadeUrls[i])}switch(object.imageryQuality){default:if(typeof object.imageryQuality==="number"){message.imageryQuality=object.imageryQuality;break}break;case"IMAGERY_QUALITY_UNSPECIFIED":case 0:message.imageryQuality=0;break;case"HIGH":case 1:message.imageryQuality=1;break;case"MEDIUM":case 2:message.imageryQuality=2;break;case"LOW":case 3:message.imageryQuality=3;break;case"BASE":case 4:message.imageryQuality=4;break}return message};DataLayers.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.hourlyShadeUrls=[];if(options.defaults){object.imageryDate=null;object.imageryProcessedDate=null;object.dsmUrl="";object.rgbUrl="";object.maskUrl="";object.annualFluxUrl="";object.monthlyFluxUrl="";object.imageryQuality=options.enums===String?"IMAGERY_QUALITY_UNSPECIFIED":0}if(message.imageryDate!=null&&message.hasOwnProperty("imageryDate"))object.imageryDate=$root.google.type.Date.toObject(message.imageryDate,options);if(message.imageryProcessedDate!=null&&message.hasOwnProperty("imageryProcessedDate"))object.imageryProcessedDate=$root.google.type.Date.toObject(message.imageryProcessedDate,options);if(message.dsmUrl!=null&&message.hasOwnProperty("dsmUrl"))object.dsmUrl=message.dsmUrl;if(message.rgbUrl!=null&&message.hasOwnProperty("rgbUrl"))object.rgbUrl=message.rgbUrl;if(message.maskUrl!=null&&message.hasOwnProperty("maskUrl"))object.maskUrl=message.maskUrl;if(message.annualFluxUrl!=null&&message.hasOwnProperty("annualFluxUrl"))object.annualFluxUrl=message.annualFluxUrl;if(message.monthlyFluxUrl!=null&&message.hasOwnProperty("monthlyFluxUrl"))object.monthlyFluxUrl=message.monthlyFluxUrl;if(message.hourlyShadeUrls&&message.hourlyShadeUrls.length){object.hourlyShadeUrls=[];for(var j=0;j<message.hourlyShadeUrls.length;++j)object.hourlyShadeUrls[j]=message.hourlyShadeUrls[j]}if(message.imageryQuality!=null&&message.hasOwnProperty("imageryQuality"))object.imageryQuality=options.enums===String?$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]===undefined?message.imageryQuality:$root.google.maps.solar.v1.ImageryQuality[message.imageryQuality]:message.imageryQuality;return object};DataLayers.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DataLayers.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.DataLayers"};return DataLayers}();v1.GetGeoTiffRequest=function(){function GetGeoTiffRequest(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GetGeoTiffRequest.prototype.id="";GetGeoTiffRequest.create=function create(properties){return new GetGeoTiffRequest(properties)};GetGeoTiffRequest.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.id!=null&&Object.hasOwnProperty.call(message,"id"))writer.uint32(10).string(message.id);return writer};GetGeoTiffRequest.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GetGeoTiffRequest.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.solar.v1.GetGeoTiffRequest;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.id=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};GetGeoTiffRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GetGeoTiffRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.id!=null&&message.hasOwnProperty("id"))if(!$util.isString(message.id))return"id: string expected";return null};GetGeoTiffRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.solar.v1.GetGeoTiffRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.solar.v1.GetGeoTiffRequest;if(object.id!=null)message.id=String(object.id);return message};GetGeoTiffRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.id="";if(message.id!=null&&message.hasOwnProperty("id"))object.id=message.id;return object};GetGeoTiffRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GetGeoTiffRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.solar.v1.GetGeoTiffRequest"};return GetGeoTiffRequest}();v1.AdditionalInsights=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ADDITIONAL_INSIGHTS_UNSPECIFIED"]=0;values[valuesById[2]="DETECTED_ARRAYS"]=2;return values}();v1.DataLayerView=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DATA_LAYER_VIEW_UNSPECIFIED"]=0;values[valuesById[1]="DSM_LAYER"]=1;values[valuesById[2]="IMAGERY_LAYERS"]=2;values[valuesById[3]="IMAGERY_AND_ANNUAL_FLUX_LAYERS"]=3;values[valuesById[4]="IMAGERY_AND_ALL_FLUX_LAYERS"]=4;values[valuesById[5]="FULL_LAYERS"]=5;return values}();v1.ImageryQuality=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="IMAGERY_QUALITY_UNSPECIFIED"]=0;values[valuesById[1]="HIGH"]=1;values[valuesById[2]="MEDIUM"]=2;values[valuesById[3]="LOW"]=3;values[valuesById[4]="BASE"]=4;return values}();v1.SolarPanelOrientation=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="SOLAR_PANEL_ORIENTATION_UNSPECIFIED"]=0;values[valuesById[1]="LANDSCAPE"]=1;values[valuesById[2]="PORTRAIT"]=2;return values}();v1.Experiment=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="EXPERIMENT_UNSPECIFIED"]=0;values[valuesById[1]="EXPANDED_COVERAGE"]=1;return values}();return v1}();return solar}();return maps}();google.api=function(){var api={};api.Http=function(){function Http(properties){this.rules=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Http.prototype.rules=$util.emptyArray;Http.prototype.fullyDecodeReservedExpansion=false;Http.create=function create(properties){return new Http(properties)};Http.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.rules!=null&&message.rules.length)for(var i=0;i<message.rules.length;++i)$root.google.api.HttpRule.encode(message.rules[i],writer.uint32(10).fork()).ldelim();if(message.fullyDecodeReservedExpansion!=null&&Object.hasOwnProperty.call(message,"fullyDecodeReservedExpansion"))writer.uint32(16).bool(message.fullyDecodeReservedExpansion);return writer};Http.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Http.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Http;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.rules&&message.rules.length))message.rules=[];message.rules.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{message.fullyDecodeReservedExpansion=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Http.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Http.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.rules!=null&&message.hasOwnProperty("rules")){if(!Array.isArray(message.rules))return"rules: array expected";for(var i=0;i<message.rules.length;++i){var error=$root.google.api.HttpRule.verify(message.rules[i],long+1);if(error)return"rules."+error}}if(message.fullyDecodeReservedExpansion!=null&&message.hasOwnProperty("fullyDecodeReservedExpansion"))if(typeof message.fullyDecodeReservedExpansion!=="boolean")return"fullyDecodeReservedExpansion: boolean expected";return null};Http.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.Http)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Http;if(object.rules){if(!Array.isArray(object.rules))throw TypeError(".google.api.Http.rules: array expected");message.rules=[];for(var i=0;i<object.rules.length;++i){if(typeof object.rules[i]!=="object")throw TypeError(".google.api.Http.rules: object expected");message.rules[i]=$root.google.api.HttpRule.fromObject(object.rules[i],long+1)}}if(object.fullyDecodeReservedExpansion!=null)message.fullyDecodeReservedExpansion=Boolean(object.fullyDecodeReservedExpansion);return message};Http.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.rules=[];if(options.defaults)object.fullyDecodeReservedExpansion=false;if(message.rules&&message.rules.length){object.rules=[];for(var j=0;j<message.rules.length;++j)object.rules[j]=$root.google.api.HttpRule.toObject(message.rules[j],options)}if(message.fullyDecodeReservedExpansion!=null&&message.hasOwnProperty("fullyDecodeReservedExpansion"))object.fullyDecodeReservedExpansion=message.fullyDecodeReservedExpansion;return object};Http.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Http.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.Http"};return Http}();api.HttpRule=function(){function HttpRule(properties){this.additionalBindings=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}HttpRule.prototype.selector="";HttpRule.prototype.get=null;HttpRule.prototype.put=null;HttpRule.prototype.post=null;HttpRule.prototype["delete"]=null;HttpRule.prototype.patch=null;HttpRule.prototype.custom=null;HttpRule.prototype.body="";HttpRule.prototype.responseBody="";HttpRule.prototype.additionalBindings=$util.emptyArray;var $oneOfFields;Object.defineProperty(HttpRule.prototype,"pattern",{get:$util.oneOfGetter($oneOfFields=["get","put","post","delete","patch","custom"]),set:$util.oneOfSetter($oneOfFields)});HttpRule.create=function create(properties){return new HttpRule(properties)};HttpRule.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.selector!=null&&Object.hasOwnProperty.call(message,"selector"))writer.uint32(10).string(message.selector);if(message.get!=null&&Object.hasOwnProperty.call(message,"get"))writer.uint32(18).string(message.get);if(message.put!=null&&Object.hasOwnProperty.call(message,"put"))writer.uint32(26).string(message.put);if(message.post!=null&&Object.hasOwnProperty.call(message,"post"))writer.uint32(34).string(message.post);if(message["delete"]!=null&&Object.hasOwnProperty.call(message,"delete"))writer.uint32(42).string(message["delete"]);if(message.patch!=null&&Object.hasOwnProperty.call(message,"patch"))writer.uint32(50).string(message.patch);if(message.body!=null&&Object.hasOwnProperty.call(message,"body"))writer.uint32(58).string(message.body);if(message.custom!=null&&Object.hasOwnProperty.call(message,"custom"))$root.google.api.CustomHttpPattern.encode(message.custom,writer.uint32(66).fork()).ldelim();if(message.additionalBindings!=null&&message.additionalBindings.length)for(var i=0;i<message.additionalBindings.length;++i)$root.google.api.HttpRule.encode(message.additionalBindings[i],writer.uint32(90).fork()).ldelim();if(message.responseBody!=null&&Object.hasOwnProperty.call(message,"responseBody"))writer.uint32(98).string(message.responseBody);return writer};HttpRule.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};HttpRule.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.HttpRule;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.selector=reader.string();break}case 2:{message.get=reader.string();break}case 3:{message.put=reader.string();break}case 4:{message.post=reader.string();break}case 5:{message["delete"]=reader.string();break}case 6:{message.patch=reader.string();break}case 8:{message.custom=$root.google.api.CustomHttpPattern.decode(reader,reader.uint32(),undefined,long+1);break}case 7:{message.body=reader.string();break}case 12:{message.responseBody=reader.string();break}case 11:{if(!(message.additionalBindings&&message.additionalBindings.length))message.additionalBindings=[];message.additionalBindings.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};HttpRule.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};HttpRule.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.get!=null&&message.hasOwnProperty("get")){properties.pattern=1;if(!$util.isString(message.get))return"get: string expected"}if(message.put!=null&&message.hasOwnProperty("put")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.put))return"put: string expected"}if(message.post!=null&&message.hasOwnProperty("post")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.post))return"post: string expected"}if(message["delete"]!=null&&message.hasOwnProperty("delete")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message["delete"]))return"delete: string expected"}if(message.patch!=null&&message.hasOwnProperty("patch")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.patch))return"patch: string expected"}if(message.custom!=null&&message.hasOwnProperty("custom")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;{var error=$root.google.api.CustomHttpPattern.verify(message.custom,long+1);if(error)return"custom."+error}}if(message.body!=null&&message.hasOwnProperty("body"))if(!$util.isString(message.body))return"body: string expected";if(message.responseBody!=null&&message.hasOwnProperty("responseBody"))if(!$util.isString(message.responseBody))return"responseBody: string expected";if(message.additionalBindings!=null&&message.hasOwnProperty("additionalBindings")){if(!Array.isArray(message.additionalBindings))return"additionalBindings: array expected";for(var i=0;i<message.additionalBindings.length;++i){var error=$root.google.api.HttpRule.verify(message.additionalBindings[i],long+1);if(error)return"additionalBindings."+error}}return null};HttpRule.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.HttpRule)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.HttpRule;if(object.selector!=null)message.selector=String(object.selector);if(object.get!=null)message.get=String(object.get);if(object.put!=null)message.put=String(object.put);if(object.post!=null)message.post=String(object.post);if(object["delete"]!=null)message["delete"]=String(object["delete"]);if(object.patch!=null)message.patch=String(object.patch);if(object.custom!=null){if(typeof object.custom!=="object")throw TypeError(".google.api.HttpRule.custom: object expected");message.custom=$root.google.api.CustomHttpPattern.fromObject(object.custom,long+1)}if(object.body!=null)message.body=String(object.body);if(object.responseBody!=null)message.responseBody=String(object.responseBody);if(object.additionalBindings){if(!Array.isArray(object.additionalBindings))throw TypeError(".google.api.HttpRule.additionalBindings: array expected");message.additionalBindings=[];for(var i=0;i<object.additionalBindings.length;++i){if(typeof object.additionalBindings[i]!=="object")throw TypeError(".google.api.HttpRule.additionalBindings: object expected");message.additionalBindings[i]=$root.google.api.HttpRule.fromObject(object.additionalBindings[i],long+1)}}return message};HttpRule.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.additionalBindings=[];if(options.defaults){object.selector="";object.body="";object.responseBody=""}if(message.selector!=null&&message.hasOwnProperty("selector"))object.selector=message.selector;if(message.get!=null&&message.hasOwnProperty("get")){object.get=message.get;if(options.oneofs)object.pattern="get"}if(message.put!=null&&message.hasOwnProperty("put")){object.put=message.put;if(options.oneofs)object.pattern="put"}if(message.post!=null&&message.hasOwnProperty("post")){object.post=message.post;if(options.oneofs)object.pattern="post"}if(message["delete"]!=null&&message.hasOwnProperty("delete")){object["delete"]=message["delete"];if(options.oneofs)object.pattern="delete"}if(message.patch!=null&&message.hasOwnProperty("patch")){object.patch=message.patch;if(options.oneofs)object.pattern="patch"}if(message.body!=null&&message.hasOwnProperty("body"))object.body=message.body;if(message.custom!=null&&message.hasOwnProperty("custom")){object.custom=$root.google.api.CustomHttpPattern.toObject(message.custom,options);if(options.oneofs)object.pattern="custom"}if(message.additionalBindings&&message.additionalBindings.length){object.additionalBindings=[];for(var j=0;j<message.additionalBindings.length;++j)object.additionalBindings[j]=$root.google.api.HttpRule.toObject(message.additionalBindings[j],options)}if(message.responseBody!=null&&message.hasOwnProperty("responseBody"))object.responseBody=message.responseBody;return object};HttpRule.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};HttpRule.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.HttpRule"};return HttpRule}();api.CustomHttpPattern=function(){function CustomHttpPattern(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CustomHttpPattern.prototype.kind="";CustomHttpPattern.prototype.path="";CustomHttpPattern.create=function create(properties){return new CustomHttpPattern(properties)};CustomHttpPattern.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.kind!=null&&Object.hasOwnProperty.call(message,"kind"))writer.uint32(10).string(message.kind);if(message.path!=null&&Object.hasOwnProperty.call(message,"path"))writer.uint32(18).string(message.path);return writer};CustomHttpPattern.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CustomHttpPattern.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CustomHttpPattern;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.kind=reader.string();break}case 2:{message.path=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};CustomHttpPattern.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CustomHttpPattern.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.kind!=null&&message.hasOwnProperty("kind"))if(!$util.isString(message.kind))return"kind: string expected";if(message.path!=null&&message.hasOwnProperty("path"))if(!$util.isString(message.path))return"path: string expected";return null};CustomHttpPattern.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CustomHttpPattern)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CustomHttpPattern;if(object.kind!=null)message.kind=String(object.kind);if(object.path!=null)message.path=String(object.path);return message};CustomHttpPattern.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.kind="";object.path=""}if(message.kind!=null&&message.hasOwnProperty("kind"))object.kind=message.kind;if(message.path!=null&&message.hasOwnProperty("path"))object.path=message.path;return object};CustomHttpPattern.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CustomHttpPattern.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CustomHttpPattern"};return CustomHttpPattern}();api.CommonLanguageSettings=function(){function CommonLanguageSettings(properties){this.destinations=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CommonLanguageSettings.prototype.referenceDocsUri="";CommonLanguageSettings.prototype.destinations=$util.emptyArray;CommonLanguageSettings.prototype.selectiveGapicGeneration=null;CommonLanguageSettings.create=function create(properties){return new CommonLanguageSettings(properties)};CommonLanguageSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.referenceDocsUri!=null&&Object.hasOwnProperty.call(message,"referenceDocsUri"))writer.uint32(10).string(message.referenceDocsUri);if(message.destinations!=null&&message.destinations.length){writer.uint32(18).fork();for(var i=0;i<message.destinations.length;++i)writer.int32(message.destinations[i]);writer.ldelim()}if(message.selectiveGapicGeneration!=null&&Object.hasOwnProperty.call(message,"selectiveGapicGeneration"))$root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration,writer.uint32(26).fork()).ldelim();return writer};CommonLanguageSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CommonLanguageSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CommonLanguageSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.referenceDocsUri=reader.string();break}case 2:{if(!(message.destinations&&message.destinations.length))message.destinations=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.destinations.push(reader.int32())}else message.destinations.push(reader.int32());break}case 3:{message.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CommonLanguageSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CommonLanguageSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.referenceDocsUri!=null&&message.hasOwnProperty("referenceDocsUri"))if(!$util.isString(message.referenceDocsUri))return"referenceDocsUri: string expected";if(message.destinations!=null&&message.hasOwnProperty("destinations")){if(!Array.isArray(message.destinations))return"destinations: array expected";for(var i=0;i<message.destinations.length;++i)switch(message.destinations[i]){default:return"destinations: enum value[] expected";case 0:case 10:case 20:break}}if(message.selectiveGapicGeneration!=null&&message.hasOwnProperty("selectiveGapicGeneration")){var error=$root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration,long+1);if(error)return"selectiveGapicGeneration."+error}return null};CommonLanguageSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CommonLanguageSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CommonLanguageSettings;if(object.referenceDocsUri!=null)message.referenceDocsUri=String(object.referenceDocsUri);if(object.destinations){if(!Array.isArray(object.destinations))throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");message.destinations=[];for(var i=0;i<object.destinations.length;++i)switch(object.destinations[i]){default:if(typeof object.destinations[i]==="number"){message.destinations[i]=object.destinations[i];break}case"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":case 0:message.destinations[i]=0;break;case"GITHUB":case 10:message.destinations[i]=10;break;case"PACKAGE_MANAGER":case 20:message.destinations[i]=20;break}}if(object.selectiveGapicGeneration!=null){if(typeof object.selectiveGapicGeneration!=="object")throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected");message.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration,long+1)}return message};CommonLanguageSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.destinations=[];if(options.defaults){object.referenceDocsUri="";object.selectiveGapicGeneration=null}if(message.referenceDocsUri!=null&&message.hasOwnProperty("referenceDocsUri"))object.referenceDocsUri=message.referenceDocsUri;if(message.destinations&&message.destinations.length){object.destinations=[];for(var j=0;j<message.destinations.length;++j)object.destinations[j]=options.enums===String?$root.google.api.ClientLibraryDestination[message.destinations[j]]===undefined?message.destinations[j]:$root.google.api.ClientLibraryDestination[message.destinations[j]]:message.destinations[j]}if(message.selectiveGapicGeneration!=null&&message.hasOwnProperty("selectiveGapicGeneration"))object.selectiveGapicGeneration=$root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration,options);return object};CommonLanguageSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CommonLanguageSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CommonLanguageSettings"};return CommonLanguageSettings}();api.ClientLibrarySettings=function(){function ClientLibrarySettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ClientLibrarySettings.prototype.version="";ClientLibrarySettings.prototype.launchStage=0;ClientLibrarySettings.prototype.restNumericEnums=false;ClientLibrarySettings.prototype.javaSettings=null;ClientLibrarySettings.prototype.cppSettings=null;ClientLibrarySettings.prototype.phpSettings=null;ClientLibrarySettings.prototype.pythonSettings=null;ClientLibrarySettings.prototype.nodeSettings=null;ClientLibrarySettings.prototype.dotnetSettings=null;ClientLibrarySettings.prototype.rubySettings=null;ClientLibrarySettings.prototype.goSettings=null;ClientLibrarySettings.create=function create(properties){return new ClientLibrarySettings(properties)};ClientLibrarySettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.version!=null&&Object.hasOwnProperty.call(message,"version"))writer.uint32(10).string(message.version);if(message.launchStage!=null&&Object.hasOwnProperty.call(message,"launchStage"))writer.uint32(16).int32(message.launchStage);if(message.restNumericEnums!=null&&Object.hasOwnProperty.call(message,"restNumericEnums"))writer.uint32(24).bool(message.restNumericEnums);if(message.javaSettings!=null&&Object.hasOwnProperty.call(message,"javaSettings"))$root.google.api.JavaSettings.encode(message.javaSettings,writer.uint32(170).fork()).ldelim();if(message.cppSettings!=null&&Object.hasOwnProperty.call(message,"cppSettings"))$root.google.api.CppSettings.encode(message.cppSettings,writer.uint32(178).fork()).ldelim();if(message.phpSettings!=null&&Object.hasOwnProperty.call(message,"phpSettings"))$root.google.api.PhpSettings.encode(message.phpSettings,writer.uint32(186).fork()).ldelim();if(message.pythonSettings!=null&&Object.hasOwnProperty.call(message,"pythonSettings"))$root.google.api.PythonSettings.encode(message.pythonSettings,writer.uint32(194).fork()).ldelim();if(message.nodeSettings!=null&&Object.hasOwnProperty.call(message,"nodeSettings"))$root.google.api.NodeSettings.encode(message.nodeSettings,writer.uint32(202).fork()).ldelim();if(message.dotnetSettings!=null&&Object.hasOwnProperty.call(message,"dotnetSettings"))$root.google.api.DotnetSettings.encode(message.dotnetSettings,writer.uint32(210).fork()).ldelim();if(message.rubySettings!=null&&Object.hasOwnProperty.call(message,"rubySettings"))$root.google.api.RubySettings.encode(message.rubySettings,writer.uint32(218).fork()).ldelim();if(message.goSettings!=null&&Object.hasOwnProperty.call(message,"goSettings"))$root.google.api.GoSettings.encode(message.goSettings,writer.uint32(226).fork()).ldelim();return writer};ClientLibrarySettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ClientLibrarySettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.ClientLibrarySettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.version=reader.string();break}case 2:{message.launchStage=reader.int32();break}case 3:{message.restNumericEnums=reader.bool();break}case 21:{message.javaSettings=$root.google.api.JavaSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 22:{message.cppSettings=$root.google.api.CppSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 23:{message.phpSettings=$root.google.api.PhpSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 24:{message.pythonSettings=$root.google.api.PythonSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 25:{message.nodeSettings=$root.google.api.NodeSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 26:{message.dotnetSettings=$root.google.api.DotnetSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 27:{message.rubySettings=$root.google.api.RubySettings.decode(reader,reader.uint32(),undefined,long+1);break}case 28:{message.goSettings=$root.google.api.GoSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ClientLibrarySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ClientLibrarySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.version!=null&&message.hasOwnProperty("version"))if(!$util.isString(message.version))return"version: string expected";if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))switch(message.launchStage){default:return"launchStage: enum value expected";case 0:case 6:case 7:case 1:case 2:case 3:case 4:case 5:break}if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))if(typeof message.restNumericEnums!=="boolean")return"restNumericEnums: boolean expected";if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings")){var error=$root.google.api.JavaSettings.verify(message.javaSettings,long+1);if(error)return"javaSettings."+error}if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings")){var error=$root.google.api.CppSettings.verify(message.cppSettings,long+1);if(error)return"cppSettings."+error}if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings")){var error=$root.google.api.PhpSettings.verify(message.phpSettings,long+1);if(error)return"phpSettings."+error}if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings")){var error=$root.google.api.PythonSettings.verify(message.pythonSettings,long+1);if(error)return"pythonSettings."+error}if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings")){var error=$root.google.api.NodeSettings.verify(message.nodeSettings,long+1);if(error)return"nodeSettings."+error}if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings")){var error=$root.google.api.DotnetSettings.verify(message.dotnetSettings,long+1);if(error)return"dotnetSettings."+error}if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings")){var error=$root.google.api.RubySettings.verify(message.rubySettings,long+1);if(error)return"rubySettings."+error}if(message.goSettings!=null&&message.hasOwnProperty("goSettings")){var error=$root.google.api.GoSettings.verify(message.goSettings,long+1);if(error)return"goSettings."+error}return null};ClientLibrarySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.ClientLibrarySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.ClientLibrarySettings;if(object.version!=null)message.version=String(object.version);switch(object.launchStage){default:if(typeof object.launchStage==="number"){message.launchStage=object.launchStage;break}break;case"LAUNCH_STAGE_UNSPECIFIED":case 0:message.launchStage=0;break;case"UNIMPLEMENTED":case 6:message.launchStage=6;break;case"PRELAUNCH":case 7:message.launchStage=7;break;case"EARLY_ACCESS":case 1:message.launchStage=1;break;case"ALPHA":case 2:message.launchStage=2;break;case"BETA":case 3:message.launchStage=3;break;case"GA":case 4:message.launchStage=4;break;case"DEPRECATED":case 5:message.launchStage=5;break}if(object.restNumericEnums!=null)message.restNumericEnums=Boolean(object.restNumericEnums);if(object.javaSettings!=null){if(typeof object.javaSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");message.javaSettings=$root.google.api.JavaSettings.fromObject(object.javaSettings,long+1)}if(object.cppSettings!=null){if(typeof object.cppSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");message.cppSettings=$root.google.api.CppSettings.fromObject(object.cppSettings,long+1)}if(object.phpSettings!=null){if(typeof object.phpSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");message.phpSettings=$root.google.api.PhpSettings.fromObject(object.phpSettings,long+1)}if(object.pythonSettings!=null){if(typeof object.pythonSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");message.pythonSettings=$root.google.api.PythonSettings.fromObject(object.pythonSettings,long+1)}if(object.nodeSettings!=null){if(typeof object.nodeSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");message.nodeSettings=$root.google.api.NodeSettings.fromObject(object.nodeSettings,long+1)}if(object.dotnetSettings!=null){if(typeof object.dotnetSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");message.dotnetSettings=$root.google.api.DotnetSettings.fromObject(object.dotnetSettings,long+1)}if(object.rubySettings!=null){if(typeof object.rubySettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");message.rubySettings=$root.google.api.RubySettings.fromObject(object.rubySettings,long+1)}if(object.goSettings!=null){if(typeof object.goSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");message.goSettings=$root.google.api.GoSettings.fromObject(object.goSettings,long+1)}return message};ClientLibrarySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.version="";object.launchStage=options.enums===String?"LAUNCH_STAGE_UNSPECIFIED":0;object.restNumericEnums=false;object.javaSettings=null;object.cppSettings=null;object.phpSettings=null;object.pythonSettings=null;object.nodeSettings=null;object.dotnetSettings=null;object.rubySettings=null;object.goSettings=null}if(message.version!=null&&message.hasOwnProperty("version"))object.version=message.version;if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))object.launchStage=options.enums===String?$root.google.api.LaunchStage[message.launchStage]===undefined?message.launchStage:$root.google.api.LaunchStage[message.launchStage]:message.launchStage;if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))object.restNumericEnums=message.restNumericEnums;if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings"))object.javaSettings=$root.google.api.JavaSettings.toObject(message.javaSettings,options);if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings"))object.cppSettings=$root.google.api.CppSettings.toObject(message.cppSettings,options);if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings"))object.phpSettings=$root.google.api.PhpSettings.toObject(message.phpSettings,options);if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings"))object.pythonSettings=$root.google.api.PythonSettings.toObject(message.pythonSettings,options);if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings"))object.nodeSettings=$root.google.api.NodeSettings.toObject(message.nodeSettings,options);if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings"))object.dotnetSettings=$root.google.api.DotnetSettings.toObject(message.dotnetSettings,options);if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings"))object.rubySettings=$root.google.api.RubySettings.toObject(message.rubySettings,options);if(message.goSettings!=null&&message.hasOwnProperty("goSettings"))object.goSettings=$root.google.api.GoSettings.toObject(message.goSettings,options);return object};ClientLibrarySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ClientLibrarySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.ClientLibrarySettings"};return ClientLibrarySettings}();api.Publishing=function(){function Publishing(properties){this.methodSettings=[];this.codeownerGithubTeams=[];this.librarySettings=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Publishing.prototype.methodSettings=$util.emptyArray;Publishing.prototype.newIssueUri="";Publishing.prototype.documentationUri="";Publishing.prototype.apiShortName="";Publishing.prototype.githubLabel="";Publishing.prototype.codeownerGithubTeams=$util.emptyArray;Publishing.prototype.docTagPrefix="";Publishing.prototype.organization=0;Publishing.prototype.librarySettings=$util.emptyArray;Publishing.prototype.protoReferenceDocumentationUri="";Publishing.prototype.restReferenceDocumentationUri="";Publishing.create=function create(properties){return new Publishing(properties)};Publishing.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.methodSettings!=null&&message.methodSettings.length)for(var i=0;i<message.methodSettings.length;++i)$root.google.api.MethodSettings.encode(message.methodSettings[i],writer.uint32(18).fork()).ldelim();if(message.newIssueUri!=null&&Object.hasOwnProperty.call(message,"newIssueUri"))writer.uint32(810).string(message.newIssueUri);if(message.documentationUri!=null&&Object.hasOwnProperty.call(message,"documentationUri"))writer.uint32(818).string(message.documentationUri);if(message.apiShortName!=null&&Object.hasOwnProperty.call(message,"apiShortName"))writer.uint32(826).string(message.apiShortName);if(message.githubLabel!=null&&Object.hasOwnProperty.call(message,"githubLabel"))writer.uint32(834).string(message.githubLabel);if(message.codeownerGithubTeams!=null&&message.codeownerGithubTeams.length)for(var i=0;i<message.codeownerGithubTeams.length;++i)writer.uint32(842).string(message.codeownerGithubTeams[i]);if(message.docTagPrefix!=null&&Object.hasOwnProperty.call(message,"docTagPrefix"))writer.uint32(850).string(message.docTagPrefix);if(message.organization!=null&&Object.hasOwnProperty.call(message,"organization"))writer.uint32(856).int32(message.organization);if(message.librarySettings!=null&&message.librarySettings.length)for(var i=0;i<message.librarySettings.length;++i)$root.google.api.ClientLibrarySettings.encode(message.librarySettings[i],writer.uint32(874).fork()).ldelim();if(message.protoReferenceDocumentationUri!=null&&Object.hasOwnProperty.call(message,"protoReferenceDocumentationUri"))writer.uint32(882).string(message.protoReferenceDocumentationUri);if(message.restReferenceDocumentationUri!=null&&Object.hasOwnProperty.call(message,"restReferenceDocumentationUri"))writer.uint32(890).string(message.restReferenceDocumentationUri);return writer};Publishing.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Publishing.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Publishing;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{if(!(message.methodSettings&&message.methodSettings.length))message.methodSettings=[];message.methodSettings.push($root.google.api.MethodSettings.decode(reader,reader.uint32(),undefined,long+1));break}case 101:{message.newIssueUri=reader.string();break}case 102:{message.documentationUri=reader.string();break}case 103:{message.apiShortName=reader.string();break}case 104:{message.githubLabel=reader.string();break}case 105:{if(!(message.codeownerGithubTeams&&message.codeownerGithubTeams.length))message.codeownerGithubTeams=[];message.codeownerGithubTeams.push(reader.string());break}case 106:{message.docTagPrefix=reader.string();break}case 107:{message.organization=reader.int32();break}case 109:{if(!(message.librarySettings&&message.librarySettings.length))message.librarySettings=[];message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader,reader.uint32(),undefined,long+1));break}case 110:{message.protoReferenceDocumentationUri=reader.string();break}case 111:{message.restReferenceDocumentationUri=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};Publishing.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Publishing.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methodSettings!=null&&message.hasOwnProperty("methodSettings")){if(!Array.isArray(message.methodSettings))return"methodSettings: array expected";for(var i=0;i<message.methodSettings.length;++i){var error=$root.google.api.MethodSettings.verify(message.methodSettings[i],long+1);if(error)return"methodSettings."+error}}if(message.newIssueUri!=null&&message.hasOwnProperty("newIssueUri"))if(!$util.isString(message.newIssueUri))return"newIssueUri: string expected";if(message.documentationUri!=null&&message.hasOwnProperty("documentationUri"))if(!$util.isString(message.documentationUri))return"documentationUri: string expected";if(message.apiShortName!=null&&message.hasOwnProperty("apiShortName"))if(!$util.isString(message.apiShortName))return"apiShortName: string expected";if(message.githubLabel!=null&&message.hasOwnProperty("githubLabel"))if(!$util.isString(message.githubLabel))return"githubLabel: string expected";if(message.codeownerGithubTeams!=null&&message.hasOwnProperty("codeownerGithubTeams")){if(!Array.isArray(message.codeownerGithubTeams))return"codeownerGithubTeams: array expected";for(var i=0;i<message.codeownerGithubTeams.length;++i)if(!$util.isString(message.codeownerGithubTeams[i]))return"codeownerGithubTeams: string[] expected"}if(message.docTagPrefix!=null&&message.hasOwnProperty("docTagPrefix"))if(!$util.isString(message.docTagPrefix))return"docTagPrefix: string expected";if(message.organization!=null&&message.hasOwnProperty("organization"))switch(message.organization){default:return"organization: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}if(message.librarySettings!=null&&message.hasOwnProperty("librarySettings")){if(!Array.isArray(message.librarySettings))return"librarySettings: array expected";for(var i=0;i<message.librarySettings.length;++i){var error=$root.google.api.ClientLibrarySettings.verify(message.librarySettings[i],long+1);if(error)return"librarySettings."+error}}if(message.protoReferenceDocumentationUri!=null&&message.hasOwnProperty("protoReferenceDocumentationUri"))if(!$util.isString(message.protoReferenceDocumentationUri))return"protoReferenceDocumentationUri: string expected";if(message.restReferenceDocumentationUri!=null&&message.hasOwnProperty("restReferenceDocumentationUri"))if(!$util.isString(message.restReferenceDocumentationUri))return"restReferenceDocumentationUri: string expected";return null};Publishing.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.Publishing)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Publishing;if(object.methodSettings){if(!Array.isArray(object.methodSettings))throw TypeError(".google.api.Publishing.methodSettings: array expected");message.methodSettings=[];for(var i=0;i<object.methodSettings.length;++i){if(typeof object.methodSettings[i]!=="object")throw TypeError(".google.api.Publishing.methodSettings: object expected");message.methodSettings[i]=$root.google.api.MethodSettings.fromObject(object.methodSettings[i],long+1)}}if(object.newIssueUri!=null)message.newIssueUri=String(object.newIssueUri);if(object.documentationUri!=null)message.documentationUri=String(object.documentationUri);if(object.apiShortName!=null)message.apiShortName=String(object.apiShortName);if(object.githubLabel!=null)message.githubLabel=String(object.githubLabel);if(object.codeownerGithubTeams){if(!Array.isArray(object.codeownerGithubTeams))throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected");message.codeownerGithubTeams=[];for(var i=0;i<object.codeownerGithubTeams.length;++i)message.codeownerGithubTeams[i]=String(object.codeownerGithubTeams[i])}if(object.docTagPrefix!=null)message.docTagPrefix=String(object.docTagPrefix);switch(object.organization){default:if(typeof object.organization==="number"){message.organization=object.organization;break}break;case"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":case 0:message.organization=0;break;case"CLOUD":case 1:message.organization=1;break;case"ADS":case 2:message.organization=2;break;case"PHOTOS":case 3:message.organization=3;break;case"STREET_VIEW":case 4:message.organization=4;break;case"SHOPPING":case 5:message.organization=5;break;case"GEO":case 6:message.organization=6;break;case"GENERATIVE_AI":case 7:message.organization=7;break}if(object.librarySettings){if(!Array.isArray(object.librarySettings))throw TypeError(".google.api.Publishing.librarySettings: array expected");message.librarySettings=[];for(var i=0;i<object.librarySettings.length;++i){if(typeof object.librarySettings[i]!=="object")throw TypeError(".google.api.Publishing.librarySettings: object expected");message.librarySettings[i]=$root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i],long+1)}}if(object.protoReferenceDocumentationUri!=null)message.protoReferenceDocumentationUri=String(object.protoReferenceDocumentationUri);if(object.restReferenceDocumentationUri!=null)message.restReferenceDocumentationUri=String(object.restReferenceDocumentationUri);return message};Publishing.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.methodSettings=[];object.codeownerGithubTeams=[];object.librarySettings=[]}if(options.defaults){object.newIssueUri="";object.documentationUri="";object.apiShortName="";object.githubLabel="";object.docTagPrefix="";object.organization=options.enums===String?"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0;object.protoReferenceDocumentationUri="";object.restReferenceDocumentationUri=""}if(message.methodSettings&&message.methodSettings.length){object.methodSettings=[];for(var j=0;j<message.methodSettings.length;++j)object.methodSettings[j]=$root.google.api.MethodSettings.toObject(message.methodSettings[j],options)}if(message.newIssueUri!=null&&message.hasOwnProperty("newIssueUri"))object.newIssueUri=message.newIssueUri;if(message.documentationUri!=null&&message.hasOwnProperty("documentationUri"))object.documentationUri=message.documentationUri;if(message.apiShortName!=null&&message.hasOwnProperty("apiShortName"))object.apiShortName=message.apiShortName;if(message.githubLabel!=null&&message.hasOwnProperty("githubLabel"))object.githubLabel=message.githubLabel;if(message.codeownerGithubTeams&&message.codeownerGithubTeams.length){object.codeownerGithubTeams=[];for(var j=0;j<message.codeownerGithubTeams.length;++j)object.codeownerGithubTeams[j]=message.codeownerGithubTeams[j]}if(message.docTagPrefix!=null&&message.hasOwnProperty("docTagPrefix"))object.docTagPrefix=message.docTagPrefix;if(message.organization!=null&&message.hasOwnProperty("organization"))object.organization=options.enums===String?$root.google.api.ClientLibraryOrganization[message.organization]===undefined?message.organization:$root.google.api.ClientLibraryOrganization[message.organization]:message.organization;if(message.librarySettings&&message.librarySettings.length){object.librarySettings=[];for(var j=0;j<message.librarySettings.length;++j)object.librarySettings[j]=$root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j],options)}if(message.protoReferenceDocumentationUri!=null&&message.hasOwnProperty("protoReferenceDocumentationUri"))object.protoReferenceDocumentationUri=message.protoReferenceDocumentationUri;if(message.restReferenceDocumentationUri!=null&&message.hasOwnProperty("restReferenceDocumentationUri"))object.restReferenceDocumentationUri=message.restReferenceDocumentationUri;return object};Publishing.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Publishing.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.Publishing"};return Publishing}();api.JavaSettings=function(){function JavaSettings(properties){this.serviceClassNames={};if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}JavaSettings.prototype.libraryPackage="";JavaSettings.prototype.serviceClassNames=$util.emptyObject;JavaSettings.prototype.common=null;JavaSettings.create=function create(properties){return new JavaSettings(properties)};JavaSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.libraryPackage!=null&&Object.hasOwnProperty.call(message,"libraryPackage"))writer.uint32(10).string(message.libraryPackage);if(message.serviceClassNames!=null&&Object.hasOwnProperty.call(message,"serviceClassNames"))for(var keys=Object.keys(message.serviceClassNames),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.serviceClassNames[keys[i]]).ldelim();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(26).fork()).ldelim();return writer};JavaSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};JavaSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.JavaSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.libraryPackage=reader.string();break}case 2:{if(message.serviceClassNames===$util.emptyObject)message.serviceClassNames={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.serviceClassNames,key);message.serviceClassNames[key]=value;break}case 3:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};JavaSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};JavaSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))if(!$util.isString(message.libraryPackage))return"libraryPackage: string expected";if(message.serviceClassNames!=null&&message.hasOwnProperty("serviceClassNames")){if(!$util.isObject(message.serviceClassNames))return"serviceClassNames: object expected";var key=Object.keys(message.serviceClassNames);for(var i=0;i<key.length;++i)if(!$util.isString(message.serviceClassNames[key[i]]))return"serviceClassNames: string{k:string} expected"}if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};JavaSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.JavaSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.JavaSettings;if(object.libraryPackage!=null)message.libraryPackage=String(object.libraryPackage);if(object.serviceClassNames){if(typeof object.serviceClassNames!=="object")throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");message.serviceClassNames={};for(var keys=Object.keys(object.serviceClassNames),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.serviceClassNames,keys[i]);message.serviceClassNames[keys[i]]=String(object.serviceClassNames[keys[i]])}}if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.JavaSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};JavaSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.objects||options.defaults)object.serviceClassNames={};if(options.defaults){object.libraryPackage="";object.common=null}if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))object.libraryPackage=message.libraryPackage;var keys2;if(message.serviceClassNames&&(keys2=Object.keys(message.serviceClassNames)).length){object.serviceClassNames={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.serviceClassNames,keys2[j]);object.serviceClassNames[keys2[j]]=message.serviceClassNames[keys2[j]]}}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};JavaSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};JavaSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.JavaSettings"};return JavaSettings}();api.CppSettings=function(){function CppSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}CppSettings.prototype.common=null;CppSettings.create=function create(properties){return new CppSettings(properties)};CppSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};CppSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};CppSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CppSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CppSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CppSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};CppSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CppSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CppSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.CppSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};CppSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};CppSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CppSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CppSettings"};return CppSettings}();api.PhpSettings=function(){function PhpSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}PhpSettings.prototype.common=null;PhpSettings.prototype.libraryPackage="";PhpSettings.create=function create(properties){return new PhpSettings(properties)};PhpSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.libraryPackage!=null&&Object.hasOwnProperty.call(message,"libraryPackage"))writer.uint32(18).string(message.libraryPackage);return writer};PhpSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};PhpSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PhpSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.libraryPackage=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};PhpSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PhpSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))if(!$util.isString(message.libraryPackage))return"libraryPackage: string expected";return null};PhpSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PhpSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PhpSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PhpSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.libraryPackage!=null)message.libraryPackage=String(object.libraryPackage);return message};PhpSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.common=null;object.libraryPackage=""}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))object.libraryPackage=message.libraryPackage;return object};PhpSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PhpSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PhpSettings"};return PhpSettings}();api.PythonSettings=function(){function PythonSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}PythonSettings.prototype.common=null;PythonSettings.prototype.experimentalFeatures=null;PythonSettings.create=function create(properties){return new PythonSettings(properties)};PythonSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.experimentalFeatures!=null&&Object.hasOwnProperty.call(message,"experimentalFeatures"))$root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures,writer.uint32(18).fork()).ldelim();return writer};PythonSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};PythonSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};PythonSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PythonSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures")){var error=$root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures,long+1);if(error)return"experimentalFeatures."+error}return null};PythonSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PythonSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.experimentalFeatures!=null){if(typeof object.experimentalFeatures!=="object")throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected");message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures,long+1)}return message};PythonSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.common=null;object.experimentalFeatures=null}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures"))object.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures,options);return object};PythonSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PythonSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings"};PythonSettings.ExperimentalFeatures=function(){function ExperimentalFeatures(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExperimentalFeatures.prototype.restAsyncIoEnabled=false;ExperimentalFeatures.prototype.protobufPythonicTypesEnabled=false;ExperimentalFeatures.prototype.unversionedPackageDisabled=false;ExperimentalFeatures.create=function create(properties){return new ExperimentalFeatures(properties)};ExperimentalFeatures.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.restAsyncIoEnabled!=null&&Object.hasOwnProperty.call(message,"restAsyncIoEnabled"))writer.uint32(8).bool(message.restAsyncIoEnabled);if(message.protobufPythonicTypesEnabled!=null&&Object.hasOwnProperty.call(message,"protobufPythonicTypesEnabled"))writer.uint32(16).bool(message.protobufPythonicTypesEnabled);if(message.unversionedPackageDisabled!=null&&Object.hasOwnProperty.call(message,"unversionedPackageDisabled"))writer.uint32(24).bool(message.unversionedPackageDisabled);return writer};ExperimentalFeatures.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExperimentalFeatures.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings.ExperimentalFeatures;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.restAsyncIoEnabled=reader.bool();break}case 2:{message.protobufPythonicTypesEnabled=reader.bool();break}case 3:{message.unversionedPackageDisabled=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};ExperimentalFeatures.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExperimentalFeatures.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))if(typeof message.restAsyncIoEnabled!=="boolean")return"restAsyncIoEnabled: boolean expected";if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))if(typeof message.protobufPythonicTypesEnabled!=="boolean")return"protobufPythonicTypesEnabled: boolean expected";if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))if(typeof message.unversionedPackageDisabled!=="boolean")return"unversionedPackageDisabled: boolean expected";return null};ExperimentalFeatures.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings.ExperimentalFeatures)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings.ExperimentalFeatures;if(object.restAsyncIoEnabled!=null)message.restAsyncIoEnabled=Boolean(object.restAsyncIoEnabled);if(object.protobufPythonicTypesEnabled!=null)message.protobufPythonicTypesEnabled=Boolean(object.protobufPythonicTypesEnabled);if(object.unversionedPackageDisabled!=null)message.unversionedPackageDisabled=Boolean(object.unversionedPackageDisabled);return message};ExperimentalFeatures.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.restAsyncIoEnabled=false;object.protobufPythonicTypesEnabled=false;object.unversionedPackageDisabled=false}if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))object.restAsyncIoEnabled=message.restAsyncIoEnabled;if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))object.protobufPythonicTypesEnabled=message.protobufPythonicTypesEnabled;if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))object.unversionedPackageDisabled=message.unversionedPackageDisabled;return object};ExperimentalFeatures.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExperimentalFeatures.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings.ExperimentalFeatures"};return ExperimentalFeatures}();return PythonSettings}();api.NodeSettings=function(){function NodeSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}NodeSettings.prototype.common=null;NodeSettings.create=function create(properties){return new NodeSettings(properties)};NodeSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};NodeSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};NodeSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.NodeSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};NodeSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NodeSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};NodeSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.NodeSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.NodeSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.NodeSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};NodeSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};NodeSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NodeSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.NodeSettings"};return NodeSettings}();api.DotnetSettings=function(){function DotnetSettings(properties){this.renamedServices={};this.renamedResources={};this.ignoredResources=[];this.forcedNamespaceAliases=[];this.handwrittenSignatures=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DotnetSettings.prototype.common=null;DotnetSettings.prototype.renamedServices=$util.emptyObject;DotnetSettings.prototype.renamedResources=$util.emptyObject;DotnetSettings.prototype.ignoredResources=$util.emptyArray;DotnetSettings.prototype.forcedNamespaceAliases=$util.emptyArray;DotnetSettings.prototype.handwrittenSignatures=$util.emptyArray;DotnetSettings.create=function create(properties){return new DotnetSettings(properties)};DotnetSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.renamedServices!=null&&Object.hasOwnProperty.call(message,"renamedServices"))for(var keys=Object.keys(message.renamedServices),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedServices[keys[i]]).ldelim();if(message.renamedResources!=null&&Object.hasOwnProperty.call(message,"renamedResources"))for(var keys=Object.keys(message.renamedResources),i=0;i<keys.length;++i)writer.uint32(26).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedResources[keys[i]]).ldelim();if(message.ignoredResources!=null&&message.ignoredResources.length)for(var i=0;i<message.ignoredResources.length;++i)writer.uint32(34).string(message.ignoredResources[i]);if(message.forcedNamespaceAliases!=null&&message.forcedNamespaceAliases.length)for(var i=0;i<message.forcedNamespaceAliases.length;++i)writer.uint32(42).string(message.forcedNamespaceAliases[i]);if(message.handwrittenSignatures!=null&&message.handwrittenSignatures.length)for(var i=0;i<message.handwrittenSignatures.length;++i)writer.uint32(50).string(message.handwrittenSignatures[i]);return writer};DotnetSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DotnetSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.DotnetSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}case 3:{if(message.renamedResources===$util.emptyObject)message.renamedResources={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedResources,key);message.renamedResources[key]=value;break}case 4:{if(!(message.ignoredResources&&message.ignoredResources.length))message.ignoredResources=[];message.ignoredResources.push(reader.string());break}case 5:{if(!(message.forcedNamespaceAliases&&message.forcedNamespaceAliases.length))message.forcedNamespaceAliases=[];message.forcedNamespaceAliases.push(reader.string());break}case 6:{if(!(message.handwrittenSignatures&&message.handwrittenSignatures.length))message.handwrittenSignatures=[];message.handwrittenSignatures.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};DotnetSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DotnetSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedServices[key[i]]))return"renamedServices: string{k:string} expected"}if(message.renamedResources!=null&&message.hasOwnProperty("renamedResources")){if(!$util.isObject(message.renamedResources))return"renamedResources: object expected";var key=Object.keys(message.renamedResources);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedResources[key[i]]))return"renamedResources: string{k:string} expected"}if(message.ignoredResources!=null&&message.hasOwnProperty("ignoredResources")){if(!Array.isArray(message.ignoredResources))return"ignoredResources: array expected";for(var i=0;i<message.ignoredResources.length;++i)if(!$util.isString(message.ignoredResources[i]))return"ignoredResources: string[] expected"}if(message.forcedNamespaceAliases!=null&&message.hasOwnProperty("forcedNamespaceAliases")){if(!Array.isArray(message.forcedNamespaceAliases))return"forcedNamespaceAliases: array expected";for(var i=0;i<message.forcedNamespaceAliases.length;++i)if(!$util.isString(message.forcedNamespaceAliases[i]))return"forcedNamespaceAliases: string[] expected"}if(message.handwrittenSignatures!=null&&message.hasOwnProperty("handwrittenSignatures")){if(!Array.isArray(message.handwrittenSignatures))return"handwrittenSignatures: array expected";for(var i=0;i<message.handwrittenSignatures.length;++i)if(!$util.isString(message.handwrittenSignatures[i]))return"handwrittenSignatures: string[] expected"}return null};DotnetSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.DotnetSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.DotnetSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.DotnetSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedServices,keys[i]);message.renamedServices[keys[i]]=String(object.renamedServices[keys[i]])}}if(object.renamedResources){if(typeof object.renamedResources!=="object")throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");message.renamedResources={};for(var keys=Object.keys(object.renamedResources),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedResources,keys[i]);message.renamedResources[keys[i]]=String(object.renamedResources[keys[i]])}}if(object.ignoredResources){if(!Array.isArray(object.ignoredResources))throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");message.ignoredResources=[];for(var i=0;i<object.ignoredResources.length;++i)message.ignoredResources[i]=String(object.ignoredResources[i])}if(object.forcedNamespaceAliases){if(!Array.isArray(object.forcedNamespaceAliases))throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");message.forcedNamespaceAliases=[];for(var i=0;i<object.forcedNamespaceAliases.length;++i)message.forcedNamespaceAliases[i]=String(object.forcedNamespaceAliases[i])}if(object.handwrittenSignatures){if(!Array.isArray(object.handwrittenSignatures))throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");message.handwrittenSignatures=[];for(var i=0;i<object.handwrittenSignatures.length;++i)message.handwrittenSignatures[i]=String(object.handwrittenSignatures[i])}return message};DotnetSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.ignoredResources=[];object.forcedNamespaceAliases=[];object.handwrittenSignatures=[]}if(options.objects||options.defaults){object.renamedServices={};object.renamedResources={}}if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);var keys2;if(message.renamedServices&&(keys2=Object.keys(message.renamedServices)).length){object.renamedServices={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedServices,keys2[j]);object.renamedServices[keys2[j]]=message.renamedServices[keys2[j]]}}if(message.renamedResources&&(keys2=Object.keys(message.renamedResources)).length){object.renamedResources={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedResources,keys2[j]);object.renamedResources[keys2[j]]=message.renamedResources[keys2[j]]}}if(message.ignoredResources&&message.ignoredResources.length){object.ignoredResources=[];for(var j=0;j<message.ignoredResources.length;++j)object.ignoredResources[j]=message.ignoredResources[j]}if(message.forcedNamespaceAliases&&message.forcedNamespaceAliases.length){object.forcedNamespaceAliases=[];for(var j=0;j<message.forcedNamespaceAliases.length;++j)object.forcedNamespaceAliases[j]=message.forcedNamespaceAliases[j]}if(message.handwrittenSignatures&&message.handwrittenSignatures.length){object.handwrittenSignatures=[];for(var j=0;j<message.handwrittenSignatures.length;++j)object.handwrittenSignatures[j]=message.handwrittenSignatures[j]}return object};DotnetSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DotnetSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.DotnetSettings"};return DotnetSettings}();api.RubySettings=function(){function RubySettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}RubySettings.prototype.common=null;RubySettings.create=function create(properties){return new RubySettings(properties)};RubySettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();return writer};RubySettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};RubySettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.RubySettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};RubySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RubySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};RubySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.RubySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.RubySettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.RubySettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};RubySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};RubySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RubySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.RubySettings"};return RubySettings}();api.GoSettings=function(){function GoSettings(properties){this.renamedServices={};if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GoSettings.prototype.common=null;GoSettings.prototype.renamedServices=$util.emptyObject;GoSettings.create=function create(properties){return new GoSettings(properties)};GoSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.common!=null&&Object.hasOwnProperty.call(message,"common"))$root.google.api.CommonLanguageSettings.encode(message.common,writer.uint32(10).fork()).ldelim();if(message.renamedServices!=null&&Object.hasOwnProperty.call(message,"renamedServices"))for(var keys=Object.keys(message.renamedServices),i=0;i<keys.length;++i)writer.uint32(18).fork().uint32(10).string(keys[i]).uint32(18).string(message.renamedServices[keys[i]]).ldelim();return writer};GoSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GoSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.GoSettings,key,value;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos<end2){var tag2=reader.uint32();switch(tag2>>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}default:reader.skipType(tag&7,long);break}}return message};GoSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GoSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i<key.length;++i)if(!$util.isString(message.renamedServices[key[i]]))return"renamedServices: string{k:string} expected"}return null};GoSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.GoSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.GoSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.GoSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.GoSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i<keys.length;++i){if(keys[i]==="__proto__")$util.makeProp(message.renamedServices,keys[i]);message.renamedServices[keys[i]]=String(object.renamedServices[keys[i]])}}return message};GoSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.objects||options.defaults)object.renamedServices={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);var keys2;if(message.renamedServices&&(keys2=Object.keys(message.renamedServices)).length){object.renamedServices={};for(var j=0;j<keys2.length;++j){if(keys2[j]==="__proto__")$util.makeProp(object.renamedServices,keys2[j]);object.renamedServices[keys2[j]]=message.renamedServices[keys2[j]]}}return object};GoSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GoSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.GoSettings"};return GoSettings}();api.MethodSettings=function(){function MethodSettings(properties){this.autoPopulatedFields=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodSettings.prototype.selector="";MethodSettings.prototype.longRunning=null;MethodSettings.prototype.autoPopulatedFields=$util.emptyArray;MethodSettings.prototype.batching=null;MethodSettings.create=function create(properties){return new MethodSettings(properties)};MethodSettings.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.selector!=null&&Object.hasOwnProperty.call(message,"selector"))writer.uint32(10).string(message.selector);if(message.longRunning!=null&&Object.hasOwnProperty.call(message,"longRunning"))$root.google.api.MethodSettings.LongRunning.encode(message.longRunning,writer.uint32(18).fork()).ldelim();if(message.autoPopulatedFields!=null&&message.autoPopulatedFields.length)for(var i=0;i<message.autoPopulatedFields.length;++i)writer.uint32(26).string(message.autoPopulatedFields[i]);if(message.batching!=null&&Object.hasOwnProperty.call(message,"batching"))$root.google.api.BatchingConfigProto.encode(message.batching,writer.uint32(34).fork()).ldelim();return writer};MethodSettings.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodSettings.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.selector=reader.string();break}case 2:{message.longRunning=$root.google.api.MethodSettings.LongRunning.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{if(!(message.autoPopulatedFields&&message.autoPopulatedFields.length))message.autoPopulatedFields=[];message.autoPopulatedFields.push(reader.string());break}case 4:{message.batching=$root.google.api.BatchingConfigProto.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};MethodSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.longRunning!=null&&message.hasOwnProperty("longRunning")){var error=$root.google.api.MethodSettings.LongRunning.verify(message.longRunning,long+1);if(error)return"longRunning."+error}if(message.autoPopulatedFields!=null&&message.hasOwnProperty("autoPopulatedFields")){if(!Array.isArray(message.autoPopulatedFields))return"autoPopulatedFields: array expected";for(var i=0;i<message.autoPopulatedFields.length;++i)if(!$util.isString(message.autoPopulatedFields[i]))return"autoPopulatedFields: string[] expected"}if(message.batching!=null&&message.hasOwnProperty("batching")){var error=$root.google.api.BatchingConfigProto.verify(message.batching,long+1);if(error)return"batching."+error}return null};MethodSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.MethodSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings;if(object.selector!=null)message.selector=String(object.selector);if(object.longRunning!=null){if(typeof object.longRunning!=="object")throw TypeError(".google.api.MethodSettings.longRunning: object expected");message.longRunning=$root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning,long+1)}if(object.autoPopulatedFields){if(!Array.isArray(object.autoPopulatedFields))throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");message.autoPopulatedFields=[];for(var i=0;i<object.autoPopulatedFields.length;++i)message.autoPopulatedFields[i]=String(object.autoPopulatedFields[i])}if(object.batching!=null){if(typeof object.batching!=="object")throw TypeError(".google.api.MethodSettings.batching: object expected");message.batching=$root.google.api.BatchingConfigProto.fromObject(object.batching,long+1)}return message};MethodSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.autoPopulatedFields=[];if(options.defaults){object.selector="";object.longRunning=null;object.batching=null}if(message.selector!=null&&message.hasOwnProperty("selector"))object.selector=message.selector;if(message.longRunning!=null&&message.hasOwnProperty("longRunning"))object.longRunning=$root.google.api.MethodSettings.LongRunning.toObject(message.longRunning,options);if(message.autoPopulatedFields&&message.autoPopulatedFields.length){object.autoPopulatedFields=[];for(var j=0;j<message.autoPopulatedFields.length;++j)object.autoPopulatedFields[j]=message.autoPopulatedFields[j]}if(message.batching!=null&&message.hasOwnProperty("batching"))object.batching=$root.google.api.BatchingConfigProto.toObject(message.batching,options);return object};MethodSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.MethodSettings"};MethodSettings.LongRunning=function(){function LongRunning(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LongRunning.prototype.initialPollDelay=null;LongRunning.prototype.pollDelayMultiplier=0;LongRunning.prototype.maxPollDelay=null;LongRunning.prototype.totalPollTimeout=null;LongRunning.create=function create(properties){return new LongRunning(properties)};LongRunning.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.initialPollDelay!=null&&Object.hasOwnProperty.call(message,"initialPollDelay"))$root.google.protobuf.Duration.encode(message.initialPollDelay,writer.uint32(10).fork()).ldelim();if(message.pollDelayMultiplier!=null&&Object.hasOwnProperty.call(message,"pollDelayMultiplier"))writer.uint32(21).float(message.pollDelayMultiplier);if(message.maxPollDelay!=null&&Object.hasOwnProperty.call(message,"maxPollDelay"))$root.google.protobuf.Duration.encode(message.maxPollDelay,writer.uint32(26).fork()).ldelim();if(message.totalPollTimeout!=null&&Object.hasOwnProperty.call(message,"totalPollTimeout"))$root.google.protobuf.Duration.encode(message.totalPollTimeout,writer.uint32(34).fork()).ldelim();return writer};LongRunning.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LongRunning.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings.LongRunning;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.initialPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.pollDelayMultiplier=reader.float();break}case 3:{message.maxPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.totalPollTimeout=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LongRunning.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LongRunning.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay")){var error=$root.google.protobuf.Duration.verify(message.initialPollDelay,long+1);if(error)return"initialPollDelay."+error}if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))if(typeof message.pollDelayMultiplier!=="number")return"pollDelayMultiplier: number expected";if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay")){var error=$root.google.protobuf.Duration.verify(message.maxPollDelay,long+1);if(error)return"maxPollDelay."+error}if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout")){var error=$root.google.protobuf.Duration.verify(message.totalPollTimeout,long+1);if(error)return"totalPollTimeout."+error}return null};LongRunning.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.MethodSettings.LongRunning)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings.LongRunning;if(object.initialPollDelay!=null){if(typeof object.initialPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");message.initialPollDelay=$root.google.protobuf.Duration.fromObject(object.initialPollDelay,long+1)}if(object.pollDelayMultiplier!=null)message.pollDelayMultiplier=Number(object.pollDelayMultiplier);if(object.maxPollDelay!=null){if(typeof object.maxPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");message.maxPollDelay=$root.google.protobuf.Duration.fromObject(object.maxPollDelay,long+1)}if(object.totalPollTimeout!=null){if(typeof object.totalPollTimeout!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");message.totalPollTimeout=$root.google.protobuf.Duration.fromObject(object.totalPollTimeout,long+1)}return message};LongRunning.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.initialPollDelay=null;object.pollDelayMultiplier=0;object.maxPollDelay=null;object.totalPollTimeout=null}if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay"))object.initialPollDelay=$root.google.protobuf.Duration.toObject(message.initialPollDelay,options);if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))object.pollDelayMultiplier=options.json&&!isFinite(message.pollDelayMultiplier)?String(message.pollDelayMultiplier):message.pollDelayMultiplier;if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay"))object.maxPollDelay=$root.google.protobuf.Duration.toObject(message.maxPollDelay,options);if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout"))object.totalPollTimeout=$root.google.protobuf.Duration.toObject(message.totalPollTimeout,options);return object};LongRunning.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LongRunning.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.MethodSettings.LongRunning"};return LongRunning}();return MethodSettings}();api.ClientLibraryOrganization=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"]=0;values[valuesById[1]="CLOUD"]=1;values[valuesById[2]="ADS"]=2;values[valuesById[3]="PHOTOS"]=3;values[valuesById[4]="STREET_VIEW"]=4;values[valuesById[5]="SHOPPING"]=5;values[valuesById[6]="GEO"]=6;values[valuesById[7]="GENERATIVE_AI"]=7;return values}();api.ClientLibraryDestination=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"]=0;values[valuesById[10]="GITHUB"]=10;values[valuesById[20]="PACKAGE_MANAGER"]=20;return values}();api.SelectiveGapicGeneration=function(){function SelectiveGapicGeneration(properties){this.methods=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SelectiveGapicGeneration.prototype.methods=$util.emptyArray;SelectiveGapicGeneration.prototype.generateOmittedAsInternal=false;SelectiveGapicGeneration.create=function create(properties){return new SelectiveGapicGeneration(properties)};SelectiveGapicGeneration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.methods!=null&&message.methods.length)for(var i=0;i<message.methods.length;++i)writer.uint32(10).string(message.methods[i]);if(message.generateOmittedAsInternal!=null&&Object.hasOwnProperty.call(message,"generateOmittedAsInternal"))writer.uint32(16).bool(message.generateOmittedAsInternal);return writer};SelectiveGapicGeneration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SelectiveGapicGeneration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.SelectiveGapicGeneration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.methods&&message.methods.length))message.methods=[];message.methods.push(reader.string());break}case 2:{message.generateOmittedAsInternal=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};SelectiveGapicGeneration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SelectiveGapicGeneration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methods!=null&&message.hasOwnProperty("methods")){if(!Array.isArray(message.methods))return"methods: array expected";for(var i=0;i<message.methods.length;++i)if(!$util.isString(message.methods[i]))return"methods: string[] expected"}if(message.generateOmittedAsInternal!=null&&message.hasOwnProperty("generateOmittedAsInternal"))if(typeof message.generateOmittedAsInternal!=="boolean")return"generateOmittedAsInternal: boolean expected";return null};SelectiveGapicGeneration.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.SelectiveGapicGeneration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.SelectiveGapicGeneration;if(object.methods){if(!Array.isArray(object.methods))throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected");message.methods=[];for(var i=0;i<object.methods.length;++i)message.methods[i]=String(object.methods[i])}if(object.generateOmittedAsInternal!=null)message.generateOmittedAsInternal=Boolean(object.generateOmittedAsInternal);return message};SelectiveGapicGeneration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.methods=[];if(options.defaults)object.generateOmittedAsInternal=false;if(message.methods&&message.methods.length){object.methods=[];for(var j=0;j<message.methods.length;++j)object.methods[j]=message.methods[j]}if(message.generateOmittedAsInternal!=null&&message.hasOwnProperty("generateOmittedAsInternal"))object.generateOmittedAsInternal=message.generateOmittedAsInternal;return object};SelectiveGapicGeneration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SelectiveGapicGeneration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.SelectiveGapicGeneration"};return SelectiveGapicGeneration}();api.BatchingConfigProto=function(){function BatchingConfigProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingConfigProto.prototype.thresholds=null;BatchingConfigProto.prototype.batchDescriptor=null;BatchingConfigProto.create=function create(properties){return new BatchingConfigProto(properties)};BatchingConfigProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.thresholds!=null&&Object.hasOwnProperty.call(message,"thresholds"))$root.google.api.BatchingSettingsProto.encode(message.thresholds,writer.uint32(10).fork()).ldelim();if(message.batchDescriptor!=null&&Object.hasOwnProperty.call(message,"batchDescriptor"))$root.google.api.BatchingDescriptorProto.encode(message.batchDescriptor,writer.uint32(18).fork()).ldelim();return writer};BatchingConfigProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingConfigProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingConfigProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.thresholds=$root.google.api.BatchingSettingsProto.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.batchDescriptor=$root.google.api.BatchingDescriptorProto.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};BatchingConfigProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingConfigProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.thresholds!=null&&message.hasOwnProperty("thresholds")){var error=$root.google.api.BatchingSettingsProto.verify(message.thresholds,long+1);if(error)return"thresholds."+error}if(message.batchDescriptor!=null&&message.hasOwnProperty("batchDescriptor")){var error=$root.google.api.BatchingDescriptorProto.verify(message.batchDescriptor,long+1);if(error)return"batchDescriptor."+error}return null};BatchingConfigProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingConfigProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingConfigProto;if(object.thresholds!=null){if(typeof object.thresholds!=="object")throw TypeError(".google.api.BatchingConfigProto.thresholds: object expected");message.thresholds=$root.google.api.BatchingSettingsProto.fromObject(object.thresholds,long+1)}if(object.batchDescriptor!=null){if(typeof object.batchDescriptor!=="object")throw TypeError(".google.api.BatchingConfigProto.batchDescriptor: object expected");message.batchDescriptor=$root.google.api.BatchingDescriptorProto.fromObject(object.batchDescriptor,long+1)}return message};BatchingConfigProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.thresholds=null;object.batchDescriptor=null}if(message.thresholds!=null&&message.hasOwnProperty("thresholds"))object.thresholds=$root.google.api.BatchingSettingsProto.toObject(message.thresholds,options);if(message.batchDescriptor!=null&&message.hasOwnProperty("batchDescriptor"))object.batchDescriptor=$root.google.api.BatchingDescriptorProto.toObject(message.batchDescriptor,options);return object};BatchingConfigProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingConfigProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingConfigProto"};return BatchingConfigProto}();api.BatchingSettingsProto=function(){function BatchingSettingsProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingSettingsProto.prototype.elementCountThreshold=0;BatchingSettingsProto.prototype.requestByteThreshold=$util.Long?$util.Long.fromBits(0,0,false):0;BatchingSettingsProto.prototype.delayThreshold=null;BatchingSettingsProto.prototype.elementCountLimit=0;BatchingSettingsProto.prototype.requestByteLimit=0;BatchingSettingsProto.prototype.flowControlElementLimit=0;BatchingSettingsProto.prototype.flowControlByteLimit=0;BatchingSettingsProto.prototype.flowControlLimitExceededBehavior=0;BatchingSettingsProto.create=function create(properties){return new BatchingSettingsProto(properties)};BatchingSettingsProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.elementCountThreshold!=null&&Object.hasOwnProperty.call(message,"elementCountThreshold"))writer.uint32(8).int32(message.elementCountThreshold);if(message.requestByteThreshold!=null&&Object.hasOwnProperty.call(message,"requestByteThreshold"))writer.uint32(16).int64(message.requestByteThreshold);if(message.delayThreshold!=null&&Object.hasOwnProperty.call(message,"delayThreshold"))$root.google.protobuf.Duration.encode(message.delayThreshold,writer.uint32(26).fork()).ldelim();if(message.elementCountLimit!=null&&Object.hasOwnProperty.call(message,"elementCountLimit"))writer.uint32(32).int32(message.elementCountLimit);if(message.requestByteLimit!=null&&Object.hasOwnProperty.call(message,"requestByteLimit"))writer.uint32(40).int32(message.requestByteLimit);if(message.flowControlElementLimit!=null&&Object.hasOwnProperty.call(message,"flowControlElementLimit"))writer.uint32(48).int32(message.flowControlElementLimit);if(message.flowControlByteLimit!=null&&Object.hasOwnProperty.call(message,"flowControlByteLimit"))writer.uint32(56).int32(message.flowControlByteLimit);if(message.flowControlLimitExceededBehavior!=null&&Object.hasOwnProperty.call(message,"flowControlLimitExceededBehavior"))writer.uint32(64).int32(message.flowControlLimitExceededBehavior);return writer};BatchingSettingsProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingSettingsProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingSettingsProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.elementCountThreshold=reader.int32();break}case 2:{message.requestByteThreshold=reader.int64();break}case 3:{message.delayThreshold=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.elementCountLimit=reader.int32();break}case 5:{message.requestByteLimit=reader.int32();break}case 6:{message.flowControlElementLimit=reader.int32();break}case 7:{message.flowControlByteLimit=reader.int32();break}case 8:{message.flowControlLimitExceededBehavior=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};BatchingSettingsProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingSettingsProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.elementCountThreshold!=null&&message.hasOwnProperty("elementCountThreshold"))if(!$util.isInteger(message.elementCountThreshold))return"elementCountThreshold: integer expected";if(message.requestByteThreshold!=null&&message.hasOwnProperty("requestByteThreshold"))if(!$util.isInteger(message.requestByteThreshold)&&!(message.requestByteThreshold&&$util.isInteger(message.requestByteThreshold.low)&&$util.isInteger(message.requestByteThreshold.high)))return"requestByteThreshold: integer|Long expected";if(message.delayThreshold!=null&&message.hasOwnProperty("delayThreshold")){var error=$root.google.protobuf.Duration.verify(message.delayThreshold,long+1);if(error)return"delayThreshold."+error}if(message.elementCountLimit!=null&&message.hasOwnProperty("elementCountLimit"))if(!$util.isInteger(message.elementCountLimit))return"elementCountLimit: integer expected";if(message.requestByteLimit!=null&&message.hasOwnProperty("requestByteLimit"))if(!$util.isInteger(message.requestByteLimit))return"requestByteLimit: integer expected";if(message.flowControlElementLimit!=null&&message.hasOwnProperty("flowControlElementLimit"))if(!$util.isInteger(message.flowControlElementLimit))return"flowControlElementLimit: integer expected";if(message.flowControlByteLimit!=null&&message.hasOwnProperty("flowControlByteLimit"))if(!$util.isInteger(message.flowControlByteLimit))return"flowControlByteLimit: integer expected";if(message.flowControlLimitExceededBehavior!=null&&message.hasOwnProperty("flowControlLimitExceededBehavior"))switch(message.flowControlLimitExceededBehavior){default:return"flowControlLimitExceededBehavior: enum value expected";case 0:case 1:case 2:case 3:break}return null};BatchingSettingsProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingSettingsProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingSettingsProto;if(object.elementCountThreshold!=null)message.elementCountThreshold=object.elementCountThreshold|0;if(object.requestByteThreshold!=null)if($util.Long)(message.requestByteThreshold=$util.Long.fromValue(object.requestByteThreshold)).unsigned=false;else if(typeof object.requestByteThreshold==="string")message.requestByteThreshold=parseInt(object.requestByteThreshold,10);else if(typeof object.requestByteThreshold==="number")message.requestByteThreshold=object.requestByteThreshold;else if(typeof object.requestByteThreshold==="object")message.requestByteThreshold=new $util.LongBits(object.requestByteThreshold.low>>>0,object.requestByteThreshold.high>>>0).toNumber();if(object.delayThreshold!=null){if(typeof object.delayThreshold!=="object")throw TypeError(".google.api.BatchingSettingsProto.delayThreshold: object expected");message.delayThreshold=$root.google.protobuf.Duration.fromObject(object.delayThreshold,long+1)}if(object.elementCountLimit!=null)message.elementCountLimit=object.elementCountLimit|0;if(object.requestByteLimit!=null)message.requestByteLimit=object.requestByteLimit|0;if(object.flowControlElementLimit!=null)message.flowControlElementLimit=object.flowControlElementLimit|0;if(object.flowControlByteLimit!=null)message.flowControlByteLimit=object.flowControlByteLimit|0;switch(object.flowControlLimitExceededBehavior){default:if(typeof object.flowControlLimitExceededBehavior==="number"){message.flowControlLimitExceededBehavior=object.flowControlLimitExceededBehavior;break}break;case"UNSET_BEHAVIOR":case 0:message.flowControlLimitExceededBehavior=0;break;case"THROW_EXCEPTION":case 1:message.flowControlLimitExceededBehavior=1;break;case"BLOCK":case 2:message.flowControlLimitExceededBehavior=2;break;case"IGNORE":case 3:message.flowControlLimitExceededBehavior=3;break}return message};BatchingSettingsProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.elementCountThreshold=0;if($util.Long){var long=new $util.Long(0,0,false);object.requestByteThreshold=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.requestByteThreshold=options.longs===String?"0":0;object.delayThreshold=null;object.elementCountLimit=0;object.requestByteLimit=0;object.flowControlElementLimit=0;object.flowControlByteLimit=0;object.flowControlLimitExceededBehavior=options.enums===String?"UNSET_BEHAVIOR":0}if(message.elementCountThreshold!=null&&message.hasOwnProperty("elementCountThreshold"))object.elementCountThreshold=message.elementCountThreshold;if(message.requestByteThreshold!=null&&message.hasOwnProperty("requestByteThreshold"))if(typeof message.requestByteThreshold==="number")object.requestByteThreshold=options.longs===String?String(message.requestByteThreshold):message.requestByteThreshold;else object.requestByteThreshold=options.longs===String?$util.Long.prototype.toString.call(message.requestByteThreshold):options.longs===Number?new $util.LongBits(message.requestByteThreshold.low>>>0,message.requestByteThreshold.high>>>0).toNumber():message.requestByteThreshold;if(message.delayThreshold!=null&&message.hasOwnProperty("delayThreshold"))object.delayThreshold=$root.google.protobuf.Duration.toObject(message.delayThreshold,options);if(message.elementCountLimit!=null&&message.hasOwnProperty("elementCountLimit"))object.elementCountLimit=message.elementCountLimit;if(message.requestByteLimit!=null&&message.hasOwnProperty("requestByteLimit"))object.requestByteLimit=message.requestByteLimit;if(message.flowControlElementLimit!=null&&message.hasOwnProperty("flowControlElementLimit"))object.flowControlElementLimit=message.flowControlElementLimit;if(message.flowControlByteLimit!=null&&message.hasOwnProperty("flowControlByteLimit"))object.flowControlByteLimit=message.flowControlByteLimit;if(message.flowControlLimitExceededBehavior!=null&&message.hasOwnProperty("flowControlLimitExceededBehavior"))object.flowControlLimitExceededBehavior=options.enums===String?$root.google.api.FlowControlLimitExceededBehaviorProto[message.flowControlLimitExceededBehavior]===undefined?message.flowControlLimitExceededBehavior:$root.google.api.FlowControlLimitExceededBehaviorProto[message.flowControlLimitExceededBehavior]:message.flowControlLimitExceededBehavior;return object};BatchingSettingsProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingSettingsProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingSettingsProto"};return BatchingSettingsProto}();api.FlowControlLimitExceededBehaviorProto=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="UNSET_BEHAVIOR"]=0;values[valuesById[1]="THROW_EXCEPTION"]=1;values[valuesById[2]="BLOCK"]=2;values[valuesById[3]="IGNORE"]=3;return values}();api.BatchingDescriptorProto=function(){function BatchingDescriptorProto(properties){this.discriminatorFields=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}BatchingDescriptorProto.prototype.batchedField="";BatchingDescriptorProto.prototype.discriminatorFields=$util.emptyArray;BatchingDescriptorProto.prototype.subresponseField="";BatchingDescriptorProto.create=function create(properties){return new BatchingDescriptorProto(properties)};BatchingDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.batchedField!=null&&Object.hasOwnProperty.call(message,"batchedField"))writer.uint32(10).string(message.batchedField);if(message.discriminatorFields!=null&&message.discriminatorFields.length)for(var i=0;i<message.discriminatorFields.length;++i)writer.uint32(18).string(message.discriminatorFields[i]);if(message.subresponseField!=null&&Object.hasOwnProperty.call(message,"subresponseField"))writer.uint32(26).string(message.subresponseField);return writer};BatchingDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};BatchingDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.BatchingDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.batchedField=reader.string();break}case 2:{if(!(message.discriminatorFields&&message.discriminatorFields.length))message.discriminatorFields=[];message.discriminatorFields.push(reader.string());break}case 3:{message.subresponseField=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};BatchingDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};BatchingDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.batchedField!=null&&message.hasOwnProperty("batchedField"))if(!$util.isString(message.batchedField))return"batchedField: string expected";if(message.discriminatorFields!=null&&message.hasOwnProperty("discriminatorFields")){if(!Array.isArray(message.discriminatorFields))return"discriminatorFields: array expected";for(var i=0;i<message.discriminatorFields.length;++i)if(!$util.isString(message.discriminatorFields[i]))return"discriminatorFields: string[] expected"}if(message.subresponseField!=null&&message.hasOwnProperty("subresponseField"))if(!$util.isString(message.subresponseField))return"subresponseField: string expected";return null};BatchingDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.BatchingDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.BatchingDescriptorProto;if(object.batchedField!=null)message.batchedField=String(object.batchedField);if(object.discriminatorFields){if(!Array.isArray(object.discriminatorFields))throw TypeError(".google.api.BatchingDescriptorProto.discriminatorFields: array expected");message.discriminatorFields=[];for(var i=0;i<object.discriminatorFields.length;++i)message.discriminatorFields[i]=String(object.discriminatorFields[i])}if(object.subresponseField!=null)message.subresponseField=String(object.subresponseField);return message};BatchingDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.discriminatorFields=[];if(options.defaults){object.batchedField="";object.subresponseField=""}if(message.batchedField!=null&&message.hasOwnProperty("batchedField"))object.batchedField=message.batchedField;if(message.discriminatorFields&&message.discriminatorFields.length){object.discriminatorFields=[];for(var j=0;j<message.discriminatorFields.length;++j)object.discriminatorFields[j]=message.discriminatorFields[j]}if(message.subresponseField!=null&&message.hasOwnProperty("subresponseField"))object.subresponseField=message.subresponseField;return object};BatchingDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};BatchingDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.BatchingDescriptorProto"};return BatchingDescriptorProto}();api.LaunchStage=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="LAUNCH_STAGE_UNSPECIFIED"]=0;values[valuesById[6]="UNIMPLEMENTED"]=6;values[valuesById[7]="PRELAUNCH"]=7;values[valuesById[1]="EARLY_ACCESS"]=1;values[valuesById[2]="ALPHA"]=2;values[valuesById[3]="BETA"]=3;values[valuesById[4]="GA"]=4;values[valuesById[5]="DEPRECATED"]=5;return values}();api.FieldBehavior=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="FIELD_BEHAVIOR_UNSPECIFIED"]=0;values[valuesById[1]="OPTIONAL"]=1;values[valuesById[2]="REQUIRED"]=2;values[valuesById[3]="OUTPUT_ONLY"]=3;values[valuesById[4]="INPUT_ONLY"]=4;values[valuesById[5]="IMMUTABLE"]=5;values[valuesById[6]="UNORDERED_LIST"]=6;values[valuesById[7]="NON_EMPTY_DEFAULT"]=7;values[valuesById[8]="IDENTIFIER"]=8;return values}();api.HttpBody=function(){function HttpBody(properties){this.extensions=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}HttpBody.prototype.contentType="";HttpBody.prototype.data=$util.newBuffer([]);HttpBody.prototype.extensions=$util.emptyArray;HttpBody.create=function create(properties){return new HttpBody(properties)};HttpBody.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.contentType!=null&&Object.hasOwnProperty.call(message,"contentType"))writer.uint32(10).string(message.contentType);if(message.data!=null&&Object.hasOwnProperty.call(message,"data"))writer.uint32(18).bytes(message.data);if(message.extensions!=null&&message.extensions.length)for(var i=0;i<message.extensions.length;++i)$root.google.protobuf.Any.encode(message.extensions[i],writer.uint32(26).fork()).ldelim();return writer};HttpBody.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};HttpBody.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.HttpBody;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.contentType=reader.string();break}case 2:{message.data=reader.bytes();break}case 3:{if(!(message.extensions&&message.extensions.length))message.extensions=[];message.extensions.push($root.google.protobuf.Any.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};HttpBody.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};HttpBody.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.contentType!=null&&message.hasOwnProperty("contentType"))if(!$util.isString(message.contentType))return"contentType: string expected";if(message.data!=null&&message.hasOwnProperty("data"))if(!(message.data&&typeof message.data.length==="number"||$util.isString(message.data)))return"data: buffer expected";if(message.extensions!=null&&message.hasOwnProperty("extensions")){if(!Array.isArray(message.extensions))return"extensions: array expected";for(var i=0;i<message.extensions.length;++i){var error=$root.google.protobuf.Any.verify(message.extensions[i],long+1);if(error)return"extensions."+error}}return null};HttpBody.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.HttpBody)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.HttpBody;if(object.contentType!=null)message.contentType=String(object.contentType);if(object.data!=null)if(typeof object.data==="string")$util.base64.decode(object.data,message.data=$util.newBuffer($util.base64.length(object.data)),0);else if(object.data.length>=0)message.data=object.data;if(object.extensions){if(!Array.isArray(object.extensions))throw TypeError(".google.api.HttpBody.extensions: array expected");message.extensions=[];for(var i=0;i<object.extensions.length;++i){if(typeof object.extensions[i]!=="object")throw TypeError(".google.api.HttpBody.extensions: object expected");message.extensions[i]=$root.google.protobuf.Any.fromObject(object.extensions[i],long+1)}}return message};HttpBody.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.extensions=[];if(options.defaults){object.contentType="";if(options.bytes===String)object.data="";else{object.data=[];if(options.bytes!==Array)object.data=$util.newBuffer(object.data)}}if(message.contentType!=null&&message.hasOwnProperty("contentType"))object.contentType=message.contentType;if(message.data!=null&&message.hasOwnProperty("data"))object.data=options.bytes===String?$util.base64.encode(message.data,0,message.data.length):options.bytes===Array?Array.prototype.slice.call(message.data):message.data;if(message.extensions&&message.extensions.length){object.extensions=[];for(var j=0;j<message.extensions.length;++j)object.extensions[j]=$root.google.protobuf.Any.toObject(message.extensions[j],options)}return object};HttpBody.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};HttpBody.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.HttpBody"};return HttpBody}();return api}();google.protobuf=function(){var protobuf={};protobuf.FileDescriptorSet=function(){function FileDescriptorSet(properties){this.file=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileDescriptorSet.prototype.file=$util.emptyArray;FileDescriptorSet.create=function create(properties){return new FileDescriptorSet(properties)};FileDescriptorSet.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.file!=null&&message.file.length)for(var i=0;i<message.file.length;++i)$root.google.protobuf.FileDescriptorProto.encode(message.file[i],writer.uint32(10).fork()).ldelim();return writer};FileDescriptorSet.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileDescriptorSet.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorSet;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.file&&message.file.length))message.file=[];message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileDescriptorSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileDescriptorSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.file!=null&&message.hasOwnProperty("file")){if(!Array.isArray(message.file))return"file: array expected";for(var i=0;i<message.file.length;++i){var error=$root.google.protobuf.FileDescriptorProto.verify(message.file[i],long+1);if(error)return"file."+error}}return null};FileDescriptorSet.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileDescriptorSet)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorSet;if(object.file){if(!Array.isArray(object.file))throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");message.file=[];for(var i=0;i<object.file.length;++i){if(typeof object.file[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");message.file[i]=$root.google.protobuf.FileDescriptorProto.fromObject(object.file[i],long+1)}}return message};FileDescriptorSet.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.file=[];if(message.file&&message.file.length){object.file=[];for(var j=0;j<message.file.length;++j)object.file[j]=$root.google.protobuf.FileDescriptorProto.toObject(message.file[j],options)}return object};FileDescriptorSet.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileDescriptorSet.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileDescriptorSet"};return FileDescriptorSet}();protobuf.Edition=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="EDITION_UNKNOWN"]=0;values[valuesById[900]="EDITION_LEGACY"]=900;values[valuesById[998]="EDITION_PROTO2"]=998;values[valuesById[999]="EDITION_PROTO3"]=999;values[valuesById[1e3]="EDITION_2023"]=1e3;values[valuesById[1001]="EDITION_2024"]=1001;values[valuesById[1002]="EDITION_2026"]=1002;values[valuesById[9999]="EDITION_UNSTABLE"]=9999;values[valuesById[1]="EDITION_1_TEST_ONLY"]=1;values[valuesById[2]="EDITION_2_TEST_ONLY"]=2;values[valuesById[99997]="EDITION_99997_TEST_ONLY"]=99997;values[valuesById[99998]="EDITION_99998_TEST_ONLY"]=99998;values[valuesById[99999]="EDITION_99999_TEST_ONLY"]=99999;values[valuesById[2147483647]="EDITION_MAX"]=2147483647;return values}();protobuf.FileDescriptorProto=function(){function FileDescriptorProto(properties){this.dependency=[];this.publicDependency=[];this.weakDependency=[];this.optionDependency=[];this.messageType=[];this.enumType=[];this.service=[];this.extension=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileDescriptorProto.prototype.name="";FileDescriptorProto.prototype["package"]="";FileDescriptorProto.prototype.dependency=$util.emptyArray;FileDescriptorProto.prototype.publicDependency=$util.emptyArray;FileDescriptorProto.prototype.weakDependency=$util.emptyArray;FileDescriptorProto.prototype.optionDependency=$util.emptyArray;FileDescriptorProto.prototype.messageType=$util.emptyArray;FileDescriptorProto.prototype.enumType=$util.emptyArray;FileDescriptorProto.prototype.service=$util.emptyArray;FileDescriptorProto.prototype.extension=$util.emptyArray;FileDescriptorProto.prototype.options=null;FileDescriptorProto.prototype.sourceCodeInfo=null;FileDescriptorProto.prototype.syntax="";FileDescriptorProto.prototype.edition=0;FileDescriptorProto.create=function create(properties){return new FileDescriptorProto(properties)};FileDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message["package"]!=null&&Object.hasOwnProperty.call(message,"package"))writer.uint32(18).string(message["package"]);if(message.dependency!=null&&message.dependency.length)for(var i=0;i<message.dependency.length;++i)writer.uint32(26).string(message.dependency[i]);if(message.messageType!=null&&message.messageType.length)for(var i=0;i<message.messageType.length;++i)$root.google.protobuf.DescriptorProto.encode(message.messageType[i],writer.uint32(34).fork()).ldelim();if(message.enumType!=null&&message.enumType.length)for(var i=0;i<message.enumType.length;++i)$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i],writer.uint32(42).fork()).ldelim();if(message.service!=null&&message.service.length)for(var i=0;i<message.service.length;++i)$root.google.protobuf.ServiceDescriptorProto.encode(message.service[i],writer.uint32(50).fork()).ldelim();if(message.extension!=null&&message.extension.length)for(var i=0;i<message.extension.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i],writer.uint32(58).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.FileOptions.encode(message.options,writer.uint32(66).fork()).ldelim();if(message.sourceCodeInfo!=null&&Object.hasOwnProperty.call(message,"sourceCodeInfo"))$root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo,writer.uint32(74).fork()).ldelim();if(message.publicDependency!=null&&message.publicDependency.length)for(var i=0;i<message.publicDependency.length;++i)writer.uint32(80).int32(message.publicDependency[i]);if(message.weakDependency!=null&&message.weakDependency.length)for(var i=0;i<message.weakDependency.length;++i)writer.uint32(88).int32(message.weakDependency[i]);if(message.syntax!=null&&Object.hasOwnProperty.call(message,"syntax"))writer.uint32(98).string(message.syntax);if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(112).int32(message.edition);if(message.optionDependency!=null&&message.optionDependency.length)for(var i=0;i<message.optionDependency.length;++i)writer.uint32(122).string(message.optionDependency[i]);return writer};FileDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message["package"]=reader.string();break}case 3:{if(!(message.dependency&&message.dependency.length))message.dependency=[];message.dependency.push(reader.string());break}case 10:{if(!(message.publicDependency&&message.publicDependency.length))message.publicDependency=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.publicDependency.push(reader.int32())}else message.publicDependency.push(reader.int32());break}case 11:{if(!(message.weakDependency&&message.weakDependency.length))message.weakDependency=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.weakDependency.push(reader.int32())}else message.weakDependency.push(reader.int32());break}case 15:{if(!(message.optionDependency&&message.optionDependency.length))message.optionDependency=[];message.optionDependency.push(reader.string());break}case 4:{if(!(message.messageType&&message.messageType.length))message.messageType=[];message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.enumType&&message.enumType.length))message.enumType=[];message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 6:{if(!(message.service&&message.service.length))message.service=[];message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{if(!(message.extension&&message.extension.length))message.extension=[];message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{message.options=$root.google.protobuf.FileOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{message.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.decode(reader,reader.uint32(),undefined,long+1);break}case 12:{message.syntax=reader.string();break}case 14:{message.edition=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FileDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message["package"]!=null&&message.hasOwnProperty("package"))if(!$util.isString(message["package"]))return"package: string expected";if(message.dependency!=null&&message.hasOwnProperty("dependency")){if(!Array.isArray(message.dependency))return"dependency: array expected";for(var i=0;i<message.dependency.length;++i)if(!$util.isString(message.dependency[i]))return"dependency: string[] expected"}if(message.publicDependency!=null&&message.hasOwnProperty("publicDependency")){if(!Array.isArray(message.publicDependency))return"publicDependency: array expected";for(var i=0;i<message.publicDependency.length;++i)if(!$util.isInteger(message.publicDependency[i]))return"publicDependency: integer[] expected"}if(message.weakDependency!=null&&message.hasOwnProperty("weakDependency")){if(!Array.isArray(message.weakDependency))return"weakDependency: array expected";for(var i=0;i<message.weakDependency.length;++i)if(!$util.isInteger(message.weakDependency[i]))return"weakDependency: integer[] expected"}if(message.optionDependency!=null&&message.hasOwnProperty("optionDependency")){if(!Array.isArray(message.optionDependency))return"optionDependency: array expected";for(var i=0;i<message.optionDependency.length;++i)if(!$util.isString(message.optionDependency[i]))return"optionDependency: string[] expected"}if(message.messageType!=null&&message.hasOwnProperty("messageType")){if(!Array.isArray(message.messageType))return"messageType: array expected";for(var i=0;i<message.messageType.length;++i){var error=$root.google.protobuf.DescriptorProto.verify(message.messageType[i],long+1);if(error)return"messageType."+error}}if(message.enumType!=null&&message.hasOwnProperty("enumType")){if(!Array.isArray(message.enumType))return"enumType: array expected";for(var i=0;i<message.enumType.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i],long+1);if(error)return"enumType."+error}}if(message.service!=null&&message.hasOwnProperty("service")){if(!Array.isArray(message.service))return"service: array expected";for(var i=0;i<message.service.length;++i){var error=$root.google.protobuf.ServiceDescriptorProto.verify(message.service[i],long+1);if(error)return"service."+error}}if(message.extension!=null&&message.hasOwnProperty("extension")){if(!Array.isArray(message.extension))return"extension: array expected";for(var i=0;i<message.extension.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.extension[i],long+1);if(error)return"extension."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.FileOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.sourceCodeInfo!=null&&message.hasOwnProperty("sourceCodeInfo")){var error=$root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo,long+1);if(error)return"sourceCodeInfo."+error}if(message.syntax!=null&&message.hasOwnProperty("syntax"))if(!$util.isString(message.syntax))return"syntax: string expected";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}return null};FileDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object["package"]!=null)message["package"]=String(object["package"]);if(object.dependency){if(!Array.isArray(object.dependency))throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");message.dependency=[];for(var i=0;i<object.dependency.length;++i)message.dependency[i]=String(object.dependency[i])}if(object.publicDependency){if(!Array.isArray(object.publicDependency))throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");message.publicDependency=[];for(var i=0;i<object.publicDependency.length;++i)message.publicDependency[i]=object.publicDependency[i]|0}if(object.weakDependency){if(!Array.isArray(object.weakDependency))throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");message.weakDependency=[];for(var i=0;i<object.weakDependency.length;++i)message.weakDependency[i]=object.weakDependency[i]|0}if(object.optionDependency){if(!Array.isArray(object.optionDependency))throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected");message.optionDependency=[];for(var i=0;i<object.optionDependency.length;++i)message.optionDependency[i]=String(object.optionDependency[i])}if(object.messageType){if(!Array.isArray(object.messageType))throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");message.messageType=[];for(var i=0;i<object.messageType.length;++i){if(typeof object.messageType[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");message.messageType[i]=$root.google.protobuf.DescriptorProto.fromObject(object.messageType[i],long+1)}}if(object.enumType){if(!Array.isArray(object.enumType))throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");message.enumType=[];for(var i=0;i<object.enumType.length;++i){if(typeof object.enumType[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");message.enumType[i]=$root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i],long+1)}}if(object.service){if(!Array.isArray(object.service))throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");message.service=[];for(var i=0;i<object.service.length;++i){if(typeof object.service[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");message.service[i]=$root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i],long+1)}}if(object.extension){if(!Array.isArray(object.extension))throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");message.extension=[];for(var i=0;i<object.extension.length;++i){if(typeof object.extension[i]!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");message.extension[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");message.options=$root.google.protobuf.FileOptions.fromObject(object.options,long+1)}if(object.sourceCodeInfo!=null){if(typeof object.sourceCodeInfo!=="object")throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");message.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo,long+1)}if(object.syntax!=null)message.syntax=String(object.syntax);switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}return message};FileDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.dependency=[];object.messageType=[];object.enumType=[];object.service=[];object.extension=[];object.publicDependency=[];object.weakDependency=[];object.optionDependency=[]}if(options.defaults){object.name="";object["package"]="";object.options=null;object.sourceCodeInfo=null;object.syntax="";object.edition=options.enums===String?"EDITION_UNKNOWN":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message["package"]!=null&&message.hasOwnProperty("package"))object["package"]=message["package"];if(message.dependency&&message.dependency.length){object.dependency=[];for(var j=0;j<message.dependency.length;++j)object.dependency[j]=message.dependency[j]}if(message.messageType&&message.messageType.length){object.messageType=[];for(var j=0;j<message.messageType.length;++j)object.messageType[j]=$root.google.protobuf.DescriptorProto.toObject(message.messageType[j],options)}if(message.enumType&&message.enumType.length){object.enumType=[];for(var j=0;j<message.enumType.length;++j)object.enumType[j]=$root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j],options)}if(message.service&&message.service.length){object.service=[];for(var j=0;j<message.service.length;++j)object.service[j]=$root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j],options)}if(message.extension&&message.extension.length){object.extension=[];for(var j=0;j<message.extension.length;++j)object.extension[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.FileOptions.toObject(message.options,options);if(message.sourceCodeInfo!=null&&message.hasOwnProperty("sourceCodeInfo"))object.sourceCodeInfo=$root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo,options);if(message.publicDependency&&message.publicDependency.length){object.publicDependency=[];for(var j=0;j<message.publicDependency.length;++j)object.publicDependency[j]=message.publicDependency[j]}if(message.weakDependency&&message.weakDependency.length){object.weakDependency=[];for(var j=0;j<message.weakDependency.length;++j)object.weakDependency[j]=message.weakDependency[j]}if(message.syntax!=null&&message.hasOwnProperty("syntax"))object.syntax=message.syntax;if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;if(message.optionDependency&&message.optionDependency.length){object.optionDependency=[];for(var j=0;j<message.optionDependency.length;++j)object.optionDependency[j]=message.optionDependency[j]}return object};FileDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileDescriptorProto"};return FileDescriptorProto}();protobuf.DescriptorProto=function(){function DescriptorProto(properties){this.field=[];this.extension=[];this.nestedType=[];this.enumType=[];this.extensionRange=[];this.oneofDecl=[];this.reservedRange=[];this.reservedName=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}DescriptorProto.prototype.name="";DescriptorProto.prototype.field=$util.emptyArray;DescriptorProto.prototype.extension=$util.emptyArray;DescriptorProto.prototype.nestedType=$util.emptyArray;DescriptorProto.prototype.enumType=$util.emptyArray;DescriptorProto.prototype.extensionRange=$util.emptyArray;DescriptorProto.prototype.oneofDecl=$util.emptyArray;DescriptorProto.prototype.options=null;DescriptorProto.prototype.reservedRange=$util.emptyArray;DescriptorProto.prototype.reservedName=$util.emptyArray;DescriptorProto.prototype.visibility=0;DescriptorProto.create=function create(properties){return new DescriptorProto(properties)};DescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.field!=null&&message.field.length)for(var i=0;i<message.field.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.field[i],writer.uint32(18).fork()).ldelim();if(message.nestedType!=null&&message.nestedType.length)for(var i=0;i<message.nestedType.length;++i)$root.google.protobuf.DescriptorProto.encode(message.nestedType[i],writer.uint32(26).fork()).ldelim();if(message.enumType!=null&&message.enumType.length)for(var i=0;i<message.enumType.length;++i)$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i],writer.uint32(34).fork()).ldelim();if(message.extensionRange!=null&&message.extensionRange.length)for(var i=0;i<message.extensionRange.length;++i)$root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i],writer.uint32(42).fork()).ldelim();if(message.extension!=null&&message.extension.length)for(var i=0;i<message.extension.length;++i)$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i],writer.uint32(50).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.MessageOptions.encode(message.options,writer.uint32(58).fork()).ldelim();if(message.oneofDecl!=null&&message.oneofDecl.length)for(var i=0;i<message.oneofDecl.length;++i)$root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i],writer.uint32(66).fork()).ldelim();if(message.reservedRange!=null&&message.reservedRange.length)for(var i=0;i<message.reservedRange.length;++i)$root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i],writer.uint32(74).fork()).ldelim();if(message.reservedName!=null&&message.reservedName.length)for(var i=0;i<message.reservedName.length;++i)writer.uint32(82).string(message.reservedName[i]);if(message.visibility!=null&&Object.hasOwnProperty.call(message,"visibility"))writer.uint32(88).int32(message.visibility);return writer};DescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};DescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.field&&message.field.length))message.field=[];message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 6:{if(!(message.extension&&message.extension.length))message.extension=[];message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{if(!(message.nestedType&&message.nestedType.length))message.nestedType=[];message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{if(!(message.enumType&&message.enumType.length))message.enumType=[];message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.extensionRange&&message.extensionRange.length))message.extensionRange=[];message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{if(!(message.oneofDecl&&message.oneofDecl.length))message.oneofDecl=[];message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{message.options=$root.google.protobuf.MessageOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 10:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 11:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};DescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.field!=null&&message.hasOwnProperty("field")){if(!Array.isArray(message.field))return"field: array expected";for(var i=0;i<message.field.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.field[i],long+1);if(error)return"field."+error}}if(message.extension!=null&&message.hasOwnProperty("extension")){if(!Array.isArray(message.extension))return"extension: array expected";for(var i=0;i<message.extension.length;++i){var error=$root.google.protobuf.FieldDescriptorProto.verify(message.extension[i],long+1);if(error)return"extension."+error}}if(message.nestedType!=null&&message.hasOwnProperty("nestedType")){if(!Array.isArray(message.nestedType))return"nestedType: array expected";for(var i=0;i<message.nestedType.length;++i){var error=$root.google.protobuf.DescriptorProto.verify(message.nestedType[i],long+1);if(error)return"nestedType."+error}}if(message.enumType!=null&&message.hasOwnProperty("enumType")){if(!Array.isArray(message.enumType))return"enumType: array expected";for(var i=0;i<message.enumType.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i],long+1);if(error)return"enumType."+error}}if(message.extensionRange!=null&&message.hasOwnProperty("extensionRange")){if(!Array.isArray(message.extensionRange))return"extensionRange: array expected";for(var i=0;i<message.extensionRange.length;++i){var error=$root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i],long+1);if(error)return"extensionRange."+error}}if(message.oneofDecl!=null&&message.hasOwnProperty("oneofDecl")){if(!Array.isArray(message.oneofDecl))return"oneofDecl: array expected";for(var i=0;i<message.oneofDecl.length;++i){var error=$root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i],long+1);if(error)return"oneofDecl."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.MessageOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.reservedRange!=null&&message.hasOwnProperty("reservedRange")){if(!Array.isArray(message.reservedRange))return"reservedRange: array expected";for(var i=0;i<message.reservedRange.length;++i){var error=$root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i],long+1);if(error)return"reservedRange."+error}}if(message.reservedName!=null&&message.hasOwnProperty("reservedName")){if(!Array.isArray(message.reservedName))return"reservedName: array expected";for(var i=0;i<message.reservedName.length;++i)if(!$util.isString(message.reservedName[i]))return"reservedName: string[] expected"}if(message.visibility!=null&&message.hasOwnProperty("visibility"))switch(message.visibility){default:return"visibility: enum value expected";case 0:case 1:case 2:break}return null};DescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.field){if(!Array.isArray(object.field))throw TypeError(".google.protobuf.DescriptorProto.field: array expected");message.field=[];for(var i=0;i<object.field.length;++i){if(typeof object.field[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.field: object expected");message.field[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i],long+1)}}if(object.extension){if(!Array.isArray(object.extension))throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");message.extension=[];for(var i=0;i<object.extension.length;++i){if(typeof object.extension[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");message.extension[i]=$root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i],long+1)}}if(object.nestedType){if(!Array.isArray(object.nestedType))throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");message.nestedType=[];for(var i=0;i<object.nestedType.length;++i){if(typeof object.nestedType[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");message.nestedType[i]=$root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i],long+1)}}if(object.enumType){if(!Array.isArray(object.enumType))throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");message.enumType=[];for(var i=0;i<object.enumType.length;++i){if(typeof object.enumType[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");message.enumType[i]=$root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i],long+1)}}if(object.extensionRange){if(!Array.isArray(object.extensionRange))throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");message.extensionRange=[];for(var i=0;i<object.extensionRange.length;++i){if(typeof object.extensionRange[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");message.extensionRange[i]=$root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i],long+1)}}if(object.oneofDecl){if(!Array.isArray(object.oneofDecl))throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");message.oneofDecl=[];for(var i=0;i<object.oneofDecl.length;++i){if(typeof object.oneofDecl[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");message.oneofDecl[i]=$root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.DescriptorProto.options: object expected");message.options=$root.google.protobuf.MessageOptions.fromObject(object.options,long+1)}if(object.reservedRange){if(!Array.isArray(object.reservedRange))throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");message.reservedRange=[];for(var i=0;i<object.reservedRange.length;++i){if(typeof object.reservedRange[i]!=="object")throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");message.reservedRange[i]=$root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i],long+1)}}if(object.reservedName){if(!Array.isArray(object.reservedName))throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");message.reservedName=[];for(var i=0;i<object.reservedName.length;++i)message.reservedName[i]=String(object.reservedName[i])}switch(object.visibility){default:if(typeof object.visibility==="number"){message.visibility=object.visibility;break}break;case"VISIBILITY_UNSET":case 0:message.visibility=0;break;case"VISIBILITY_LOCAL":case 1:message.visibility=1;break;case"VISIBILITY_EXPORT":case 2:message.visibility=2;break}return message};DescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.field=[];object.nestedType=[];object.enumType=[];object.extensionRange=[];object.extension=[];object.oneofDecl=[];object.reservedRange=[];object.reservedName=[]}if(options.defaults){object.name="";object.options=null;object.visibility=options.enums===String?"VISIBILITY_UNSET":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.field&&message.field.length){object.field=[];for(var j=0;j<message.field.length;++j)object.field[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.field[j],options)}if(message.nestedType&&message.nestedType.length){object.nestedType=[];for(var j=0;j<message.nestedType.length;++j)object.nestedType[j]=$root.google.protobuf.DescriptorProto.toObject(message.nestedType[j],options)}if(message.enumType&&message.enumType.length){object.enumType=[];for(var j=0;j<message.enumType.length;++j)object.enumType[j]=$root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j],options)}if(message.extensionRange&&message.extensionRange.length){object.extensionRange=[];for(var j=0;j<message.extensionRange.length;++j)object.extensionRange[j]=$root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j],options)}if(message.extension&&message.extension.length){object.extension=[];for(var j=0;j<message.extension.length;++j)object.extension[j]=$root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.MessageOptions.toObject(message.options,options);if(message.oneofDecl&&message.oneofDecl.length){object.oneofDecl=[];for(var j=0;j<message.oneofDecl.length;++j)object.oneofDecl[j]=$root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j],options)}if(message.reservedRange&&message.reservedRange.length){object.reservedRange=[];for(var j=0;j<message.reservedRange.length;++j)object.reservedRange[j]=$root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j],options)}if(message.reservedName&&message.reservedName.length){object.reservedName=[];for(var j=0;j<message.reservedName.length;++j)object.reservedName[j]=message.reservedName[j]}if(message.visibility!=null&&message.hasOwnProperty("visibility"))object.visibility=options.enums===String?$root.google.protobuf.SymbolVisibility[message.visibility]===undefined?message.visibility:$root.google.protobuf.SymbolVisibility[message.visibility]:message.visibility;return object};DescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};DescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto"};DescriptorProto.ExtensionRange=function(){function ExtensionRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExtensionRange.prototype.start=0;ExtensionRange.prototype.end=0;ExtensionRange.prototype.options=null;ExtensionRange.create=function create(properties){return new ExtensionRange(properties)};ExtensionRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.ExtensionRangeOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};ExtensionRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExtensionRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ExtensionRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}case 3:{message.options=$root.google.protobuf.ExtensionRangeOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.ExtensionRangeOptions.verify(message.options,long+1);if(error)return"options."+error}return null};ExtensionRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ExtensionRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");message.options=$root.google.protobuf.ExtensionRangeOptions.fromObject(object.options,long+1)}return message};ExtensionRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0;object.options=null}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.ExtensionRangeOptions.toObject(message.options,options);return object};ExtensionRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExtensionRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ExtensionRange"};return ExtensionRange}();DescriptorProto.ReservedRange=function(){function ReservedRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ReservedRange.prototype.start=0;ReservedRange.prototype.end=0;ReservedRange.create=function create(properties){return new ReservedRange(properties)};ReservedRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);return writer};ReservedRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ReservedRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ReservedRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};ReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};ReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};ReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ReservedRange"};return ReservedRange}();return DescriptorProto}();protobuf.ExtensionRangeOptions=function(){function ExtensionRangeOptions(properties){this.uninterpretedOption=[];this.declaration=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ExtensionRangeOptions.prototype.uninterpretedOption=$util.emptyArray;ExtensionRangeOptions.prototype.declaration=$util.emptyArray;ExtensionRangeOptions.prototype.features=null;ExtensionRangeOptions.prototype.verification=1;ExtensionRangeOptions.create=function create(properties){return new ExtensionRangeOptions(properties)};ExtensionRangeOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.declaration!=null&&message.declaration.length)for(var i=0;i<message.declaration.length;++i)$root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i],writer.uint32(18).fork()).ldelim();if(message.verification!=null&&Object.hasOwnProperty.call(message,"verification"))writer.uint32(24).int32(message.verification);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(402).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};ExtensionRangeOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ExtensionRangeOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{if(!(message.declaration&&message.declaration.length))message.declaration=[];message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader,reader.uint32(),undefined,long+1));break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.verification=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRangeOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRangeOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message.declaration!=null&&message.hasOwnProperty("declaration")){if(!Array.isArray(message.declaration))return"declaration: array expected";for(var i=0;i<message.declaration.length;++i){var error=$root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i],long+1);if(error)return"declaration."+error}}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.verification!=null&&message.hasOwnProperty("verification"))switch(message.verification){default:return"verification: enum value expected";case 0:case 1:break}return null};ExtensionRangeOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ExtensionRangeOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions;if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object.declaration){if(!Array.isArray(object.declaration))throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");message.declaration=[];for(var i=0;i<object.declaration.length;++i){if(typeof object.declaration[i]!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");message.declaration[i]=$root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i],long+1)}}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}switch(object.verification){case"DECLARATION":case 0:message.verification=0;break;default:if(typeof object.verification==="number"){message.verification=object.verification;break}break;case"UNVERIFIED":case 1:message.verification=1;break}return message};ExtensionRangeOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.declaration=[];object.uninterpretedOption=[]}if(options.defaults){object.verification=options.enums===String?"UNVERIFIED":1;object.features=null}if(message.declaration&&message.declaration.length){object.declaration=[];for(var j=0;j<message.declaration.length;++j)object.declaration[j]=$root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j],options)}if(message.verification!=null&&message.hasOwnProperty("verification"))object.verification=options.enums===String?$root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification]===undefined?message.verification:$root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification]:message.verification;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};ExtensionRangeOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExtensionRangeOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ExtensionRangeOptions"};ExtensionRangeOptions.Declaration=function(){function Declaration(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Declaration.prototype.number=0;Declaration.prototype.fullName="";Declaration.prototype.type="";Declaration.prototype.reserved=false;Declaration.prototype.repeated=false;Declaration.create=function create(properties){return new Declaration(properties)};Declaration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(8).int32(message.number);if(message.fullName!=null&&Object.hasOwnProperty.call(message,"fullName"))writer.uint32(18).string(message.fullName);if(message.type!=null&&Object.hasOwnProperty.call(message,"type"))writer.uint32(26).string(message.type);if(message.reserved!=null&&Object.hasOwnProperty.call(message,"reserved"))writer.uint32(40).bool(message.reserved);if(message.repeated!=null&&Object.hasOwnProperty.call(message,"repeated"))writer.uint32(48).bool(message.repeated);return writer};Declaration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Declaration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.number=reader.int32();break}case 2:{message.fullName=reader.string();break}case 3:{message.type=reader.string();break}case 5:{message.reserved=reader.bool();break}case 6:{message.repeated=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Declaration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Declaration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.fullName!=null&&message.hasOwnProperty("fullName"))if(!$util.isString(message.fullName))return"fullName: string expected";if(message.type!=null&&message.hasOwnProperty("type"))if(!$util.isString(message.type))return"type: string expected";if(message.reserved!=null&&message.hasOwnProperty("reserved"))if(typeof message.reserved!=="boolean")return"reserved: boolean expected";if(message.repeated!=null&&message.hasOwnProperty("repeated"))if(typeof message.repeated!=="boolean")return"repeated: boolean expected";return null};Declaration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;if(object.number!=null)message.number=object.number|0;if(object.fullName!=null)message.fullName=String(object.fullName);if(object.type!=null)message.type=String(object.type);if(object.reserved!=null)message.reserved=Boolean(object.reserved);if(object.repeated!=null)message.repeated=Boolean(object.repeated);return message};Declaration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.number=0;object.fullName="";object.type="";object.reserved=false;object.repeated=false}if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.fullName!=null&&message.hasOwnProperty("fullName"))object.fullName=message.fullName;if(message.type!=null&&message.hasOwnProperty("type"))object.type=message.type;if(message.reserved!=null&&message.hasOwnProperty("reserved"))object.reserved=message.reserved;if(message.repeated!=null&&message.hasOwnProperty("repeated"))object.repeated=message.repeated;return object};Declaration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Declaration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ExtensionRangeOptions.Declaration"};return Declaration}();ExtensionRangeOptions.VerificationState=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DECLARATION"]=0;values[valuesById[1]="UNVERIFIED"]=1;return values}();return ExtensionRangeOptions}();protobuf.FieldDescriptorProto=function(){function FieldDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FieldDescriptorProto.prototype.name="";FieldDescriptorProto.prototype.number=0;FieldDescriptorProto.prototype.label=1;FieldDescriptorProto.prototype.type=1;FieldDescriptorProto.prototype.typeName="";FieldDescriptorProto.prototype.extendee="";FieldDescriptorProto.prototype.defaultValue="";FieldDescriptorProto.prototype.oneofIndex=0;FieldDescriptorProto.prototype.jsonName="";FieldDescriptorProto.prototype.options=null;FieldDescriptorProto.prototype.proto3Optional=false;FieldDescriptorProto.create=function create(properties){return new FieldDescriptorProto(properties)};FieldDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.extendee!=null&&Object.hasOwnProperty.call(message,"extendee"))writer.uint32(18).string(message.extendee);if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(24).int32(message.number);if(message.label!=null&&Object.hasOwnProperty.call(message,"label"))writer.uint32(32).int32(message.label);if(message.type!=null&&Object.hasOwnProperty.call(message,"type"))writer.uint32(40).int32(message.type);if(message.typeName!=null&&Object.hasOwnProperty.call(message,"typeName"))writer.uint32(50).string(message.typeName);if(message.defaultValue!=null&&Object.hasOwnProperty.call(message,"defaultValue"))writer.uint32(58).string(message.defaultValue);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.FieldOptions.encode(message.options,writer.uint32(66).fork()).ldelim();if(message.oneofIndex!=null&&Object.hasOwnProperty.call(message,"oneofIndex"))writer.uint32(72).int32(message.oneofIndex);if(message.jsonName!=null&&Object.hasOwnProperty.call(message,"jsonName"))writer.uint32(82).string(message.jsonName);if(message.proto3Optional!=null&&Object.hasOwnProperty.call(message,"proto3Optional"))writer.uint32(136).bool(message.proto3Optional);return writer};FieldDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FieldDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 3:{message.number=reader.int32();break}case 4:{message.label=reader.int32();break}case 5:{message.type=reader.int32();break}case 6:{message.typeName=reader.string();break}case 2:{message.extendee=reader.string();break}case 7:{message.defaultValue=reader.string();break}case 9:{message.oneofIndex=reader.int32();break}case 10:{message.jsonName=reader.string();break}case 8:{message.options=$root.google.protobuf.FieldOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 17:{message.proto3Optional=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};FieldDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FieldDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.label!=null&&message.hasOwnProperty("label"))switch(message.label){default:return"label: enum value expected";case 1:case 3:case 2:break}if(message.type!=null&&message.hasOwnProperty("type"))switch(message.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:break}if(message.typeName!=null&&message.hasOwnProperty("typeName"))if(!$util.isString(message.typeName))return"typeName: string expected";if(message.extendee!=null&&message.hasOwnProperty("extendee"))if(!$util.isString(message.extendee))return"extendee: string expected";if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))if(!$util.isString(message.defaultValue))return"defaultValue: string expected";if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))if(!$util.isInteger(message.oneofIndex))return"oneofIndex: integer expected";if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))if(!$util.isString(message.jsonName))return"jsonName: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.FieldOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))if(typeof message.proto3Optional!=="boolean")return"proto3Optional: boolean expected";return null};FieldDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;switch(object.label){default:if(typeof object.label==="number"){message.label=object.label;break}break;case"LABEL_OPTIONAL":case 1:message.label=1;break;case"LABEL_REPEATED":case 3:message.label=3;break;case"LABEL_REQUIRED":case 2:message.label=2;break}switch(object.type){default:if(typeof object.type==="number"){message.type=object.type;break}break;case"TYPE_DOUBLE":case 1:message.type=1;break;case"TYPE_FLOAT":case 2:message.type=2;break;case"TYPE_INT64":case 3:message.type=3;break;case"TYPE_UINT64":case 4:message.type=4;break;case"TYPE_INT32":case 5:message.type=5;break;case"TYPE_FIXED64":case 6:message.type=6;break;case"TYPE_FIXED32":case 7:message.type=7;break;case"TYPE_BOOL":case 8:message.type=8;break;case"TYPE_STRING":case 9:message.type=9;break;case"TYPE_GROUP":case 10:message.type=10;break;case"TYPE_MESSAGE":case 11:message.type=11;break;case"TYPE_BYTES":case 12:message.type=12;break;case"TYPE_UINT32":case 13:message.type=13;break;case"TYPE_ENUM":case 14:message.type=14;break;case"TYPE_SFIXED32":case 15:message.type=15;break;case"TYPE_SFIXED64":case 16:message.type=16;break;case"TYPE_SINT32":case 17:message.type=17;break;case"TYPE_SINT64":case 18:message.type=18;break}if(object.typeName!=null)message.typeName=String(object.typeName);if(object.extendee!=null)message.extendee=String(object.extendee);if(object.defaultValue!=null)message.defaultValue=String(object.defaultValue);if(object.oneofIndex!=null)message.oneofIndex=object.oneofIndex|0;if(object.jsonName!=null)message.jsonName=String(object.jsonName);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");message.options=$root.google.protobuf.FieldOptions.fromObject(object.options,long+1)}if(object.proto3Optional!=null)message.proto3Optional=Boolean(object.proto3Optional);return message};FieldDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.extendee="";object.number=0;object.label=options.enums===String?"LABEL_OPTIONAL":1;object.type=options.enums===String?"TYPE_DOUBLE":1;object.typeName="";object.defaultValue="";object.options=null;object.oneofIndex=0;object.jsonName="";object.proto3Optional=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.extendee!=null&&message.hasOwnProperty("extendee"))object.extendee=message.extendee;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.label!=null&&message.hasOwnProperty("label"))object.label=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Label[message.label]===undefined?message.label:$root.google.protobuf.FieldDescriptorProto.Label[message.label]:message.label;if(message.type!=null&&message.hasOwnProperty("type"))object.type=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Type[message.type]===undefined?message.type:$root.google.protobuf.FieldDescriptorProto.Type[message.type]:message.type;if(message.typeName!=null&&message.hasOwnProperty("typeName"))object.typeName=message.typeName;if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))object.defaultValue=message.defaultValue;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.FieldOptions.toObject(message.options,options);if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))object.oneofIndex=message.oneofIndex;if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))object.jsonName=message.jsonName;if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))object.proto3Optional=message.proto3Optional;return object};FieldDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FieldDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldDescriptorProto"};FieldDescriptorProto.Type=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="TYPE_DOUBLE"]=1;values[valuesById[2]="TYPE_FLOAT"]=2;values[valuesById[3]="TYPE_INT64"]=3;values[valuesById[4]="TYPE_UINT64"]=4;values[valuesById[5]="TYPE_INT32"]=5;values[valuesById[6]="TYPE_FIXED64"]=6;values[valuesById[7]="TYPE_FIXED32"]=7;values[valuesById[8]="TYPE_BOOL"]=8;values[valuesById[9]="TYPE_STRING"]=9;values[valuesById[10]="TYPE_GROUP"]=10;values[valuesById[11]="TYPE_MESSAGE"]=11;values[valuesById[12]="TYPE_BYTES"]=12;values[valuesById[13]="TYPE_UINT32"]=13;values[valuesById[14]="TYPE_ENUM"]=14;values[valuesById[15]="TYPE_SFIXED32"]=15;values[valuesById[16]="TYPE_SFIXED64"]=16;values[valuesById[17]="TYPE_SINT32"]=17;values[valuesById[18]="TYPE_SINT64"]=18;return values}();FieldDescriptorProto.Label=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="LABEL_OPTIONAL"]=1;values[valuesById[3]="LABEL_REPEATED"]=3;values[valuesById[2]="LABEL_REQUIRED"]=2;return values}();return FieldDescriptorProto}();protobuf.OneofDescriptorProto=function(){function OneofDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}OneofDescriptorProto.prototype.name="";OneofDescriptorProto.prototype.options=null;OneofDescriptorProto.create=function create(properties){return new OneofDescriptorProto(properties)};OneofDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.OneofOptions.encode(message.options,writer.uint32(18).fork()).ldelim();return writer};OneofDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};OneofDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.options=$root.google.protobuf.OneofOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};OneofDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.OneofOptions.verify(message.options,long+1);if(error)return"options."+error}return null};OneofDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.OneofDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");message.options=$root.google.protobuf.OneofOptions.fromObject(object.options,long+1)}return message};OneofDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.OneofOptions.toObject(message.options,options);return object};OneofDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};OneofDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.OneofDescriptorProto"};return OneofDescriptorProto}();protobuf.EnumDescriptorProto=function(){function EnumDescriptorProto(properties){this.value=[];this.reservedRange=[];this.reservedName=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumDescriptorProto.prototype.name="";EnumDescriptorProto.prototype.value=$util.emptyArray;EnumDescriptorProto.prototype.options=null;EnumDescriptorProto.prototype.reservedRange=$util.emptyArray;EnumDescriptorProto.prototype.reservedName=$util.emptyArray;EnumDescriptorProto.prototype.visibility=0;EnumDescriptorProto.create=function create(properties){return new EnumDescriptorProto(properties)};EnumDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.value!=null&&message.value.length)for(var i=0;i<message.value.length;++i)$root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i],writer.uint32(18).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.EnumOptions.encode(message.options,writer.uint32(26).fork()).ldelim();if(message.reservedRange!=null&&message.reservedRange.length)for(var i=0;i<message.reservedRange.length;++i)$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i],writer.uint32(34).fork()).ldelim();if(message.reservedName!=null&&message.reservedName.length)for(var i=0;i<message.reservedName.length;++i)writer.uint32(42).string(message.reservedName[i]);if(message.visibility!=null&&Object.hasOwnProperty.call(message,"visibility"))writer.uint32(48).int32(message.visibility);return writer};EnumDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.value&&message.value.length))message.value=[];message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.EnumOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 6:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.value!=null&&message.hasOwnProperty("value")){if(!Array.isArray(message.value))return"value: array expected";for(var i=0;i<message.value.length;++i){var error=$root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i],long+1);if(error)return"value."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.EnumOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.reservedRange!=null&&message.hasOwnProperty("reservedRange")){if(!Array.isArray(message.reservedRange))return"reservedRange: array expected";for(var i=0;i<message.reservedRange.length;++i){var error=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i],long+1);if(error)return"reservedRange."+error}}if(message.reservedName!=null&&message.hasOwnProperty("reservedName")){if(!Array.isArray(message.reservedName))return"reservedName: array expected";for(var i=0;i<message.reservedName.length;++i)if(!$util.isString(message.reservedName[i]))return"reservedName: string[] expected"}if(message.visibility!=null&&message.hasOwnProperty("visibility"))switch(message.visibility){default:return"visibility: enum value expected";case 0:case 1:case 2:break}return null};EnumDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.value){if(!Array.isArray(object.value))throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");message.value=[];for(var i=0;i<object.value.length;++i){if(typeof object.value[i]!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");message.value[i]=$root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");message.options=$root.google.protobuf.EnumOptions.fromObject(object.options,long+1)}if(object.reservedRange){if(!Array.isArray(object.reservedRange))throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");message.reservedRange=[];for(var i=0;i<object.reservedRange.length;++i){if(typeof object.reservedRange[i]!=="object")throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");message.reservedRange[i]=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i],long+1)}}if(object.reservedName){if(!Array.isArray(object.reservedName))throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");message.reservedName=[];for(var i=0;i<object.reservedName.length;++i)message.reservedName[i]=String(object.reservedName[i])}switch(object.visibility){default:if(typeof object.visibility==="number"){message.visibility=object.visibility;break}break;case"VISIBILITY_UNSET":case 0:message.visibility=0;break;case"VISIBILITY_LOCAL":case 1:message.visibility=1;break;case"VISIBILITY_EXPORT":case 2:message.visibility=2;break}return message};EnumDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.value=[];object.reservedRange=[];object.reservedName=[]}if(options.defaults){object.name="";object.options=null;object.visibility=options.enums===String?"VISIBILITY_UNSET":0}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.value&&message.value.length){object.value=[];for(var j=0;j<message.value.length;++j)object.value[j]=$root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.EnumOptions.toObject(message.options,options);if(message.reservedRange&&message.reservedRange.length){object.reservedRange=[];for(var j=0;j<message.reservedRange.length;++j)object.reservedRange[j]=$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j],options)}if(message.reservedName&&message.reservedName.length){object.reservedName=[];for(var j=0;j<message.reservedName.length;++j)object.reservedName[j]=message.reservedName[j]}if(message.visibility!=null&&message.hasOwnProperty("visibility"))object.visibility=options.enums===String?$root.google.protobuf.SymbolVisibility[message.visibility]===undefined?message.visibility:$root.google.protobuf.SymbolVisibility[message.visibility]:message.visibility;return object};EnumDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumDescriptorProto"};EnumDescriptorProto.EnumReservedRange=function(){function EnumReservedRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumReservedRange.prototype.start=0;EnumReservedRange.prototype.end=0;EnumReservedRange.create=function create(properties){return new EnumReservedRange(properties)};EnumReservedRange.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.start!=null&&Object.hasOwnProperty.call(message,"start"))writer.uint32(8).int32(message.start);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(16).int32(message.end);return writer};EnumReservedRange.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumReservedRange.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};EnumReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};EnumReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};EnumReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumDescriptorProto.EnumReservedRange"};return EnumReservedRange}();return EnumDescriptorProto}();protobuf.EnumValueDescriptorProto=function(){function EnumValueDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumValueDescriptorProto.prototype.name="";EnumValueDescriptorProto.prototype.number=0;EnumValueDescriptorProto.prototype.options=null;EnumValueDescriptorProto.create=function create(properties){return new EnumValueDescriptorProto(properties)};EnumValueDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.number!=null&&Object.hasOwnProperty.call(message,"number"))writer.uint32(16).int32(message.number);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.EnumValueOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};EnumValueDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumValueDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.number=reader.int32();break}case 3:{message.options=$root.google.protobuf.EnumValueOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};EnumValueDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.EnumValueOptions.verify(message.options,long+1);if(error)return"options."+error}return null};EnumValueDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumValueDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");message.options=$root.google.protobuf.EnumValueOptions.fromObject(object.options,long+1)}return message};EnumValueDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.number=0;object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.EnumValueOptions.toObject(message.options,options);return object};EnumValueDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumValueDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumValueDescriptorProto"};return EnumValueDescriptorProto}();protobuf.ServiceDescriptorProto=function(){function ServiceDescriptorProto(properties){this.method=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ServiceDescriptorProto.prototype.name="";ServiceDescriptorProto.prototype.method=$util.emptyArray;ServiceDescriptorProto.prototype.options=null;ServiceDescriptorProto.create=function create(properties){return new ServiceDescriptorProto(properties)};ServiceDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.method!=null&&message.method.length)for(var i=0;i<message.method.length;++i)$root.google.protobuf.MethodDescriptorProto.encode(message.method[i],writer.uint32(18).fork()).ldelim();if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.ServiceOptions.encode(message.options,writer.uint32(26).fork()).ldelim();return writer};ServiceDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ServiceDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.method&&message.method.length))message.method=[];message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.ServiceOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ServiceDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.method!=null&&message.hasOwnProperty("method")){if(!Array.isArray(message.method))return"method: array expected";for(var i=0;i<message.method.length;++i){var error=$root.google.protobuf.MethodDescriptorProto.verify(message.method[i],long+1);if(error)return"method."+error}}if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.ServiceOptions.verify(message.options,long+1);if(error)return"options."+error}return null};ServiceDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ServiceDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.method){if(!Array.isArray(object.method))throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");message.method=[];for(var i=0;i<object.method.length;++i){if(typeof object.method[i]!=="object")throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");message.method[i]=$root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i],long+1)}}if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");message.options=$root.google.protobuf.ServiceOptions.fromObject(object.options,long+1)}return message};ServiceDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.method=[];if(options.defaults){object.name="";object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.method&&message.method.length){object.method=[];for(var j=0;j<message.method.length;++j)object.method[j]=$root.google.protobuf.MethodDescriptorProto.toObject(message.method[j],options)}if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.ServiceOptions.toObject(message.options,options);return object};ServiceDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ServiceDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ServiceDescriptorProto"};return ServiceDescriptorProto}();protobuf.MethodDescriptorProto=function(){function MethodDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodDescriptorProto.prototype.name="";MethodDescriptorProto.prototype.inputType="";MethodDescriptorProto.prototype.outputType="";MethodDescriptorProto.prototype.options=null;MethodDescriptorProto.prototype.clientStreaming=false;MethodDescriptorProto.prototype.serverStreaming=false;MethodDescriptorProto.create=function create(properties){return new MethodDescriptorProto(properties)};MethodDescriptorProto.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&Object.hasOwnProperty.call(message,"name"))writer.uint32(10).string(message.name);if(message.inputType!=null&&Object.hasOwnProperty.call(message,"inputType"))writer.uint32(18).string(message.inputType);if(message.outputType!=null&&Object.hasOwnProperty.call(message,"outputType"))writer.uint32(26).string(message.outputType);if(message.options!=null&&Object.hasOwnProperty.call(message,"options"))$root.google.protobuf.MethodOptions.encode(message.options,writer.uint32(34).fork()).ldelim();if(message.clientStreaming!=null&&Object.hasOwnProperty.call(message,"clientStreaming"))writer.uint32(40).bool(message.clientStreaming);if(message.serverStreaming!=null&&Object.hasOwnProperty.call(message,"serverStreaming"))writer.uint32(48).bool(message.serverStreaming);return writer};MethodDescriptorProto.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodDescriptorProto.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodDescriptorProto;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.name=reader.string();break}case 2:{message.inputType=reader.string();break}case 3:{message.outputType=reader.string();break}case 4:{message.options=$root.google.protobuf.MethodOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.clientStreaming=reader.bool();break}case 6:{message.serverStreaming=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};MethodDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.inputType!=null&&message.hasOwnProperty("inputType"))if(!$util.isString(message.inputType))return"inputType: string expected";if(message.outputType!=null&&message.hasOwnProperty("outputType"))if(!$util.isString(message.outputType))return"outputType: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.MethodOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))if(typeof message.clientStreaming!=="boolean")return"clientStreaming: boolean expected";if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))if(typeof message.serverStreaming!=="boolean")return"serverStreaming: boolean expected";return null};MethodDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MethodDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.inputType!=null)message.inputType=String(object.inputType);if(object.outputType!=null)message.outputType=String(object.outputType);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");message.options=$root.google.protobuf.MethodOptions.fromObject(object.options,long+1)}if(object.clientStreaming!=null)message.clientStreaming=Boolean(object.clientStreaming);if(object.serverStreaming!=null)message.serverStreaming=Boolean(object.serverStreaming);return message};MethodDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.inputType="";object.outputType="";object.options=null;object.clientStreaming=false;object.serverStreaming=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.inputType!=null&&message.hasOwnProperty("inputType"))object.inputType=message.inputType;if(message.outputType!=null&&message.hasOwnProperty("outputType"))object.outputType=message.outputType;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.MethodOptions.toObject(message.options,options);if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))object.clientStreaming=message.clientStreaming;if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))object.serverStreaming=message.serverStreaming;return object};MethodDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MethodDescriptorProto"};return MethodDescriptorProto}();protobuf.FileOptions=function(){function FileOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FileOptions.prototype.javaPackage="";FileOptions.prototype.javaOuterClassname="";FileOptions.prototype.javaMultipleFiles=false;FileOptions.prototype.javaGenerateEqualsAndHash=false;FileOptions.prototype.javaStringCheckUtf8=false;FileOptions.prototype.optimizeFor=1;FileOptions.prototype.goPackage="";FileOptions.prototype.ccGenericServices=false;FileOptions.prototype.javaGenericServices=false;FileOptions.prototype.pyGenericServices=false;FileOptions.prototype.deprecated=false;FileOptions.prototype.ccEnableArenas=true;FileOptions.prototype.objcClassPrefix="";FileOptions.prototype.csharpNamespace="";FileOptions.prototype.swiftPrefix="";FileOptions.prototype.phpClassPrefix="";FileOptions.prototype.phpNamespace="";FileOptions.prototype.phpMetadataNamespace="";FileOptions.prototype.rubyPackage="";FileOptions.prototype.features=null;FileOptions.prototype.uninterpretedOption=$util.emptyArray;FileOptions.create=function create(properties){return new FileOptions(properties)};FileOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.javaPackage!=null&&Object.hasOwnProperty.call(message,"javaPackage"))writer.uint32(10).string(message.javaPackage);if(message.javaOuterClassname!=null&&Object.hasOwnProperty.call(message,"javaOuterClassname"))writer.uint32(66).string(message.javaOuterClassname);if(message.optimizeFor!=null&&Object.hasOwnProperty.call(message,"optimizeFor"))writer.uint32(72).int32(message.optimizeFor);if(message.javaMultipleFiles!=null&&Object.hasOwnProperty.call(message,"javaMultipleFiles"))writer.uint32(80).bool(message.javaMultipleFiles);if(message.goPackage!=null&&Object.hasOwnProperty.call(message,"goPackage"))writer.uint32(90).string(message.goPackage);if(message.ccGenericServices!=null&&Object.hasOwnProperty.call(message,"ccGenericServices"))writer.uint32(128).bool(message.ccGenericServices);if(message.javaGenericServices!=null&&Object.hasOwnProperty.call(message,"javaGenericServices"))writer.uint32(136).bool(message.javaGenericServices);if(message.pyGenericServices!=null&&Object.hasOwnProperty.call(message,"pyGenericServices"))writer.uint32(144).bool(message.pyGenericServices);if(message.javaGenerateEqualsAndHash!=null&&Object.hasOwnProperty.call(message,"javaGenerateEqualsAndHash"))writer.uint32(160).bool(message.javaGenerateEqualsAndHash);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(184).bool(message.deprecated);if(message.javaStringCheckUtf8!=null&&Object.hasOwnProperty.call(message,"javaStringCheckUtf8"))writer.uint32(216).bool(message.javaStringCheckUtf8);if(message.ccEnableArenas!=null&&Object.hasOwnProperty.call(message,"ccEnableArenas"))writer.uint32(248).bool(message.ccEnableArenas);if(message.objcClassPrefix!=null&&Object.hasOwnProperty.call(message,"objcClassPrefix"))writer.uint32(290).string(message.objcClassPrefix);if(message.csharpNamespace!=null&&Object.hasOwnProperty.call(message,"csharpNamespace"))writer.uint32(298).string(message.csharpNamespace);if(message.swiftPrefix!=null&&Object.hasOwnProperty.call(message,"swiftPrefix"))writer.uint32(314).string(message.swiftPrefix);if(message.phpClassPrefix!=null&&Object.hasOwnProperty.call(message,"phpClassPrefix"))writer.uint32(322).string(message.phpClassPrefix);if(message.phpNamespace!=null&&Object.hasOwnProperty.call(message,"phpNamespace"))writer.uint32(330).string(message.phpNamespace);if(message.phpMetadataNamespace!=null&&Object.hasOwnProperty.call(message,"phpMetadataNamespace"))writer.uint32(354).string(message.phpMetadataNamespace);if(message.rubyPackage!=null&&Object.hasOwnProperty.call(message,"rubyPackage"))writer.uint32(362).string(message.rubyPackage);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(402).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};FileOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FileOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.javaPackage=reader.string();break}case 8:{message.javaOuterClassname=reader.string();break}case 10:{message.javaMultipleFiles=reader.bool();break}case 20:{message.javaGenerateEqualsAndHash=reader.bool();break}case 27:{message.javaStringCheckUtf8=reader.bool();break}case 9:{message.optimizeFor=reader.int32();break}case 11:{message.goPackage=reader.string();break}case 16:{message.ccGenericServices=reader.bool();break}case 17:{message.javaGenericServices=reader.bool();break}case 18:{message.pyGenericServices=reader.bool();break}case 23:{message.deprecated=reader.bool();break}case 31:{message.ccEnableArenas=reader.bool();break}case 36:{message.objcClassPrefix=reader.string();break}case 37:{message.csharpNamespace=reader.string();break}case 39:{message.swiftPrefix=reader.string();break}case 40:{message.phpClassPrefix=reader.string();break}case 41:{message.phpNamespace=reader.string();break}case 44:{message.phpMetadataNamespace=reader.string();break}case 45:{message.rubyPackage=reader.string();break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.javaPackage!=null&&message.hasOwnProperty("javaPackage"))if(!$util.isString(message.javaPackage))return"javaPackage: string expected";if(message.javaOuterClassname!=null&&message.hasOwnProperty("javaOuterClassname"))if(!$util.isString(message.javaOuterClassname))return"javaOuterClassname: string expected";if(message.javaMultipleFiles!=null&&message.hasOwnProperty("javaMultipleFiles"))if(typeof message.javaMultipleFiles!=="boolean")return"javaMultipleFiles: boolean expected";if(message.javaGenerateEqualsAndHash!=null&&message.hasOwnProperty("javaGenerateEqualsAndHash"))if(typeof message.javaGenerateEqualsAndHash!=="boolean")return"javaGenerateEqualsAndHash: boolean expected";if(message.javaStringCheckUtf8!=null&&message.hasOwnProperty("javaStringCheckUtf8"))if(typeof message.javaStringCheckUtf8!=="boolean")return"javaStringCheckUtf8: boolean expected";if(message.optimizeFor!=null&&message.hasOwnProperty("optimizeFor"))switch(message.optimizeFor){default:return"optimizeFor: enum value expected";case 1:case 2:case 3:break}if(message.goPackage!=null&&message.hasOwnProperty("goPackage"))if(!$util.isString(message.goPackage))return"goPackage: string expected";if(message.ccGenericServices!=null&&message.hasOwnProperty("ccGenericServices"))if(typeof message.ccGenericServices!=="boolean")return"ccGenericServices: boolean expected";if(message.javaGenericServices!=null&&message.hasOwnProperty("javaGenericServices"))if(typeof message.javaGenericServices!=="boolean")return"javaGenericServices: boolean expected";if(message.pyGenericServices!=null&&message.hasOwnProperty("pyGenericServices"))if(typeof message.pyGenericServices!=="boolean")return"pyGenericServices: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.ccEnableArenas!=null&&message.hasOwnProperty("ccEnableArenas"))if(typeof message.ccEnableArenas!=="boolean")return"ccEnableArenas: boolean expected";if(message.objcClassPrefix!=null&&message.hasOwnProperty("objcClassPrefix"))if(!$util.isString(message.objcClassPrefix))return"objcClassPrefix: string expected";if(message.csharpNamespace!=null&&message.hasOwnProperty("csharpNamespace"))if(!$util.isString(message.csharpNamespace))return"csharpNamespace: string expected";if(message.swiftPrefix!=null&&message.hasOwnProperty("swiftPrefix"))if(!$util.isString(message.swiftPrefix))return"swiftPrefix: string expected";if(message.phpClassPrefix!=null&&message.hasOwnProperty("phpClassPrefix"))if(!$util.isString(message.phpClassPrefix))return"phpClassPrefix: string expected";if(message.phpNamespace!=null&&message.hasOwnProperty("phpNamespace"))if(!$util.isString(message.phpNamespace))return"phpNamespace: string expected";if(message.phpMetadataNamespace!=null&&message.hasOwnProperty("phpMetadataNamespace"))if(!$util.isString(message.phpMetadataNamespace))return"phpMetadataNamespace: string expected";if(message.rubyPackage!=null&&message.hasOwnProperty("rubyPackage"))if(!$util.isString(message.rubyPackage))return"rubyPackage: string expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};FileOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FileOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileOptions;if(object.javaPackage!=null)message.javaPackage=String(object.javaPackage);if(object.javaOuterClassname!=null)message.javaOuterClassname=String(object.javaOuterClassname);if(object.javaMultipleFiles!=null)message.javaMultipleFiles=Boolean(object.javaMultipleFiles);if(object.javaGenerateEqualsAndHash!=null)message.javaGenerateEqualsAndHash=Boolean(object.javaGenerateEqualsAndHash);if(object.javaStringCheckUtf8!=null)message.javaStringCheckUtf8=Boolean(object.javaStringCheckUtf8);switch(object.optimizeFor){default:if(typeof object.optimizeFor==="number"){message.optimizeFor=object.optimizeFor;break}break;case"SPEED":case 1:message.optimizeFor=1;break;case"CODE_SIZE":case 2:message.optimizeFor=2;break;case"LITE_RUNTIME":case 3:message.optimizeFor=3;break}if(object.goPackage!=null)message.goPackage=String(object.goPackage);if(object.ccGenericServices!=null)message.ccGenericServices=Boolean(object.ccGenericServices);if(object.javaGenericServices!=null)message.javaGenericServices=Boolean(object.javaGenericServices);if(object.pyGenericServices!=null)message.pyGenericServices=Boolean(object.pyGenericServices);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.ccEnableArenas!=null)message.ccEnableArenas=Boolean(object.ccEnableArenas);if(object.objcClassPrefix!=null)message.objcClassPrefix=String(object.objcClassPrefix);if(object.csharpNamespace!=null)message.csharpNamespace=String(object.csharpNamespace);if(object.swiftPrefix!=null)message.swiftPrefix=String(object.swiftPrefix);if(object.phpClassPrefix!=null)message.phpClassPrefix=String(object.phpClassPrefix);if(object.phpNamespace!=null)message.phpNamespace=String(object.phpNamespace);if(object.phpMetadataNamespace!=null)message.phpMetadataNamespace=String(object.phpMetadataNamespace);if(object.rubyPackage!=null)message.rubyPackage=String(object.rubyPackage);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.FileOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};FileOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.javaPackage="";object.javaOuterClassname="";object.optimizeFor=options.enums===String?"SPEED":1;object.javaMultipleFiles=false;object.goPackage="";object.ccGenericServices=false;object.javaGenericServices=false;object.pyGenericServices=false;object.javaGenerateEqualsAndHash=false;object.deprecated=false;object.javaStringCheckUtf8=false;object.ccEnableArenas=true;object.objcClassPrefix="";object.csharpNamespace="";object.swiftPrefix="";object.phpClassPrefix="";object.phpNamespace="";object.phpMetadataNamespace="";object.rubyPackage="";object.features=null}if(message.javaPackage!=null&&message.hasOwnProperty("javaPackage"))object.javaPackage=message.javaPackage;if(message.javaOuterClassname!=null&&message.hasOwnProperty("javaOuterClassname"))object.javaOuterClassname=message.javaOuterClassname;if(message.optimizeFor!=null&&message.hasOwnProperty("optimizeFor"))object.optimizeFor=options.enums===String?$root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor]===undefined?message.optimizeFor:$root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor]:message.optimizeFor;if(message.javaMultipleFiles!=null&&message.hasOwnProperty("javaMultipleFiles"))object.javaMultipleFiles=message.javaMultipleFiles;if(message.goPackage!=null&&message.hasOwnProperty("goPackage"))object.goPackage=message.goPackage;if(message.ccGenericServices!=null&&message.hasOwnProperty("ccGenericServices"))object.ccGenericServices=message.ccGenericServices;if(message.javaGenericServices!=null&&message.hasOwnProperty("javaGenericServices"))object.javaGenericServices=message.javaGenericServices;if(message.pyGenericServices!=null&&message.hasOwnProperty("pyGenericServices"))object.pyGenericServices=message.pyGenericServices;if(message.javaGenerateEqualsAndHash!=null&&message.hasOwnProperty("javaGenerateEqualsAndHash"))object.javaGenerateEqualsAndHash=message.javaGenerateEqualsAndHash;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.javaStringCheckUtf8!=null&&message.hasOwnProperty("javaStringCheckUtf8"))object.javaStringCheckUtf8=message.javaStringCheckUtf8;if(message.ccEnableArenas!=null&&message.hasOwnProperty("ccEnableArenas"))object.ccEnableArenas=message.ccEnableArenas;if(message.objcClassPrefix!=null&&message.hasOwnProperty("objcClassPrefix"))object.objcClassPrefix=message.objcClassPrefix;if(message.csharpNamespace!=null&&message.hasOwnProperty("csharpNamespace"))object.csharpNamespace=message.csharpNamespace;if(message.swiftPrefix!=null&&message.hasOwnProperty("swiftPrefix"))object.swiftPrefix=message.swiftPrefix;if(message.phpClassPrefix!=null&&message.hasOwnProperty("phpClassPrefix"))object.phpClassPrefix=message.phpClassPrefix;if(message.phpNamespace!=null&&message.hasOwnProperty("phpNamespace"))object.phpNamespace=message.phpNamespace;if(message.phpMetadataNamespace!=null&&message.hasOwnProperty("phpMetadataNamespace"))object.phpMetadataNamespace=message.phpMetadataNamespace;if(message.rubyPackage!=null&&message.hasOwnProperty("rubyPackage"))object.rubyPackage=message.rubyPackage;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};FileOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FileOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FileOptions"};FileOptions.OptimizeMode=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="SPEED"]=1;values[valuesById[2]="CODE_SIZE"]=2;values[valuesById[3]="LITE_RUNTIME"]=3;return values}();return FileOptions}();protobuf.MessageOptions=function(){function MessageOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MessageOptions.prototype.messageSetWireFormat=false;MessageOptions.prototype.noStandardDescriptorAccessor=false;MessageOptions.prototype.deprecated=false;MessageOptions.prototype.mapEntry=false;MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts=false;MessageOptions.prototype.features=null;MessageOptions.prototype.uninterpretedOption=$util.emptyArray;MessageOptions.create=function create(properties){return new MessageOptions(properties)};MessageOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.messageSetWireFormat!=null&&Object.hasOwnProperty.call(message,"messageSetWireFormat"))writer.uint32(8).bool(message.messageSetWireFormat);if(message.noStandardDescriptorAccessor!=null&&Object.hasOwnProperty.call(message,"noStandardDescriptorAccessor"))writer.uint32(16).bool(message.noStandardDescriptorAccessor);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.mapEntry!=null&&Object.hasOwnProperty.call(message,"mapEntry"))writer.uint32(56).bool(message.mapEntry);if(message.deprecatedLegacyJsonFieldConflicts!=null&&Object.hasOwnProperty.call(message,"deprecatedLegacyJsonFieldConflicts"))writer.uint32(88).bool(message.deprecatedLegacyJsonFieldConflicts);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(98).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};MessageOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MessageOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MessageOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.messageSetWireFormat=reader.bool();break}case 2:{message.noStandardDescriptorAccessor=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 7:{message.mapEntry=reader.bool();break}case 11:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 12:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};MessageOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MessageOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.messageSetWireFormat!=null&&message.hasOwnProperty("messageSetWireFormat"))if(typeof message.messageSetWireFormat!=="boolean")return"messageSetWireFormat: boolean expected";if(message.noStandardDescriptorAccessor!=null&&message.hasOwnProperty("noStandardDescriptorAccessor"))if(typeof message.noStandardDescriptorAccessor!=="boolean")return"noStandardDescriptorAccessor: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.mapEntry!=null&&message.hasOwnProperty("mapEntry"))if(typeof message.mapEntry!=="boolean")return"mapEntry: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};MessageOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MessageOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MessageOptions;if(object.messageSetWireFormat!=null)message.messageSetWireFormat=Boolean(object.messageSetWireFormat);if(object.noStandardDescriptorAccessor!=null)message.noStandardDescriptorAccessor=Boolean(object.noStandardDescriptorAccessor);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.mapEntry!=null)message.mapEntry=Boolean(object.mapEntry);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MessageOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};MessageOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.messageSetWireFormat=false;object.noStandardDescriptorAccessor=false;object.deprecated=false;object.mapEntry=false;object.deprecatedLegacyJsonFieldConflicts=false;object.features=null}if(message.messageSetWireFormat!=null&&message.hasOwnProperty("messageSetWireFormat"))object.messageSetWireFormat=message.messageSetWireFormat;if(message.noStandardDescriptorAccessor!=null&&message.hasOwnProperty("noStandardDescriptorAccessor"))object.noStandardDescriptorAccessor=message.noStandardDescriptorAccessor;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.mapEntry!=null&&message.hasOwnProperty("mapEntry"))object.mapEntry=message.mapEntry;if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))object.deprecatedLegacyJsonFieldConflicts=message.deprecatedLegacyJsonFieldConflicts;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};MessageOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MessageOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MessageOptions"};return MessageOptions}();protobuf.FieldOptions=function(){function FieldOptions(properties){this.targets=[];this.editionDefaults=[];this.uninterpretedOption=[];this[".google.api.fieldBehavior"]=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FieldOptions.prototype.ctype=0;FieldOptions.prototype.packed=false;FieldOptions.prototype.jstype=0;FieldOptions.prototype.lazy=false;FieldOptions.prototype.unverifiedLazy=false;FieldOptions.prototype.deprecated=false;FieldOptions.prototype.weak=false;FieldOptions.prototype.debugRedact=false;FieldOptions.prototype.retention=0;FieldOptions.prototype.targets=$util.emptyArray;FieldOptions.prototype.editionDefaults=$util.emptyArray;FieldOptions.prototype.features=null;FieldOptions.prototype.featureSupport=null;FieldOptions.prototype.uninterpretedOption=$util.emptyArray;FieldOptions.prototype[".google.api.fieldBehavior"]=$util.emptyArray;FieldOptions.create=function create(properties){return new FieldOptions(properties)};FieldOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.ctype!=null&&Object.hasOwnProperty.call(message,"ctype"))writer.uint32(8).int32(message.ctype);if(message.packed!=null&&Object.hasOwnProperty.call(message,"packed"))writer.uint32(16).bool(message.packed);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.lazy!=null&&Object.hasOwnProperty.call(message,"lazy"))writer.uint32(40).bool(message.lazy);if(message.jstype!=null&&Object.hasOwnProperty.call(message,"jstype"))writer.uint32(48).int32(message.jstype);if(message.weak!=null&&Object.hasOwnProperty.call(message,"weak"))writer.uint32(80).bool(message.weak);if(message.unverifiedLazy!=null&&Object.hasOwnProperty.call(message,"unverifiedLazy"))writer.uint32(120).bool(message.unverifiedLazy);if(message.debugRedact!=null&&Object.hasOwnProperty.call(message,"debugRedact"))writer.uint32(128).bool(message.debugRedact);if(message.retention!=null&&Object.hasOwnProperty.call(message,"retention"))writer.uint32(136).int32(message.retention);if(message.targets!=null&&message.targets.length)for(var i=0;i<message.targets.length;++i)writer.uint32(152).int32(message.targets[i]);if(message.editionDefaults!=null&&message.editionDefaults.length)for(var i=0;i<message.editionDefaults.length;++i)$root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i],writer.uint32(162).fork()).ldelim();if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(170).fork()).ldelim();if(message.featureSupport!=null&&Object.hasOwnProperty.call(message,"featureSupport"))$root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport,writer.uint32(178).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.fieldBehavior"]!=null&&message[".google.api.fieldBehavior"].length)for(var i=0;i<message[".google.api.fieldBehavior"].length;++i)writer.uint32(8416).int32(message[".google.api.fieldBehavior"][i]);return writer};FieldOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FieldOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.ctype=reader.int32();break}case 2:{message.packed=reader.bool();break}case 6:{message.jstype=reader.int32();break}case 5:{message.lazy=reader.bool();break}case 15:{message.unverifiedLazy=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 10:{message.weak=reader.bool();break}case 16:{message.debugRedact=reader.bool();break}case 17:{message.retention=reader.int32();break}case 19:{if(!(message.targets&&message.targets.length))message.targets=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.targets.push(reader.int32())}else message.targets.push(reader.int32());break}case 20:{if(!(message.editionDefaults&&message.editionDefaults.length))message.editionDefaults=[];message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader,reader.uint32(),undefined,long+1));break}case 21:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 22:{message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1052:{if(!(message[".google.api.fieldBehavior"]&&message[".google.api.fieldBehavior"].length))message[".google.api.fieldBehavior"]=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message[".google.api.fieldBehavior"].push(reader.int32())}else message[".google.api.fieldBehavior"].push(reader.int32());break}default:reader.skipType(tag&7,long);break}}return message};FieldOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FieldOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.ctype!=null&&message.hasOwnProperty("ctype"))switch(message.ctype){default:return"ctype: enum value expected";case 0:case 1:case 2:break}if(message.packed!=null&&message.hasOwnProperty("packed"))if(typeof message.packed!=="boolean")return"packed: boolean expected";if(message.jstype!=null&&message.hasOwnProperty("jstype"))switch(message.jstype){default:return"jstype: enum value expected";case 0:case 1:case 2:break}if(message.lazy!=null&&message.hasOwnProperty("lazy"))if(typeof message.lazy!=="boolean")return"lazy: boolean expected";if(message.unverifiedLazy!=null&&message.hasOwnProperty("unverifiedLazy"))if(typeof message.unverifiedLazy!=="boolean")return"unverifiedLazy: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.weak!=null&&message.hasOwnProperty("weak"))if(typeof message.weak!=="boolean")return"weak: boolean expected";if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.retention!=null&&message.hasOwnProperty("retention"))switch(message.retention){default:return"retention: enum value expected";case 0:case 1:case 2:break}if(message.targets!=null&&message.hasOwnProperty("targets")){if(!Array.isArray(message.targets))return"targets: array expected";for(var i=0;i<message.targets.length;++i)switch(message.targets[i]){default:return"targets: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break}}if(message.editionDefaults!=null&&message.hasOwnProperty("editionDefaults")){if(!Array.isArray(message.editionDefaults))return"editionDefaults: array expected";for(var i=0;i<message.editionDefaults.length;++i){var error=$root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i],long+1);if(error)return"editionDefaults."+error}}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport")){var error=$root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport,long+1);if(error)return"featureSupport."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.fieldBehavior"]!=null&&message.hasOwnProperty(".google.api.fieldBehavior")){if(!Array.isArray(message[".google.api.fieldBehavior"]))return".google.api.fieldBehavior: array expected";for(var i=0;i<message[".google.api.fieldBehavior"].length;++i)switch(message[".google.api.fieldBehavior"][i]){default:return".google.api.fieldBehavior: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break}}return null};FieldOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions;switch(object.ctype){default:if(typeof object.ctype==="number"){message.ctype=object.ctype;break}break;case"STRING":case 0:message.ctype=0;break;case"CORD":case 1:message.ctype=1;break;case"STRING_PIECE":case 2:message.ctype=2;break}if(object.packed!=null)message.packed=Boolean(object.packed);switch(object.jstype){default:if(typeof object.jstype==="number"){message.jstype=object.jstype;break}break;case"JS_NORMAL":case 0:message.jstype=0;break;case"JS_STRING":case 1:message.jstype=1;break;case"JS_NUMBER":case 2:message.jstype=2;break}if(object.lazy!=null)message.lazy=Boolean(object.lazy);if(object.unverifiedLazy!=null)message.unverifiedLazy=Boolean(object.unverifiedLazy);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.weak!=null)message.weak=Boolean(object.weak);if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);switch(object.retention){default:if(typeof object.retention==="number"){message.retention=object.retention;break}break;case"RETENTION_UNKNOWN":case 0:message.retention=0;break;case"RETENTION_RUNTIME":case 1:message.retention=1;break;case"RETENTION_SOURCE":case 2:message.retention=2;break}if(object.targets){if(!Array.isArray(object.targets))throw TypeError(".google.protobuf.FieldOptions.targets: array expected");message.targets=[];for(var i=0;i<object.targets.length;++i)switch(object.targets[i]){default:if(typeof object.targets[i]==="number"){message.targets[i]=object.targets[i];break}case"TARGET_TYPE_UNKNOWN":case 0:message.targets[i]=0;break;case"TARGET_TYPE_FILE":case 1:message.targets[i]=1;break;case"TARGET_TYPE_EXTENSION_RANGE":case 2:message.targets[i]=2;break;case"TARGET_TYPE_MESSAGE":case 3:message.targets[i]=3;break;case"TARGET_TYPE_FIELD":case 4:message.targets[i]=4;break;case"TARGET_TYPE_ONEOF":case 5:message.targets[i]=5;break;case"TARGET_TYPE_ENUM":case 6:message.targets[i]=6;break;case"TARGET_TYPE_ENUM_ENTRY":case 7:message.targets[i]=7;break;case"TARGET_TYPE_SERVICE":case 8:message.targets[i]=8;break;case"TARGET_TYPE_METHOD":case 9:message.targets[i]=9;break}}if(object.editionDefaults){if(!Array.isArray(object.editionDefaults))throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");message.editionDefaults=[];for(var i=0;i<object.editionDefaults.length;++i){if(typeof object.editionDefaults[i]!=="object")throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");message.editionDefaults[i]=$root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i],long+1)}}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.FieldOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.featureSupport!=null){if(typeof object.featureSupport!=="object")throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected");message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.fieldBehavior"]){if(!Array.isArray(object[".google.api.fieldBehavior"]))throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected");message[".google.api.fieldBehavior"]=[];for(var i=0;i<object[".google.api.fieldBehavior"].length;++i)switch(object[".google.api.fieldBehavior"][i]){default:if(typeof object[".google.api.fieldBehavior"][i]==="number"){message[".google.api.fieldBehavior"][i]=object[".google.api.fieldBehavior"][i];break}case"FIELD_BEHAVIOR_UNSPECIFIED":case 0:message[".google.api.fieldBehavior"][i]=0;break;case"OPTIONAL":case 1:message[".google.api.fieldBehavior"][i]=1;break;case"REQUIRED":case 2:message[".google.api.fieldBehavior"][i]=2;break;case"OUTPUT_ONLY":case 3:message[".google.api.fieldBehavior"][i]=3;break;case"INPUT_ONLY":case 4:message[".google.api.fieldBehavior"][i]=4;break;case"IMMUTABLE":case 5:message[".google.api.fieldBehavior"][i]=5;break;case"UNORDERED_LIST":case 6:message[".google.api.fieldBehavior"][i]=6;break;case"NON_EMPTY_DEFAULT":case 7:message[".google.api.fieldBehavior"][i]=7;break;case"IDENTIFIER":case 8:message[".google.api.fieldBehavior"][i]=8;break}}return message};FieldOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.targets=[];object.editionDefaults=[];object.uninterpretedOption=[];object[".google.api.fieldBehavior"]=[]}if(options.defaults){object.ctype=options.enums===String?"STRING":0;object.packed=false;object.deprecated=false;object.lazy=false;object.jstype=options.enums===String?"JS_NORMAL":0;object.weak=false;object.unverifiedLazy=false;object.debugRedact=false;object.retention=options.enums===String?"RETENTION_UNKNOWN":0;object.features=null;object.featureSupport=null}if(message.ctype!=null&&message.hasOwnProperty("ctype"))object.ctype=options.enums===String?$root.google.protobuf.FieldOptions.CType[message.ctype]===undefined?message.ctype:$root.google.protobuf.FieldOptions.CType[message.ctype]:message.ctype;if(message.packed!=null&&message.hasOwnProperty("packed"))object.packed=message.packed;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.lazy!=null&&message.hasOwnProperty("lazy"))object.lazy=message.lazy;if(message.jstype!=null&&message.hasOwnProperty("jstype"))object.jstype=options.enums===String?$root.google.protobuf.FieldOptions.JSType[message.jstype]===undefined?message.jstype:$root.google.protobuf.FieldOptions.JSType[message.jstype]:message.jstype;if(message.weak!=null&&message.hasOwnProperty("weak"))object.weak=message.weak;if(message.unverifiedLazy!=null&&message.hasOwnProperty("unverifiedLazy"))object.unverifiedLazy=message.unverifiedLazy;if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))object.debugRedact=message.debugRedact;if(message.retention!=null&&message.hasOwnProperty("retention"))object.retention=options.enums===String?$root.google.protobuf.FieldOptions.OptionRetention[message.retention]===undefined?message.retention:$root.google.protobuf.FieldOptions.OptionRetention[message.retention]:message.retention;if(message.targets&&message.targets.length){object.targets=[];for(var j=0;j<message.targets.length;++j)object.targets[j]=options.enums===String?$root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]]===undefined?message.targets[j]:$root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]]:message.targets[j]}if(message.editionDefaults&&message.editionDefaults.length){object.editionDefaults=[];for(var j=0;j<message.editionDefaults.length;++j)object.editionDefaults[j]=$root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j],options)}if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport"))object.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.fieldBehavior"]&&message[".google.api.fieldBehavior"].length){object[".google.api.fieldBehavior"]=[];for(var j=0;j<message[".google.api.fieldBehavior"].length;++j)object[".google.api.fieldBehavior"][j]=options.enums===String?$root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]]===undefined?message[".google.api.fieldBehavior"][j]:$root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]]:message[".google.api.fieldBehavior"][j]}return object};FieldOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FieldOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions"};FieldOptions.CType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="STRING"]=0;values[valuesById[1]="CORD"]=1;values[valuesById[2]="STRING_PIECE"]=2;return values}();FieldOptions.JSType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="JS_NORMAL"]=0;values[valuesById[1]="JS_STRING"]=1;values[valuesById[2]="JS_NUMBER"]=2;return values}();FieldOptions.OptionRetention=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="RETENTION_UNKNOWN"]=0;values[valuesById[1]="RETENTION_RUNTIME"]=1;values[valuesById[2]="RETENTION_SOURCE"]=2;return values}();FieldOptions.OptionTargetType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="TARGET_TYPE_UNKNOWN"]=0;values[valuesById[1]="TARGET_TYPE_FILE"]=1;values[valuesById[2]="TARGET_TYPE_EXTENSION_RANGE"]=2;values[valuesById[3]="TARGET_TYPE_MESSAGE"]=3;values[valuesById[4]="TARGET_TYPE_FIELD"]=4;values[valuesById[5]="TARGET_TYPE_ONEOF"]=5;values[valuesById[6]="TARGET_TYPE_ENUM"]=6;values[valuesById[7]="TARGET_TYPE_ENUM_ENTRY"]=7;values[valuesById[8]="TARGET_TYPE_SERVICE"]=8;values[valuesById[9]="TARGET_TYPE_METHOD"]=9;return values}();FieldOptions.EditionDefault=function(){function EditionDefault(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EditionDefault.prototype.edition=0;EditionDefault.prototype.value="";EditionDefault.create=function create(properties){return new EditionDefault(properties)};EditionDefault.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.value!=null&&Object.hasOwnProperty.call(message,"value"))writer.uint32(18).string(message.value);if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(24).int32(message.edition);return writer};EditionDefault.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EditionDefault.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.EditionDefault;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.edition=reader.int32();break}case 2:{message.value=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};EditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.value!=null&&message.hasOwnProperty("value"))if(!$util.isString(message.value))return"value: string expected";return null};EditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.EditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.EditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.value!=null)message.value=String(object.value);return message};EditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.value="";object.edition=options.enums===String?"EDITION_UNKNOWN":0}if(message.value!=null&&message.hasOwnProperty("value"))object.value=message.value;if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;return object};EditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.EditionDefault"};return EditionDefault}();FieldOptions.FeatureSupport=function(){function FeatureSupport(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSupport.prototype.editionIntroduced=0;FeatureSupport.prototype.editionDeprecated=0;FeatureSupport.prototype.deprecationWarning="";FeatureSupport.prototype.editionRemoved=0;FeatureSupport.prototype.removalError="";FeatureSupport.create=function create(properties){return new FeatureSupport(properties)};FeatureSupport.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.editionIntroduced!=null&&Object.hasOwnProperty.call(message,"editionIntroduced"))writer.uint32(8).int32(message.editionIntroduced);if(message.editionDeprecated!=null&&Object.hasOwnProperty.call(message,"editionDeprecated"))writer.uint32(16).int32(message.editionDeprecated);if(message.deprecationWarning!=null&&Object.hasOwnProperty.call(message,"deprecationWarning"))writer.uint32(26).string(message.deprecationWarning);if(message.editionRemoved!=null&&Object.hasOwnProperty.call(message,"editionRemoved"))writer.uint32(32).int32(message.editionRemoved);if(message.removalError!=null&&Object.hasOwnProperty.call(message,"removalError"))writer.uint32(42).string(message.removalError);return writer};FeatureSupport.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSupport.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.FeatureSupport;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.editionIntroduced=reader.int32();break}case 2:{message.editionDeprecated=reader.int32();break}case 3:{message.deprecationWarning=reader.string();break}case 4:{message.editionRemoved=reader.int32();break}case 5:{message.removalError=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSupport.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSupport.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))switch(message.editionIntroduced){default:return"editionIntroduced: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))switch(message.editionDeprecated){default:return"editionDeprecated: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))if(!$util.isString(message.deprecationWarning))return"deprecationWarning: string expected";if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))switch(message.editionRemoved){default:return"editionRemoved: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.removalError!=null&&message.hasOwnProperty("removalError"))if(!$util.isString(message.removalError))return"removalError: string expected";return null};FeatureSupport.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.FeatureSupport)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.FeatureSupport;switch(object.editionIntroduced){default:if(typeof object.editionIntroduced==="number"){message.editionIntroduced=object.editionIntroduced;break}break;case"EDITION_UNKNOWN":case 0:message.editionIntroduced=0;break;case"EDITION_LEGACY":case 900:message.editionIntroduced=900;break;case"EDITION_PROTO2":case 998:message.editionIntroduced=998;break;case"EDITION_PROTO3":case 999:message.editionIntroduced=999;break;case"EDITION_2023":case 1e3:message.editionIntroduced=1e3;break;case"EDITION_2024":case 1001:message.editionIntroduced=1001;break;case"EDITION_2026":case 1002:message.editionIntroduced=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionIntroduced=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionIntroduced=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionIntroduced=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionIntroduced=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionIntroduced=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionIntroduced=99999;break;case"EDITION_MAX":case 2147483647:message.editionIntroduced=2147483647;break}switch(object.editionDeprecated){default:if(typeof object.editionDeprecated==="number"){message.editionDeprecated=object.editionDeprecated;break}break;case"EDITION_UNKNOWN":case 0:message.editionDeprecated=0;break;case"EDITION_LEGACY":case 900:message.editionDeprecated=900;break;case"EDITION_PROTO2":case 998:message.editionDeprecated=998;break;case"EDITION_PROTO3":case 999:message.editionDeprecated=999;break;case"EDITION_2023":case 1e3:message.editionDeprecated=1e3;break;case"EDITION_2024":case 1001:message.editionDeprecated=1001;break;case"EDITION_2026":case 1002:message.editionDeprecated=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionDeprecated=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionDeprecated=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionDeprecated=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionDeprecated=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionDeprecated=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionDeprecated=99999;break;case"EDITION_MAX":case 2147483647:message.editionDeprecated=2147483647;break}if(object.deprecationWarning!=null)message.deprecationWarning=String(object.deprecationWarning);switch(object.editionRemoved){default:if(typeof object.editionRemoved==="number"){message.editionRemoved=object.editionRemoved;break}break;case"EDITION_UNKNOWN":case 0:message.editionRemoved=0;break;case"EDITION_LEGACY":case 900:message.editionRemoved=900;break;case"EDITION_PROTO2":case 998:message.editionRemoved=998;break;case"EDITION_PROTO3":case 999:message.editionRemoved=999;break;case"EDITION_2023":case 1e3:message.editionRemoved=1e3;break;case"EDITION_2024":case 1001:message.editionRemoved=1001;break;case"EDITION_2026":case 1002:message.editionRemoved=1002;break;case"EDITION_UNSTABLE":case 9999:message.editionRemoved=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.editionRemoved=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionRemoved=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionRemoved=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionRemoved=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionRemoved=99999;break;case"EDITION_MAX":case 2147483647:message.editionRemoved=2147483647;break}if(object.removalError!=null)message.removalError=String(object.removalError);return message};FeatureSupport.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.editionIntroduced=options.enums===String?"EDITION_UNKNOWN":0;object.editionDeprecated=options.enums===String?"EDITION_UNKNOWN":0;object.deprecationWarning="";object.editionRemoved=options.enums===String?"EDITION_UNKNOWN":0;object.removalError=""}if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))object.editionIntroduced=options.enums===String?$root.google.protobuf.Edition[message.editionIntroduced]===undefined?message.editionIntroduced:$root.google.protobuf.Edition[message.editionIntroduced]:message.editionIntroduced;if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))object.editionDeprecated=options.enums===String?$root.google.protobuf.Edition[message.editionDeprecated]===undefined?message.editionDeprecated:$root.google.protobuf.Edition[message.editionDeprecated]:message.editionDeprecated;if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))object.deprecationWarning=message.deprecationWarning;if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))object.editionRemoved=options.enums===String?$root.google.protobuf.Edition[message.editionRemoved]===undefined?message.editionRemoved:$root.google.protobuf.Edition[message.editionRemoved]:message.editionRemoved;if(message.removalError!=null&&message.hasOwnProperty("removalError"))object.removalError=message.removalError;return object};FeatureSupport.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSupport.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.FeatureSupport"};return FeatureSupport}();return FieldOptions}();protobuf.OneofOptions=function(){function OneofOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}OneofOptions.prototype.features=null;OneofOptions.prototype.uninterpretedOption=$util.emptyArray;OneofOptions.create=function create(properties){return new OneofOptions(properties)};OneofOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(10).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};OneofOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};OneofOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};OneofOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};OneofOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.OneofOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.OneofOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};OneofOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults)object.features=null;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};OneofOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};OneofOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.OneofOptions"};return OneofOptions}();protobuf.EnumOptions=function(){function EnumOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumOptions.prototype.allowAlias=false;EnumOptions.prototype.deprecated=false;EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts=false;EnumOptions.prototype.features=null;EnumOptions.prototype.uninterpretedOption=$util.emptyArray;EnumOptions.create=function create(properties){return new EnumOptions(properties)};EnumOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.allowAlias!=null&&Object.hasOwnProperty.call(message,"allowAlias"))writer.uint32(16).bool(message.allowAlias);if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(24).bool(message.deprecated);if(message.deprecatedLegacyJsonFieldConflicts!=null&&Object.hasOwnProperty.call(message,"deprecatedLegacyJsonFieldConflicts"))writer.uint32(48).bool(message.deprecatedLegacyJsonFieldConflicts);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(58).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};EnumOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{message.allowAlias=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 6:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 7:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.allowAlias!=null&&message.hasOwnProperty("allowAlias"))if(typeof message.allowAlias!=="boolean")return"allowAlias: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};EnumOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumOptions;if(object.allowAlias!=null)message.allowAlias=Boolean(object.allowAlias);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};EnumOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.allowAlias=false;object.deprecated=false;object.deprecatedLegacyJsonFieldConflicts=false;object.features=null}if(message.allowAlias!=null&&message.hasOwnProperty("allowAlias"))object.allowAlias=message.allowAlias;if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))object.deprecatedLegacyJsonFieldConflicts=message.deprecatedLegacyJsonFieldConflicts;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};EnumOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumOptions"};return EnumOptions}();protobuf.EnumValueOptions=function(){function EnumValueOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}EnumValueOptions.prototype.deprecated=false;EnumValueOptions.prototype.features=null;EnumValueOptions.prototype.debugRedact=false;EnumValueOptions.prototype.featureSupport=null;EnumValueOptions.prototype.uninterpretedOption=$util.emptyArray;EnumValueOptions.create=function create(properties){return new EnumValueOptions(properties)};EnumValueOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(8).bool(message.deprecated);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(18).fork()).ldelim();if(message.debugRedact!=null&&Object.hasOwnProperty.call(message,"debugRedact"))writer.uint32(24).bool(message.debugRedact);if(message.featureSupport!=null&&Object.hasOwnProperty.call(message,"featureSupport"))$root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport,writer.uint32(34).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();return writer};EnumValueOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};EnumValueOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.deprecated=reader.bool();break}case 2:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.debugRedact=reader.bool();break}case 4:{message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumValueOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport")){var error=$root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport,long+1);if(error)return"featureSupport."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}return null};EnumValueOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumValueOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);if(object.featureSupport!=null){if(typeof object.featureSupport!=="object")throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected");message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}return message};EnumValueOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.deprecated=false;object.features=null;object.debugRedact=false;object.featureSupport=null}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))object.debugRedact=message.debugRedact;if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport"))object.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}return object};EnumValueOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumValueOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumValueOptions"};return EnumValueOptions}();protobuf.ServiceOptions=function(){function ServiceOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ServiceOptions.prototype.features=null;ServiceOptions.prototype.deprecated=false;ServiceOptions.prototype.uninterpretedOption=$util.emptyArray;ServiceOptions.prototype[".google.api.defaultHost"]="";ServiceOptions.prototype[".google.api.oauthScopes"]="";ServiceOptions.prototype[".google.api.apiVersion"]="";ServiceOptions.create=function create(properties){return new ServiceOptions(properties)};ServiceOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(264).bool(message.deprecated);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(274).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.defaultHost"]!=null&&Object.hasOwnProperty.call(message,".google.api.defaultHost"))writer.uint32(8394).string(message[".google.api.defaultHost"]);if(message[".google.api.oauthScopes"]!=null&&Object.hasOwnProperty.call(message,".google.api.oauthScopes"))writer.uint32(8402).string(message[".google.api.oauthScopes"]);if(message[".google.api.apiVersion"]!=null&&Object.hasOwnProperty.call(message,".google.api.apiVersion"))writer.uint32(4200000010).string(message[".google.api.apiVersion"]);return writer};ServiceOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ServiceOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 34:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 33:{message.deprecated=reader.bool();break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1049:{message[".google.api.defaultHost"]=reader.string();break}case 1050:{message[".google.api.oauthScopes"]=reader.string();break}case 525000001:{message[".google.api.apiVersion"]=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};ServiceOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.defaultHost"]!=null&&message.hasOwnProperty(".google.api.defaultHost"))if(!$util.isString(message[".google.api.defaultHost"]))return".google.api.defaultHost: string expected";if(message[".google.api.oauthScopes"]!=null&&message.hasOwnProperty(".google.api.oauthScopes"))if(!$util.isString(message[".google.api.oauthScopes"]))return".google.api.oauthScopes: string expected";if(message[".google.api.apiVersion"]!=null&&message.hasOwnProperty(".google.api.apiVersion"))if(!$util.isString(message[".google.api.apiVersion"]))return".google.api.apiVersion: string expected";return null};ServiceOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ServiceOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.ServiceOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.defaultHost"]!=null)message[".google.api.defaultHost"]=String(object[".google.api.defaultHost"]);if(object[".google.api.oauthScopes"]!=null)message[".google.api.oauthScopes"]=String(object[".google.api.oauthScopes"]);if(object[".google.api.apiVersion"]!=null)message[".google.api.apiVersion"]=String(object[".google.api.apiVersion"]);return message};ServiceOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.uninterpretedOption=[];if(options.defaults){object.deprecated=false;object.features=null;object[".google.api.defaultHost"]="";object[".google.api.oauthScopes"]="";object[".google.api.apiVersion"]=""}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.defaultHost"]!=null&&message.hasOwnProperty(".google.api.defaultHost"))object[".google.api.defaultHost"]=message[".google.api.defaultHost"];if(message[".google.api.oauthScopes"]!=null&&message.hasOwnProperty(".google.api.oauthScopes"))object[".google.api.oauthScopes"]=message[".google.api.oauthScopes"];if(message[".google.api.apiVersion"]!=null&&message.hasOwnProperty(".google.api.apiVersion"))object[".google.api.apiVersion"]=message[".google.api.apiVersion"];return object};ServiceOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ServiceOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ServiceOptions"};return ServiceOptions}();protobuf.MethodOptions=function(){function MethodOptions(properties){this.uninterpretedOption=[];this[".google.api.methodSignature"]=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}MethodOptions.prototype.deprecated=false;MethodOptions.prototype.idempotencyLevel=0;MethodOptions.prototype.features=null;MethodOptions.prototype.uninterpretedOption=$util.emptyArray;MethodOptions.prototype[".google.api.http"]=null;MethodOptions.prototype[".google.api.methodSignature"]=$util.emptyArray;MethodOptions.create=function create(properties){return new MethodOptions(properties)};MethodOptions.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.deprecated!=null&&Object.hasOwnProperty.call(message,"deprecated"))writer.uint32(264).bool(message.deprecated);if(message.idempotencyLevel!=null&&Object.hasOwnProperty.call(message,"idempotencyLevel"))writer.uint32(272).int32(message.idempotencyLevel);if(message.features!=null&&Object.hasOwnProperty.call(message,"features"))$root.google.protobuf.FeatureSet.encode(message.features,writer.uint32(282).fork()).ldelim();if(message.uninterpretedOption!=null&&message.uninterpretedOption.length)for(var i=0;i<message.uninterpretedOption.length;++i)$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i],writer.uint32(7994).fork()).ldelim();if(message[".google.api.methodSignature"]!=null&&message[".google.api.methodSignature"].length)for(var i=0;i<message[".google.api.methodSignature"].length;++i)writer.uint32(8410).string(message[".google.api.methodSignature"][i]);if(message[".google.api.http"]!=null&&Object.hasOwnProperty.call(message,".google.api.http"))$root.google.api.HttpRule.encode(message[".google.api.http"],writer.uint32(578365826).fork()).ldelim();return writer};MethodOptions.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};MethodOptions.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodOptions;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 33:{message.deprecated=reader.bool();break}case 34:{message.idempotencyLevel=reader.int32();break}case 35:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 72295728:{message[".google.api.http"]=$root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1);break}case 1051:{if(!(message[".google.api.methodSignature"]&&message[".google.api.methodSignature"].length))message[".google.api.methodSignature"]=[];message[".google.api.methodSignature"].push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};MethodOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.idempotencyLevel!=null&&message.hasOwnProperty("idempotencyLevel"))switch(message.idempotencyLevel){default:return"idempotencyLevel: enum value expected";case 0:case 1:case 2:break}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i<message.uninterpretedOption.length;++i){var error=$root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i],long+1);if(error)return"uninterpretedOption."+error}}if(message[".google.api.http"]!=null&&message.hasOwnProperty(".google.api.http")){var error=$root.google.api.HttpRule.verify(message[".google.api.http"],long+1);if(error)return".google.api.http."+error}if(message[".google.api.methodSignature"]!=null&&message.hasOwnProperty(".google.api.methodSignature")){if(!Array.isArray(message[".google.api.methodSignature"]))return".google.api.methodSignature: array expected";for(var i=0;i<message[".google.api.methodSignature"].length;++i)if(!$util.isString(message[".google.api.methodSignature"][i]))return".google.api.methodSignature: string[] expected"}return null};MethodOptions.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MethodOptions)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);switch(object.idempotencyLevel){default:if(typeof object.idempotencyLevel==="number"){message.idempotencyLevel=object.idempotencyLevel;break}break;case"IDEMPOTENCY_UNKNOWN":case 0:message.idempotencyLevel=0;break;case"NO_SIDE_EFFECTS":case 1:message.idempotencyLevel=1;break;case"IDEMPOTENT":case 2:message.idempotencyLevel=2;break}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MethodOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i<object.uninterpretedOption.length;++i){if(typeof object.uninterpretedOption[i]!=="object")throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");message.uninterpretedOption[i]=$root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i],long+1)}}if(object[".google.api.http"]!=null){if(typeof object[".google.api.http"]!=="object")throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");message[".google.api.http"]=$root.google.api.HttpRule.fromObject(object[".google.api.http"],long+1)}if(object[".google.api.methodSignature"]){if(!Array.isArray(object[".google.api.methodSignature"]))throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");message[".google.api.methodSignature"]=[];for(var i=0;i<object[".google.api.methodSignature"].length;++i)message[".google.api.methodSignature"][i]=String(object[".google.api.methodSignature"][i])}return message};MethodOptions.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.uninterpretedOption=[];object[".google.api.methodSignature"]=[]}if(options.defaults){object.deprecated=false;object.idempotencyLevel=options.enums===String?"IDEMPOTENCY_UNKNOWN":0;object.features=null;object[".google.api.http"]=null}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))object.deprecated=message.deprecated;if(message.idempotencyLevel!=null&&message.hasOwnProperty("idempotencyLevel"))object.idempotencyLevel=options.enums===String?$root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel]===undefined?message.idempotencyLevel:$root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel]:message.idempotencyLevel;if(message.features!=null&&message.hasOwnProperty("features"))object.features=$root.google.protobuf.FeatureSet.toObject(message.features,options);if(message.uninterpretedOption&&message.uninterpretedOption.length){object.uninterpretedOption=[];for(var j=0;j<message.uninterpretedOption.length;++j)object.uninterpretedOption[j]=$root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j],options)}if(message[".google.api.methodSignature"]&&message[".google.api.methodSignature"].length){object[".google.api.methodSignature"]=[];for(var j=0;j<message[".google.api.methodSignature"].length;++j)object[".google.api.methodSignature"][j]=message[".google.api.methodSignature"][j]}if(message[".google.api.http"]!=null&&message.hasOwnProperty(".google.api.http"))object[".google.api.http"]=$root.google.api.HttpRule.toObject(message[".google.api.http"],options);return object};MethodOptions.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodOptions.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MethodOptions"};MethodOptions.IdempotencyLevel=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="IDEMPOTENCY_UNKNOWN"]=0;values[valuesById[1]="NO_SIDE_EFFECTS"]=1;values[valuesById[2]="IDEMPOTENT"]=2;return values}();return MethodOptions}();protobuf.UninterpretedOption=function(){function UninterpretedOption(properties){this.name=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}UninterpretedOption.prototype.name=$util.emptyArray;UninterpretedOption.prototype.identifierValue="";UninterpretedOption.prototype.positiveIntValue=$util.Long?$util.Long.fromBits(0,0,true):0;UninterpretedOption.prototype.negativeIntValue=$util.Long?$util.Long.fromBits(0,0,false):0;UninterpretedOption.prototype.doubleValue=0;UninterpretedOption.prototype.stringValue=$util.newBuffer([]);UninterpretedOption.prototype.aggregateValue="";UninterpretedOption.create=function create(properties){return new UninterpretedOption(properties)};UninterpretedOption.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.name!=null&&message.name.length)for(var i=0;i<message.name.length;++i)$root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i],writer.uint32(18).fork()).ldelim();if(message.identifierValue!=null&&Object.hasOwnProperty.call(message,"identifierValue"))writer.uint32(26).string(message.identifierValue);if(message.positiveIntValue!=null&&Object.hasOwnProperty.call(message,"positiveIntValue"))writer.uint32(32).uint64(message.positiveIntValue);if(message.negativeIntValue!=null&&Object.hasOwnProperty.call(message,"negativeIntValue"))writer.uint32(40).int64(message.negativeIntValue);if(message.doubleValue!=null&&Object.hasOwnProperty.call(message,"doubleValue"))writer.uint32(49).double(message.doubleValue);if(message.stringValue!=null&&Object.hasOwnProperty.call(message,"stringValue"))writer.uint32(58).bytes(message.stringValue);if(message.aggregateValue!=null&&Object.hasOwnProperty.call(message,"aggregateValue"))writer.uint32(66).string(message.aggregateValue);return writer};UninterpretedOption.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};UninterpretedOption.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 2:{if(!(message.name&&message.name.length))message.name=[];message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.identifierValue=reader.string();break}case 4:{message.positiveIntValue=reader.uint64();break}case 5:{message.negativeIntValue=reader.int64();break}case 6:{message.doubleValue=reader.double();break}case 7:{message.stringValue=reader.bytes();break}case 8:{message.aggregateValue=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};UninterpretedOption.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};UninterpretedOption.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name")){if(!Array.isArray(message.name))return"name: array expected";for(var i=0;i<message.name.length;++i){var error=$root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i],long+1);if(error)return"name."+error}}if(message.identifierValue!=null&&message.hasOwnProperty("identifierValue"))if(!$util.isString(message.identifierValue))return"identifierValue: string expected";if(message.positiveIntValue!=null&&message.hasOwnProperty("positiveIntValue"))if(!$util.isInteger(message.positiveIntValue)&&!(message.positiveIntValue&&$util.isInteger(message.positiveIntValue.low)&&$util.isInteger(message.positiveIntValue.high)))return"positiveIntValue: integer|Long expected";if(message.negativeIntValue!=null&&message.hasOwnProperty("negativeIntValue"))if(!$util.isInteger(message.negativeIntValue)&&!(message.negativeIntValue&&$util.isInteger(message.negativeIntValue.low)&&$util.isInteger(message.negativeIntValue.high)))return"negativeIntValue: integer|Long expected";if(message.doubleValue!=null&&message.hasOwnProperty("doubleValue"))if(typeof message.doubleValue!=="number")return"doubleValue: number expected";if(message.stringValue!=null&&message.hasOwnProperty("stringValue"))if(!(message.stringValue&&typeof message.stringValue.length==="number"||$util.isString(message.stringValue)))return"stringValue: buffer expected";if(message.aggregateValue!=null&&message.hasOwnProperty("aggregateValue"))if(!$util.isString(message.aggregateValue))return"aggregateValue: string expected";return null};UninterpretedOption.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.UninterpretedOption)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption;if(object.name){if(!Array.isArray(object.name))throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");message.name=[];for(var i=0;i<object.name.length;++i){if(typeof object.name[i]!=="object")throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");message.name[i]=$root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i],long+1)}}if(object.identifierValue!=null)message.identifierValue=String(object.identifierValue);if(object.positiveIntValue!=null)if($util.Long)(message.positiveIntValue=$util.Long.fromValue(object.positiveIntValue)).unsigned=true;else if(typeof object.positiveIntValue==="string")message.positiveIntValue=parseInt(object.positiveIntValue,10);else if(typeof object.positiveIntValue==="number")message.positiveIntValue=object.positiveIntValue;else if(typeof object.positiveIntValue==="object")message.positiveIntValue=new $util.LongBits(object.positiveIntValue.low>>>0,object.positiveIntValue.high>>>0).toNumber(true);if(object.negativeIntValue!=null)if($util.Long)(message.negativeIntValue=$util.Long.fromValue(object.negativeIntValue)).unsigned=false;else if(typeof object.negativeIntValue==="string")message.negativeIntValue=parseInt(object.negativeIntValue,10);else if(typeof object.negativeIntValue==="number")message.negativeIntValue=object.negativeIntValue;else if(typeof object.negativeIntValue==="object")message.negativeIntValue=new $util.LongBits(object.negativeIntValue.low>>>0,object.negativeIntValue.high>>>0).toNumber();if(object.doubleValue!=null)message.doubleValue=Number(object.doubleValue);if(object.stringValue!=null)if(typeof object.stringValue==="string")$util.base64.decode(object.stringValue,message.stringValue=$util.newBuffer($util.base64.length(object.stringValue)),0);else if(object.stringValue.length>=0)message.stringValue=object.stringValue;if(object.aggregateValue!=null)message.aggregateValue=String(object.aggregateValue);return message};UninterpretedOption.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.name=[];if(options.defaults){object.identifierValue="";if($util.Long){var long=new $util.Long(0,0,true);object.positiveIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.positiveIntValue=options.longs===String?"0":0;if($util.Long){var long=new $util.Long(0,0,false);object.negativeIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.negativeIntValue=options.longs===String?"0":0;object.doubleValue=0;if(options.bytes===String)object.stringValue="";else{object.stringValue=[];if(options.bytes!==Array)object.stringValue=$util.newBuffer(object.stringValue)}object.aggregateValue=""}if(message.name&&message.name.length){object.name=[];for(var j=0;j<message.name.length;++j)object.name[j]=$root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j],options)}if(message.identifierValue!=null&&message.hasOwnProperty("identifierValue"))object.identifierValue=message.identifierValue;if(message.positiveIntValue!=null&&message.hasOwnProperty("positiveIntValue"))if(typeof message.positiveIntValue==="number")object.positiveIntValue=options.longs===String?String(message.positiveIntValue):message.positiveIntValue;else object.positiveIntValue=options.longs===String?$util.Long.prototype.toString.call(message.positiveIntValue):options.longs===Number?new $util.LongBits(message.positiveIntValue.low>>>0,message.positiveIntValue.high>>>0).toNumber(true):message.positiveIntValue;if(message.negativeIntValue!=null&&message.hasOwnProperty("negativeIntValue"))if(typeof message.negativeIntValue==="number")object.negativeIntValue=options.longs===String?String(message.negativeIntValue):message.negativeIntValue;else object.negativeIntValue=options.longs===String?$util.Long.prototype.toString.call(message.negativeIntValue):options.longs===Number?new $util.LongBits(message.negativeIntValue.low>>>0,message.negativeIntValue.high>>>0).toNumber():message.negativeIntValue;if(message.doubleValue!=null&&message.hasOwnProperty("doubleValue"))object.doubleValue=options.json&&!isFinite(message.doubleValue)?String(message.doubleValue):message.doubleValue;if(message.stringValue!=null&&message.hasOwnProperty("stringValue"))object.stringValue=options.bytes===String?$util.base64.encode(message.stringValue,0,message.stringValue.length):options.bytes===Array?Array.prototype.slice.call(message.stringValue):message.stringValue;if(message.aggregateValue!=null&&message.hasOwnProperty("aggregateValue"))object.aggregateValue=message.aggregateValue;return object};UninterpretedOption.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};UninterpretedOption.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption"};UninterpretedOption.NamePart=function(){function NamePart(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}NamePart.prototype.namePart="";NamePart.prototype.isExtension=false;NamePart.create=function create(properties){return new NamePart(properties)};NamePart.encode=function encode(message,writer){if(!writer)writer=$Writer.create();writer.uint32(10).string(message.namePart);writer.uint32(16).bool(message.isExtension);return writer};NamePart.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};NamePart.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption.NamePart;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.namePart=reader.string();break}case 2:{message.isExtension=reader.bool();break}default:reader.skipType(tag&7,long);break}}if(!message.hasOwnProperty("namePart"))throw $util.ProtocolError("missing required 'namePart'",{instance:message});if(!message.hasOwnProperty("isExtension"))throw $util.ProtocolError("missing required 'isExtension'",{instance:message});return message};NamePart.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NamePart.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(!$util.isString(message.namePart))return"namePart: string expected";if(typeof message.isExtension!=="boolean")return"isExtension: boolean expected";return null};NamePart.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.UninterpretedOption.NamePart)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption.NamePart;if(object.namePart!=null)message.namePart=String(object.namePart);if(object.isExtension!=null)message.isExtension=Boolean(object.isExtension);return message};NamePart.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.namePart="";object.isExtension=false}if(message.namePart!=null&&message.hasOwnProperty("namePart"))object.namePart=message.namePart;if(message.isExtension!=null&&message.hasOwnProperty("isExtension"))object.isExtension=message.isExtension;return object};NamePart.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NamePart.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption.NamePart"};return NamePart}();return UninterpretedOption}();protobuf.FeatureSet=function(){function FeatureSet(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSet.prototype.fieldPresence=0;FeatureSet.prototype.enumType=0;FeatureSet.prototype.repeatedFieldEncoding=0;FeatureSet.prototype.utf8Validation=0;FeatureSet.prototype.messageEncoding=0;FeatureSet.prototype.jsonFormat=0;FeatureSet.prototype.enforceNamingStyle=0;FeatureSet.prototype.defaultSymbolVisibility=0;FeatureSet.prototype.enforceProtoLimits=0;FeatureSet.create=function create(properties){return new FeatureSet(properties)};FeatureSet.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.fieldPresence!=null&&Object.hasOwnProperty.call(message,"fieldPresence"))writer.uint32(8).int32(message.fieldPresence);if(message.enumType!=null&&Object.hasOwnProperty.call(message,"enumType"))writer.uint32(16).int32(message.enumType);if(message.repeatedFieldEncoding!=null&&Object.hasOwnProperty.call(message,"repeatedFieldEncoding"))writer.uint32(24).int32(message.repeatedFieldEncoding);if(message.utf8Validation!=null&&Object.hasOwnProperty.call(message,"utf8Validation"))writer.uint32(32).int32(message.utf8Validation);if(message.messageEncoding!=null&&Object.hasOwnProperty.call(message,"messageEncoding"))writer.uint32(40).int32(message.messageEncoding);if(message.jsonFormat!=null&&Object.hasOwnProperty.call(message,"jsonFormat"))writer.uint32(48).int32(message.jsonFormat);if(message.enforceNamingStyle!=null&&Object.hasOwnProperty.call(message,"enforceNamingStyle"))writer.uint32(56).int32(message.enforceNamingStyle);if(message.defaultSymbolVisibility!=null&&Object.hasOwnProperty.call(message,"defaultSymbolVisibility"))writer.uint32(64).int32(message.defaultSymbolVisibility);if(message.enforceProtoLimits!=null&&Object.hasOwnProperty.call(message,"enforceProtoLimits"))writer.uint32(72).int32(message.enforceProtoLimits);return writer};FeatureSet.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSet.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.fieldPresence=reader.int32();break}case 2:{message.enumType=reader.int32();break}case 3:{message.repeatedFieldEncoding=reader.int32();break}case 4:{message.utf8Validation=reader.int32();break}case 5:{message.messageEncoding=reader.int32();break}case 6:{message.jsonFormat=reader.int32();break}case 7:{message.enforceNamingStyle=reader.int32();break}case 8:{message.defaultSymbolVisibility=reader.int32();break}case 9:{message.enforceProtoLimits=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))switch(message.fieldPresence){default:return"fieldPresence: enum value expected";case 0:case 1:case 2:case 3:break}if(message.enumType!=null&&message.hasOwnProperty("enumType"))switch(message.enumType){default:return"enumType: enum value expected";case 0:case 1:case 2:break}if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))switch(message.repeatedFieldEncoding){default:return"repeatedFieldEncoding: enum value expected";case 0:case 1:case 2:break}if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))switch(message.utf8Validation){default:return"utf8Validation: enum value expected";case 0:case 2:case 3:break}if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))switch(message.messageEncoding){default:return"messageEncoding: enum value expected";case 0:case 1:case 2:break}if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))switch(message.jsonFormat){default:return"jsonFormat: enum value expected";case 0:case 1:case 2:break}if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))switch(message.enforceNamingStyle){default:return"enforceNamingStyle: enum value expected";case 0:case 1:case 2:case 3:break}if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))switch(message.defaultSymbolVisibility){default:return"defaultSymbolVisibility: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(message.enforceProtoLimits!=null&&message.hasOwnProperty("enforceProtoLimits"))switch(message.enforceProtoLimits){default:return"enforceProtoLimits: enum value expected";case 0:case 1:case 2:break}return null};FeatureSet.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSet;switch(object.fieldPresence){default:if(typeof object.fieldPresence==="number"){message.fieldPresence=object.fieldPresence;break}break;case"FIELD_PRESENCE_UNKNOWN":case 0:message.fieldPresence=0;break;case"EXPLICIT":case 1:message.fieldPresence=1;break;case"IMPLICIT":case 2:message.fieldPresence=2;break;case"LEGACY_REQUIRED":case 3:message.fieldPresence=3;break}switch(object.enumType){default:if(typeof object.enumType==="number"){message.enumType=object.enumType;break}break;case"ENUM_TYPE_UNKNOWN":case 0:message.enumType=0;break;case"OPEN":case 1:message.enumType=1;break;case"CLOSED":case 2:message.enumType=2;break}switch(object.repeatedFieldEncoding){default:if(typeof object.repeatedFieldEncoding==="number"){message.repeatedFieldEncoding=object.repeatedFieldEncoding;break}break;case"REPEATED_FIELD_ENCODING_UNKNOWN":case 0:message.repeatedFieldEncoding=0;break;case"PACKED":case 1:message.repeatedFieldEncoding=1;break;case"EXPANDED":case 2:message.repeatedFieldEncoding=2;break}switch(object.utf8Validation){default:if(typeof object.utf8Validation==="number"){message.utf8Validation=object.utf8Validation;break}break;case"UTF8_VALIDATION_UNKNOWN":case 0:message.utf8Validation=0;break;case"VERIFY":case 2:message.utf8Validation=2;break;case"NONE":case 3:message.utf8Validation=3;break}switch(object.messageEncoding){default:if(typeof object.messageEncoding==="number"){message.messageEncoding=object.messageEncoding;break}break;case"MESSAGE_ENCODING_UNKNOWN":case 0:message.messageEncoding=0;break;case"LENGTH_PREFIXED":case 1:message.messageEncoding=1;break;case"DELIMITED":case 2:message.messageEncoding=2;break}switch(object.jsonFormat){default:if(typeof object.jsonFormat==="number"){message.jsonFormat=object.jsonFormat;break}break;case"JSON_FORMAT_UNKNOWN":case 0:message.jsonFormat=0;break;case"ALLOW":case 1:message.jsonFormat=1;break;case"LEGACY_BEST_EFFORT":case 2:message.jsonFormat=2;break}switch(object.enforceNamingStyle){default:if(typeof object.enforceNamingStyle==="number"){message.enforceNamingStyle=object.enforceNamingStyle;break}break;case"ENFORCE_NAMING_STYLE_UNKNOWN":case 0:message.enforceNamingStyle=0;break;case"STYLE2024":case 1:message.enforceNamingStyle=1;break;case"STYLE_LEGACY":case 2:message.enforceNamingStyle=2;break;case"STYLE2026":case 3:message.enforceNamingStyle=3;break}switch(object.defaultSymbolVisibility){default:if(typeof object.defaultSymbolVisibility==="number"){message.defaultSymbolVisibility=object.defaultSymbolVisibility;break}break;case"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":case 0:message.defaultSymbolVisibility=0;break;case"EXPORT_ALL":case 1:message.defaultSymbolVisibility=1;break;case"EXPORT_TOP_LEVEL":case 2:message.defaultSymbolVisibility=2;break;case"LOCAL_ALL":case 3:message.defaultSymbolVisibility=3;break;case"STRICT":case 4:message.defaultSymbolVisibility=4;break}switch(object.enforceProtoLimits){default:if(typeof object.enforceProtoLimits==="number"){message.enforceProtoLimits=object.enforceProtoLimits;break}break;case"PROTO_LIMITS_UNKNOWN":case 0:message.enforceProtoLimits=0;break;case"LEGACY_NO_EXPLICIT_LIMITS":case 1:message.enforceProtoLimits=1;break;case"PROTO_LIMITS2026":case 2:message.enforceProtoLimits=2;break}return message};FeatureSet.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.fieldPresence=options.enums===String?"FIELD_PRESENCE_UNKNOWN":0;object.enumType=options.enums===String?"ENUM_TYPE_UNKNOWN":0;object.repeatedFieldEncoding=options.enums===String?"REPEATED_FIELD_ENCODING_UNKNOWN":0;object.utf8Validation=options.enums===String?"UTF8_VALIDATION_UNKNOWN":0;object.messageEncoding=options.enums===String?"MESSAGE_ENCODING_UNKNOWN":0;object.jsonFormat=options.enums===String?"JSON_FORMAT_UNKNOWN":0;object.enforceNamingStyle=options.enums===String?"ENFORCE_NAMING_STYLE_UNKNOWN":0;object.defaultSymbolVisibility=options.enums===String?"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":0;object.enforceProtoLimits=options.enums===String?"PROTO_LIMITS_UNKNOWN":0}if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))object.fieldPresence=options.enums===String?$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]===undefined?message.fieldPresence:$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]:message.fieldPresence;if(message.enumType!=null&&message.hasOwnProperty("enumType"))object.enumType=options.enums===String?$root.google.protobuf.FeatureSet.EnumType[message.enumType]===undefined?message.enumType:$root.google.protobuf.FeatureSet.EnumType[message.enumType]:message.enumType;if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))object.repeatedFieldEncoding=options.enums===String?$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]===undefined?message.repeatedFieldEncoding:$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]:message.repeatedFieldEncoding;if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))object.utf8Validation=options.enums===String?$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]===undefined?message.utf8Validation:$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]:message.utf8Validation;if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))object.messageEncoding=options.enums===String?$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]===undefined?message.messageEncoding:$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]:message.messageEncoding;if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))object.jsonFormat=options.enums===String?$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]===undefined?message.jsonFormat:$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]:message.jsonFormat;if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))object.enforceNamingStyle=options.enums===String?$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]===undefined?message.enforceNamingStyle:$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]:message.enforceNamingStyle;if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))object.defaultSymbolVisibility=options.enums===String?$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]===undefined?message.defaultSymbolVisibility:$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]:message.defaultSymbolVisibility;if(message.enforceProtoLimits!=null&&message.hasOwnProperty("enforceProtoLimits"))object.enforceProtoLimits=options.enums===String?$root.google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits[message.enforceProtoLimits]===undefined?message.enforceProtoLimits:$root.google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits[message.enforceProtoLimits]:message.enforceProtoLimits;return object};FeatureSet.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSet.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet"};FeatureSet.FieldPresence=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="FIELD_PRESENCE_UNKNOWN"]=0;values[valuesById[1]="EXPLICIT"]=1;values[valuesById[2]="IMPLICIT"]=2;values[valuesById[3]="LEGACY_REQUIRED"]=3;return values}();FeatureSet.EnumType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENUM_TYPE_UNKNOWN"]=0;values[valuesById[1]="OPEN"]=1;values[valuesById[2]="CLOSED"]=2;return values}();FeatureSet.RepeatedFieldEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="REPEATED_FIELD_ENCODING_UNKNOWN"]=0;values[valuesById[1]="PACKED"]=1;values[valuesById[2]="EXPANDED"]=2;return values}();FeatureSet.Utf8Validation=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="UTF8_VALIDATION_UNKNOWN"]=0;values[valuesById[2]="VERIFY"]=2;values[valuesById[3]="NONE"]=3;return values}();FeatureSet.MessageEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="MESSAGE_ENCODING_UNKNOWN"]=0;values[valuesById[1]="LENGTH_PREFIXED"]=1;values[valuesById[2]="DELIMITED"]=2;return values}();FeatureSet.JsonFormat=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="JSON_FORMAT_UNKNOWN"]=0;values[valuesById[1]="ALLOW"]=1;values[valuesById[2]="LEGACY_BEST_EFFORT"]=2;return values}();FeatureSet.EnforceNamingStyle=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENFORCE_NAMING_STYLE_UNKNOWN"]=0;values[valuesById[1]="STYLE2024"]=1;values[valuesById[2]="STYLE_LEGACY"]=2;values[valuesById[3]="STYLE2026"]=3;return values}();FeatureSet.VisibilityFeature=function(){function VisibilityFeature(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}VisibilityFeature.create=function create(properties){return new VisibilityFeature(properties)};VisibilityFeature.encode=function encode(message,writer){if(!writer)writer=$Writer.create();return writer};VisibilityFeature.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};VisibilityFeature.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet.VisibilityFeature;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){default:reader.skipType(tag&7,long);break}}return message};VisibilityFeature.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};VisibilityFeature.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";return null};VisibilityFeature.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");return new $root.google.protobuf.FeatureSet.VisibilityFeature};VisibilityFeature.toObject=function toObject(){return{}};VisibilityFeature.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};VisibilityFeature.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet.VisibilityFeature"};VisibilityFeature.DefaultSymbolVisibility=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"]=0;values[valuesById[1]="EXPORT_ALL"]=1;values[valuesById[2]="EXPORT_TOP_LEVEL"]=2;values[valuesById[3]="LOCAL_ALL"]=3;values[valuesById[4]="STRICT"]=4;return values}();return VisibilityFeature}();FeatureSet.ProtoLimitsFeature=function(){function ProtoLimitsFeature(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}ProtoLimitsFeature.create=function create(properties){return new ProtoLimitsFeature(properties)};ProtoLimitsFeature.encode=function encode(message,writer){if(!writer)writer=$Writer.create();return writer};ProtoLimitsFeature.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};ProtoLimitsFeature.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet.ProtoLimitsFeature;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){default:reader.skipType(tag&7,long);break}}return message};ProtoLimitsFeature.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ProtoLimitsFeature.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";return null};ProtoLimitsFeature.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet.ProtoLimitsFeature)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");return new $root.google.protobuf.FeatureSet.ProtoLimitsFeature};ProtoLimitsFeature.toObject=function toObject(){return{}};ProtoLimitsFeature.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ProtoLimitsFeature.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet.ProtoLimitsFeature"};ProtoLimitsFeature.EnforceProtoLimits=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="PROTO_LIMITS_UNKNOWN"]=0;values[valuesById[1]="LEGACY_NO_EXPLICIT_LIMITS"]=1;values[valuesById[2]="PROTO_LIMITS2026"]=2;return values}();return ProtoLimitsFeature}();return FeatureSet}();protobuf.FeatureSetDefaults=function(){function FeatureSetDefaults(properties){this.defaults=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSetDefaults.prototype.defaults=$util.emptyArray;FeatureSetDefaults.prototype.minimumEdition=0;FeatureSetDefaults.prototype.maximumEdition=0;FeatureSetDefaults.create=function create(properties){return new FeatureSetDefaults(properties)};FeatureSetDefaults.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.defaults!=null&&message.defaults.length)for(var i=0;i<message.defaults.length;++i)$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i],writer.uint32(10).fork()).ldelim();if(message.minimumEdition!=null&&Object.hasOwnProperty.call(message,"minimumEdition"))writer.uint32(32).int32(message.minimumEdition);if(message.maximumEdition!=null&&Object.hasOwnProperty.call(message,"maximumEdition"))writer.uint32(40).int32(message.maximumEdition);return writer};FeatureSetDefaults.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSetDefaults.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.defaults&&message.defaults.length))message.defaults=[];message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{message.minimumEdition=reader.int32();break}case 5:{message.maximumEdition=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetDefaults.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetDefaults.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.defaults!=null&&message.hasOwnProperty("defaults")){if(!Array.isArray(message.defaults))return"defaults: array expected";for(var i=0;i<message.defaults.length;++i){var error=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i],long+1);if(error)return"defaults."+error}}if(message.minimumEdition!=null&&message.hasOwnProperty("minimumEdition"))switch(message.minimumEdition){default:return"minimumEdition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.maximumEdition!=null&&message.hasOwnProperty("maximumEdition"))switch(message.maximumEdition){default:return"maximumEdition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}return null};FeatureSetDefaults.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSetDefaults)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults;if(object.defaults){if(!Array.isArray(object.defaults))throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");message.defaults=[];for(var i=0;i<object.defaults.length;++i){if(typeof object.defaults[i]!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");message.defaults[i]=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i],long+1)}}switch(object.minimumEdition){default:if(typeof object.minimumEdition==="number"){message.minimumEdition=object.minimumEdition;break}break;case"EDITION_UNKNOWN":case 0:message.minimumEdition=0;break;case"EDITION_LEGACY":case 900:message.minimumEdition=900;break;case"EDITION_PROTO2":case 998:message.minimumEdition=998;break;case"EDITION_PROTO3":case 999:message.minimumEdition=999;break;case"EDITION_2023":case 1e3:message.minimumEdition=1e3;break;case"EDITION_2024":case 1001:message.minimumEdition=1001;break;case"EDITION_2026":case 1002:message.minimumEdition=1002;break;case"EDITION_UNSTABLE":case 9999:message.minimumEdition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.minimumEdition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.minimumEdition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.minimumEdition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.minimumEdition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.minimumEdition=99999;break;case"EDITION_MAX":case 2147483647:message.minimumEdition=2147483647;break}switch(object.maximumEdition){default:if(typeof object.maximumEdition==="number"){message.maximumEdition=object.maximumEdition;break}break;case"EDITION_UNKNOWN":case 0:message.maximumEdition=0;break;case"EDITION_LEGACY":case 900:message.maximumEdition=900;break;case"EDITION_PROTO2":case 998:message.maximumEdition=998;break;case"EDITION_PROTO3":case 999:message.maximumEdition=999;break;case"EDITION_2023":case 1e3:message.maximumEdition=1e3;break;case"EDITION_2024":case 1001:message.maximumEdition=1001;break;case"EDITION_2026":case 1002:message.maximumEdition=1002;break;case"EDITION_UNSTABLE":case 9999:message.maximumEdition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.maximumEdition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.maximumEdition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.maximumEdition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.maximumEdition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.maximumEdition=99999;break;case"EDITION_MAX":case 2147483647:message.maximumEdition=2147483647;break}return message};FeatureSetDefaults.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.defaults=[];if(options.defaults){object.minimumEdition=options.enums===String?"EDITION_UNKNOWN":0;object.maximumEdition=options.enums===String?"EDITION_UNKNOWN":0}if(message.defaults&&message.defaults.length){object.defaults=[];for(var j=0;j<message.defaults.length;++j)object.defaults[j]=$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j],options)}if(message.minimumEdition!=null&&message.hasOwnProperty("minimumEdition"))object.minimumEdition=options.enums===String?$root.google.protobuf.Edition[message.minimumEdition]===undefined?message.minimumEdition:$root.google.protobuf.Edition[message.minimumEdition]:message.minimumEdition;if(message.maximumEdition!=null&&message.hasOwnProperty("maximumEdition"))object.maximumEdition=options.enums===String?$root.google.protobuf.Edition[message.maximumEdition]===undefined?message.maximumEdition:$root.google.protobuf.Edition[message.maximumEdition]:message.maximumEdition;return object};FeatureSetDefaults.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSetDefaults.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSetDefaults"};FeatureSetDefaults.FeatureSetEditionDefault=function(){function FeatureSetEditionDefault(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}FeatureSetEditionDefault.prototype.edition=0;FeatureSetEditionDefault.prototype.overridableFeatures=null;FeatureSetEditionDefault.prototype.fixedFeatures=null;FeatureSetEditionDefault.create=function create(properties){return new FeatureSetEditionDefault(properties)};FeatureSetEditionDefault.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.edition!=null&&Object.hasOwnProperty.call(message,"edition"))writer.uint32(24).int32(message.edition);if(message.overridableFeatures!=null&&Object.hasOwnProperty.call(message,"overridableFeatures"))$root.google.protobuf.FeatureSet.encode(message.overridableFeatures,writer.uint32(34).fork()).ldelim();if(message.fixedFeatures!=null&&Object.hasOwnProperty.call(message,"fixedFeatures"))$root.google.protobuf.FeatureSet.encode(message.fixedFeatures,writer.uint32(42).fork()).ldelim();return writer};FeatureSetEditionDefault.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};FeatureSetEditionDefault.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 3:{message.edition=reader.int32();break}case 4:{message.overridableFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.fixedFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetEditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetEditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1002:case 9999:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.overridableFeatures,long+1);if(error)return"overridableFeatures."+error}if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.fixedFeatures,long+1);if(error)return"fixedFeatures."+error}return null};FeatureSetEditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_2026":case 1002:message.edition=1002;break;case"EDITION_UNSTABLE":case 9999:message.edition=9999;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.overridableFeatures!=null){if(typeof object.overridableFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected");message.overridableFeatures=$root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures,long+1)}if(object.fixedFeatures!=null){if(typeof object.fixedFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected");message.fixedFeatures=$root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures,long+1)}return message};FeatureSetEditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.edition=options.enums===String?"EDITION_UNKNOWN":0;object.overridableFeatures=null;object.fixedFeatures=null}if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures"))object.overridableFeatures=$root.google.protobuf.FeatureSet.toObject(message.overridableFeatures,options);if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures"))object.fixedFeatures=$root.google.protobuf.FeatureSet.toObject(message.fixedFeatures,options);return object};FeatureSetEditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSetEditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"};return FeatureSetEditionDefault}();return FeatureSetDefaults}();protobuf.SourceCodeInfo=function(){function SourceCodeInfo(properties){this.location=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}SourceCodeInfo.prototype.location=$util.emptyArray;SourceCodeInfo.create=function create(properties){return new SourceCodeInfo(properties)};SourceCodeInfo.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.location!=null&&message.location.length)for(var i=0;i<message.location.length;++i)$root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i],writer.uint32(10).fork()).ldelim();return writer};SourceCodeInfo.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};SourceCodeInfo.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.location&&message.location.length))message.location=[];message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SourceCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SourceCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){if(!Array.isArray(message.location))return"location: array expected";for(var i=0;i<message.location.length;++i){var error=$root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i],long+1);if(error)return"location."+error}}return null};SourceCodeInfo.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.SourceCodeInfo)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo;if(object.location){if(!Array.isArray(object.location))throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");message.location=[];for(var i=0;i<object.location.length;++i){if(typeof object.location[i]!=="object")throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");message.location[i]=$root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i],long+1)}}return message};SourceCodeInfo.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.location=[];if(message.location&&message.location.length){object.location=[];for(var j=0;j<message.location.length;++j)object.location[j]=$root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j],options)}return object};SourceCodeInfo.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};SourceCodeInfo.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.SourceCodeInfo"};SourceCodeInfo.Location=function(){function Location(properties){this.path=[];this.span=[];this.leadingDetachedComments=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Location.prototype.path=$util.emptyArray;Location.prototype.span=$util.emptyArray;Location.prototype.leadingComments="";Location.prototype.trailingComments="";Location.prototype.leadingDetachedComments=$util.emptyArray;Location.create=function create(properties){return new Location(properties)};Location.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.path!=null&&message.path.length){writer.uint32(10).fork();for(var i=0;i<message.path.length;++i)writer.int32(message.path[i]);writer.ldelim()}if(message.span!=null&&message.span.length){writer.uint32(18).fork();for(var i=0;i<message.span.length;++i)writer.int32(message.span[i]);writer.ldelim()}if(message.leadingComments!=null&&Object.hasOwnProperty.call(message,"leadingComments"))writer.uint32(26).string(message.leadingComments);if(message.trailingComments!=null&&Object.hasOwnProperty.call(message,"trailingComments"))writer.uint32(34).string(message.trailingComments);if(message.leadingDetachedComments!=null&&message.leadingDetachedComments.length)for(var i=0;i<message.leadingDetachedComments.length;++i)writer.uint32(50).string(message.leadingDetachedComments[i]);return writer};Location.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Location.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo.Location;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.path.push(reader.int32())}else message.path.push(reader.int32());break}case 2:{if(!(message.span&&message.span.length))message.span=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.span.push(reader.int32())}else message.span.push(reader.int32());break}case 3:{message.leadingComments=reader.string();break}case 4:{message.trailingComments=reader.string();break}case 6:{if(!(message.leadingDetachedComments&&message.leadingDetachedComments.length))message.leadingDetachedComments=[];message.leadingDetachedComments.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};Location.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Location.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i<message.path.length;++i)if(!$util.isInteger(message.path[i]))return"path: integer[] expected"}if(message.span!=null&&message.hasOwnProperty("span")){if(!Array.isArray(message.span))return"span: array expected";for(var i=0;i<message.span.length;++i)if(!$util.isInteger(message.span[i]))return"span: integer[] expected"}if(message.leadingComments!=null&&message.hasOwnProperty("leadingComments"))if(!$util.isString(message.leadingComments))return"leadingComments: string expected";if(message.trailingComments!=null&&message.hasOwnProperty("trailingComments"))if(!$util.isString(message.trailingComments))return"trailingComments: string expected";if(message.leadingDetachedComments!=null&&message.hasOwnProperty("leadingDetachedComments")){if(!Array.isArray(message.leadingDetachedComments))return"leadingDetachedComments: array expected";for(var i=0;i<message.leadingDetachedComments.length;++i)if(!$util.isString(message.leadingDetachedComments[i]))return"leadingDetachedComments: string[] expected"}return null};Location.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.SourceCodeInfo.Location)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo.Location;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");message.path=[];for(var i=0;i<object.path.length;++i)message.path[i]=object.path[i]|0}if(object.span){if(!Array.isArray(object.span))throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");message.span=[];for(var i=0;i<object.span.length;++i)message.span[i]=object.span[i]|0}if(object.leadingComments!=null)message.leadingComments=String(object.leadingComments);if(object.trailingComments!=null)message.trailingComments=String(object.trailingComments);if(object.leadingDetachedComments){if(!Array.isArray(object.leadingDetachedComments))throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");message.leadingDetachedComments=[];for(var i=0;i<object.leadingDetachedComments.length;++i)message.leadingDetachedComments[i]=String(object.leadingDetachedComments[i])}return message};Location.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults){object.path=[];object.span=[];object.leadingDetachedComments=[]}if(options.defaults){object.leadingComments="";object.trailingComments=""}if(message.path&&message.path.length){object.path=[];for(var j=0;j<message.path.length;++j)object.path[j]=message.path[j]}if(message.span&&message.span.length){object.span=[];for(var j=0;j<message.span.length;++j)object.span[j]=message.span[j]}if(message.leadingComments!=null&&message.hasOwnProperty("leadingComments"))object.leadingComments=message.leadingComments;if(message.trailingComments!=null&&message.hasOwnProperty("trailingComments"))object.trailingComments=message.trailingComments;if(message.leadingDetachedComments&&message.leadingDetachedComments.length){object.leadingDetachedComments=[];for(var j=0;j<message.leadingDetachedComments.length;++j)object.leadingDetachedComments[j]=message.leadingDetachedComments[j]}return object};Location.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Location.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.SourceCodeInfo.Location"};return Location}();return SourceCodeInfo}();protobuf.GeneratedCodeInfo=function(){function GeneratedCodeInfo(properties){this.annotation=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}GeneratedCodeInfo.prototype.annotation=$util.emptyArray;GeneratedCodeInfo.create=function create(properties){return new GeneratedCodeInfo(properties)};GeneratedCodeInfo.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.annotation!=null&&message.annotation.length)for(var i=0;i<message.annotation.length;++i)$root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i],writer.uint32(10).fork()).ldelim();return writer};GeneratedCodeInfo.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};GeneratedCodeInfo.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.annotation&&message.annotation.length))message.annotation=[];message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};GeneratedCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GeneratedCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.annotation!=null&&message.hasOwnProperty("annotation")){if(!Array.isArray(message.annotation))return"annotation: array expected";for(var i=0;i<message.annotation.length;++i){var error=$root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i],long+1);if(error)return"annotation."+error}}return null};GeneratedCodeInfo.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.GeneratedCodeInfo)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo;if(object.annotation){if(!Array.isArray(object.annotation))throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");message.annotation=[];for(var i=0;i<object.annotation.length;++i){if(typeof object.annotation[i]!=="object")throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");message.annotation[i]=$root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i],long+1)}}return message};GeneratedCodeInfo.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.annotation=[];if(message.annotation&&message.annotation.length){object.annotation=[];for(var j=0;j<message.annotation.length;++j)object.annotation[j]=$root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j],options)}return object};GeneratedCodeInfo.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GeneratedCodeInfo.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.GeneratedCodeInfo"};GeneratedCodeInfo.Annotation=function(){function Annotation(properties){this.path=[];if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Annotation.prototype.path=$util.emptyArray;Annotation.prototype.sourceFile="";Annotation.prototype.begin=0;Annotation.prototype.end=0;Annotation.prototype.semantic=0;Annotation.create=function create(properties){return new Annotation(properties)};Annotation.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.path!=null&&message.path.length){writer.uint32(10).fork();for(var i=0;i<message.path.length;++i)writer.int32(message.path[i]);writer.ldelim()}if(message.sourceFile!=null&&Object.hasOwnProperty.call(message,"sourceFile"))writer.uint32(18).string(message.sourceFile);if(message.begin!=null&&Object.hasOwnProperty.call(message,"begin"))writer.uint32(24).int32(message.begin);if(message.end!=null&&Object.hasOwnProperty.call(message,"end"))writer.uint32(32).int32(message.end);if(message.semantic!=null&&Object.hasOwnProperty.call(message,"semantic"))writer.uint32(40).int32(message.semantic);return writer};Annotation.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Annotation.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos<end2)message.path.push(reader.int32())}else message.path.push(reader.int32());break}case 2:{message.sourceFile=reader.string();break}case 3:{message.begin=reader.int32();break}case 4:{message.end=reader.int32();break}case 5:{message.semantic=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Annotation.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Annotation.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i<message.path.length;++i)if(!$util.isInteger(message.path[i]))return"path: integer[] expected"}if(message.sourceFile!=null&&message.hasOwnProperty("sourceFile"))if(!$util.isString(message.sourceFile))return"sourceFile: string expected";if(message.begin!=null&&message.hasOwnProperty("begin"))if(!$util.isInteger(message.begin))return"begin: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";if(message.semantic!=null&&message.hasOwnProperty("semantic"))switch(message.semantic){default:return"semantic: enum value expected";case 0:case 1:case 2:break}return null};Annotation.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");message.path=[];for(var i=0;i<object.path.length;++i)message.path[i]=object.path[i]|0}if(object.sourceFile!=null)message.sourceFile=String(object.sourceFile);if(object.begin!=null)message.begin=object.begin|0;if(object.end!=null)message.end=object.end|0;switch(object.semantic){default:if(typeof object.semantic==="number"){message.semantic=object.semantic;break}break;case"NONE":case 0:message.semantic=0;break;case"SET":case 1:message.semantic=1;break;case"ALIAS":case 2:message.semantic=2;break}return message};Annotation.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.path=[];if(options.defaults){object.sourceFile="";object.begin=0;object.end=0;object.semantic=options.enums===String?"NONE":0}if(message.path&&message.path.length){object.path=[];for(var j=0;j<message.path.length;++j)object.path[j]=message.path[j]}if(message.sourceFile!=null&&message.hasOwnProperty("sourceFile"))object.sourceFile=message.sourceFile;if(message.begin!=null&&message.hasOwnProperty("begin"))object.begin=message.begin;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;if(message.semantic!=null&&message.hasOwnProperty("semantic"))object.semantic=options.enums===String?$root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic]===undefined?message.semantic:$root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic]:message.semantic;return object};Annotation.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Annotation.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.GeneratedCodeInfo.Annotation"};Annotation.Semantic=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="NONE"]=0;values[valuesById[1]="SET"]=1;values[valuesById[2]="ALIAS"]=2;return values}();return Annotation}();return GeneratedCodeInfo}();protobuf.SymbolVisibility=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="VISIBILITY_UNSET"]=0;values[valuesById[1]="VISIBILITY_LOCAL"]=1;values[valuesById[2]="VISIBILITY_EXPORT"]=2;return values}();protobuf.Duration=function(){function Duration(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Duration.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,false):0;Duration.prototype.nanos=0;Duration.create=function create(properties){return new Duration(properties)};Duration.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.seconds!=null&&Object.hasOwnProperty.call(message,"seconds"))writer.uint32(8).int64(message.seconds);if(message.nanos!=null&&Object.hasOwnProperty.call(message,"nanos"))writer.uint32(16).int32(message.nanos);return writer};Duration.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Duration.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Duration;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.seconds=reader.int64();break}case 2:{message.nanos=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Duration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Duration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(!$util.isInteger(message.seconds)&&!(message.seconds&&$util.isInteger(message.seconds.low)&&$util.isInteger(message.seconds.high)))return"seconds: integer|Long expected";if(message.nanos!=null&&message.hasOwnProperty("nanos"))if(!$util.isInteger(message.nanos))return"nanos: integer expected";return null};Duration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Duration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Duration;if(object.seconds!=null)if($util.Long)(message.seconds=$util.Long.fromValue(object.seconds)).unsigned=false;else if(typeof object.seconds==="string")message.seconds=parseInt(object.seconds,10);else if(typeof object.seconds==="number")message.seconds=object.seconds;else if(typeof object.seconds==="object")message.seconds=new $util.LongBits(object.seconds.low>>>0,object.seconds.high>>>0).toNumber();if(object.nanos!=null)message.nanos=object.nanos|0;return message};Duration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){if($util.Long){var long=new $util.Long(0,0,false);object.seconds=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.seconds=options.longs===String?"0":0;object.nanos=0}if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(typeof message.seconds==="number")object.seconds=options.longs===String?String(message.seconds):message.seconds;else object.seconds=options.longs===String?$util.Long.prototype.toString.call(message.seconds):options.longs===Number?new $util.LongBits(message.seconds.low>>>0,message.seconds.high>>>0).toNumber():message.seconds;if(message.nanos!=null&&message.hasOwnProperty("nanos"))object.nanos=message.nanos;return object};Duration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Duration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Duration"};return Duration}();protobuf.Any=function(){function Any(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Any.prototype.type_url="";Any.prototype.value=$util.newBuffer([]);Any.create=function create(properties){return new Any(properties)};Any.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.type_url!=null&&Object.hasOwnProperty.call(message,"type_url"))writer.uint32(10).string(message.type_url);if(message.value!=null&&Object.hasOwnProperty.call(message,"value"))writer.uint32(18).bytes(message.value);return writer};Any.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Any.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Any;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.type_url=reader.string();break}case 2:{message.value=reader.bytes();break}default:reader.skipType(tag&7,long);break}}return message};Any.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Any.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.type_url!=null&&message.hasOwnProperty("type_url"))if(!$util.isString(message.type_url))return"type_url: string expected";if(message.value!=null&&message.hasOwnProperty("value"))if(!(message.value&&typeof message.value.length==="number"||$util.isString(message.value)))return"value: buffer expected";return null};Any.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Any)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Any;if(object.type_url!=null)message.type_url=String(object.type_url);if(object.value!=null)if(typeof object.value==="string")$util.base64.decode(object.value,message.value=$util.newBuffer($util.base64.length(object.value)),0);else if(object.value.length>=0)message.value=object.value;return message};Any.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.type_url="";if(options.bytes===String)object.value="";else{object.value=[];if(options.bytes!==Array)object.value=$util.newBuffer(object.value)}}if(message.type_url!=null&&message.hasOwnProperty("type_url"))object.type_url=message.type_url;if(message.value!=null&&message.hasOwnProperty("value"))object.value=options.bytes===String?$util.base64.encode(message.value,0,message.value.length):options.bytes===Array?Array.prototype.slice.call(message.value):message.value;return object};Any.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Any.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Any"};return Any}();return protobuf}();google.type=function(){var type={};type.Date=function(){function Date(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Date.prototype.year=0;Date.prototype.month=0;Date.prototype.day=0;Date.create=function create(properties){return new Date(properties)};Date.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.year!=null&&Object.hasOwnProperty.call(message,"year"))writer.uint32(8).int32(message.year);if(message.month!=null&&Object.hasOwnProperty.call(message,"month"))writer.uint32(16).int32(message.month);if(message.day!=null&&Object.hasOwnProperty.call(message,"day"))writer.uint32(24).int32(message.day);return writer};Date.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Date.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.Date;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.year=reader.int32();break}case 2:{message.month=reader.int32();break}case 3:{message.day=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Date.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Date.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.year!=null&&message.hasOwnProperty("year"))if(!$util.isInteger(message.year))return"year: integer expected";if(message.month!=null&&message.hasOwnProperty("month"))if(!$util.isInteger(message.month))return"month: integer expected";if(message.day!=null&&message.hasOwnProperty("day"))if(!$util.isInteger(message.day))return"day: integer expected";return null};Date.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.Date)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.Date;if(object.year!=null)message.year=object.year|0;if(object.month!=null)message.month=object.month|0;if(object.day!=null)message.day=object.day|0;return message};Date.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.year=0;object.month=0;object.day=0}if(message.year!=null&&message.hasOwnProperty("year"))object.year=message.year;if(message.month!=null&&message.hasOwnProperty("month"))object.month=message.month;if(message.day!=null&&message.hasOwnProperty("day"))object.day=message.day;return object};Date.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Date.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.Date"};return Date}();type.LatLng=function(){function LatLng(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}LatLng.prototype.latitude=0;LatLng.prototype.longitude=0;LatLng.create=function create(properties){return new LatLng(properties)};LatLng.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.latitude!=null&&Object.hasOwnProperty.call(message,"latitude"))writer.uint32(9).double(message.latitude);if(message.longitude!=null&&Object.hasOwnProperty.call(message,"longitude"))writer.uint32(17).double(message.longitude);return writer};LatLng.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};LatLng.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.LatLng;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.latitude=reader.double();break}case 2:{message.longitude=reader.double();break}default:reader.skipType(tag&7,long);break}}return message};LatLng.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LatLng.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.latitude!=null&&message.hasOwnProperty("latitude"))if(typeof message.latitude!=="number")return"latitude: number expected";if(message.longitude!=null&&message.hasOwnProperty("longitude"))if(typeof message.longitude!=="number")return"longitude: number expected";return null};LatLng.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.LatLng)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.LatLng;if(object.latitude!=null)message.latitude=Number(object.latitude);if(object.longitude!=null)message.longitude=Number(object.longitude);return message};LatLng.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.latitude=0;object.longitude=0}if(message.latitude!=null&&message.hasOwnProperty("latitude"))object.latitude=options.json&&!isFinite(message.latitude)?String(message.latitude):message.latitude;if(message.longitude!=null&&message.hasOwnProperty("longitude"))object.longitude=options.json&&!isFinite(message.longitude)?String(message.longitude):message.longitude;return object};LatLng.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LatLng.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.LatLng"};return LatLng}();type.Money=function(){function Money(properties){if(properties)for(var keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null&&keys[i]!=="__proto__")this[keys[i]]=properties[keys[i]]}Money.prototype.currencyCode="";Money.prototype.units=$util.Long?$util.Long.fromBits(0,0,false):0;Money.prototype.nanos=0;Money.create=function create(properties){return new Money(properties)};Money.encode=function encode(message,writer){if(!writer)writer=$Writer.create();if(message.currencyCode!=null&&Object.hasOwnProperty.call(message,"currencyCode"))writer.uint32(10).string(message.currencyCode);if(message.units!=null&&Object.hasOwnProperty.call(message,"units"))writer.uint32(16).int64(message.units);if(message.nanos!=null&&Object.hasOwnProperty.call(message,"nanos"))writer.uint32(24).int32(message.nanos);return writer};Money.encodeDelimited=function encodeDelimited(message,writer){return this.encode(message,writer).ldelim()};Money.decode=function decode(reader,length,error,long){if(!(reader instanceof $Reader))reader=$Reader.create(reader);if(long===undefined)long=0;if(long>$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.Money;while(reader.pos<end){var tag=reader.uint32();if(tag===error)break;switch(tag>>>3){case 1:{message.currencyCode=reader.string();break}case 2:{message.units=reader.int64();break}case 3:{message.nanos=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Money.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Money.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.currencyCode!=null&&message.hasOwnProperty("currencyCode"))if(!$util.isString(message.currencyCode))return"currencyCode: string expected";if(message.units!=null&&message.hasOwnProperty("units"))if(!$util.isInteger(message.units)&&!(message.units&&$util.isInteger(message.units.low)&&$util.isInteger(message.units.high)))return"units: integer|Long expected";if(message.nanos!=null&&message.hasOwnProperty("nanos"))if(!$util.isInteger(message.nanos))return"nanos: integer expected";return null};Money.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.Money)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.Money;if(object.currencyCode!=null)message.currencyCode=String(object.currencyCode);if(object.units!=null)if($util.Long)(message.units=$util.Long.fromValue(object.units)).unsigned=false;else if(typeof object.units==="string")message.units=parseInt(object.units,10);else if(typeof object.units==="number")message.units=object.units;else if(typeof object.units==="object")message.units=new $util.LongBits(object.units.low>>>0,object.units.high>>>0).toNumber();if(object.nanos!=null)message.nanos=object.nanos|0;return message};Money.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.currencyCode="";if($util.Long){var long=new $util.Long(0,0,false);object.units=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.units=options.longs===String?"0":0;object.nanos=0}if(message.currencyCode!=null&&message.hasOwnProperty("currencyCode"))object.currencyCode=message.currencyCode;if(message.units!=null&&message.hasOwnProperty("units"))if(typeof message.units==="number")object.units=options.longs===String?String(message.units):message.units;else object.units=options.longs===String?$util.Long.prototype.toString.call(message.units):options.longs===Number?new $util.LongBits(message.units.low>>>0,message.units.high>>>0).toNumber():message.units;if(message.nanos!=null&&message.hasOwnProperty("nanos"))object.nanos=message.nanos;return object};Money.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Money.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.Money"};return Money}();return type}();return google}();return $root});
|