/** * @license * Cesium - https://github.com/CesiumGS/cesium * Version 1.96.6 * * Copyright 2011-2022 Cesium Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Columbus View (Pat. Pend.) * * Portions licensed separately. * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ (()=>{window.cesiumGoogleEarthDbRootParser=function(e){"use strict";var r=e.Reader,t=e.util,o=e.roots.default||(e.roots.default={});return o.keyhole=function(){var n={};return n.dbroot=function(){var n={};return n.StringEntryProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.stringId=0,n.prototype.stringValue="",n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.StringEntryProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.stringId=e.fixed32();break;case 2:l.stringValue=e.string();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("stringId"))throw t.ProtocolError("missing required 'stringId'",{instance:l});if(!l.hasOwnProperty("stringValue"))throw t.ProtocolError("missing required 'stringValue'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":t.isInteger(e.stringId)?t.isString(e.stringValue)?null:"stringValue: string expected":"stringId: integer expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.StringEntryProto)return e;var r=new o.keyhole.dbroot.StringEntryProto;return null!=e.stringId&&(r.stringId=e.stringId>>>0),null!=e.stringValue&&(r.stringValue=String(e.stringValue)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.stringId=0,t.stringValue=""),null!=e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),null!=e.stringValue&&e.hasOwnProperty("stringValue")&&(t.stringValue=e.stringValue),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.StringEntryProto"},n}(),n.StringIdOrValueProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.stringId=0,n.prototype.value="",n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.StringIdOrValueProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.stringId=e.fixed32();break;case 2:a.value=e.string();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.stringId&&e.hasOwnProperty("stringId")&&!t.isInteger(e.stringId)?"stringId: integer expected":null!=e.value&&e.hasOwnProperty("value")&&!t.isString(e.value)?"value: string expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.StringIdOrValueProto)return e;var r=new o.keyhole.dbroot.StringIdOrValueProto;return null!=e.stringId&&(r.stringId=e.stringId>>>0),null!=e.value&&(r.value=String(e.value)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.stringId=0,t.value=""),null!=e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),null!=e.value&&e.hasOwnProperty("value")&&(t.value=e.value),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.StringIdOrValueProto"},n}(),n.PlanetModelProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.radius=6378.137,n.prototype.flattening=.00335281066474748,n.prototype.elevationBias=0,n.prototype.negativeAltitudeExponentBias=0,n.prototype.compressedNegativeAltitudeThreshold=0,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.PlanetModelProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.radius=e.double();break;case 2:a.flattening=e.double();break;case 4:a.elevationBias=e.double();break;case 5:a.negativeAltitudeExponentBias=e.int32();break;case 6:a.compressedNegativeAltitudeThreshold=e.double();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.radius&&e.hasOwnProperty("radius")&&"number"!=typeof e.radius?"radius: number expected":null!=e.flattening&&e.hasOwnProperty("flattening")&&"number"!=typeof e.flattening?"flattening: number expected":null!=e.elevationBias&&e.hasOwnProperty("elevationBias")&&"number"!=typeof e.elevationBias?"elevationBias: number expected":null!=e.negativeAltitudeExponentBias&&e.hasOwnProperty("negativeAltitudeExponentBias")&&!t.isInteger(e.negativeAltitudeExponentBias)?"negativeAltitudeExponentBias: integer expected":null!=e.compressedNegativeAltitudeThreshold&&e.hasOwnProperty("compressedNegativeAltitudeThreshold")&&"number"!=typeof e.compressedNegativeAltitudeThreshold?"compressedNegativeAltitudeThreshold: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.PlanetModelProto)return e;var r=new o.keyhole.dbroot.PlanetModelProto;return null!=e.radius&&(r.radius=Number(e.radius)),null!=e.flattening&&(r.flattening=Number(e.flattening)),null!=e.elevationBias&&(r.elevationBias=Number(e.elevationBias)),null!=e.negativeAltitudeExponentBias&&(r.negativeAltitudeExponentBias=0|e.negativeAltitudeExponentBias),null!=e.compressedNegativeAltitudeThreshold&&(r.compressedNegativeAltitudeThreshold=Number(e.compressedNegativeAltitudeThreshold)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.radius=6378.137,t.flattening=.00335281066474748,t.elevationBias=0,t.negativeAltitudeExponentBias=0,t.compressedNegativeAltitudeThreshold=0),null!=e.radius&&e.hasOwnProperty("radius")&&(t.radius=r.json&&!isFinite(e.radius)?String(e.radius):e.radius),null!=e.flattening&&e.hasOwnProperty("flattening")&&(t.flattening=r.json&&!isFinite(e.flattening)?String(e.flattening):e.flattening),null!=e.elevationBias&&e.hasOwnProperty("elevationBias")&&(t.elevationBias=r.json&&!isFinite(e.elevationBias)?String(e.elevationBias):e.elevationBias),null!=e.negativeAltitudeExponentBias&&e.hasOwnProperty("negativeAltitudeExponentBias")&&(t.negativeAltitudeExponentBias=e.negativeAltitudeExponentBias),null!=e.compressedNegativeAltitudeThreshold&&e.hasOwnProperty("compressedNegativeAltitudeThreshold")&&(t.compressedNegativeAltitudeThreshold=r.json&&!isFinite(e.compressedNegativeAltitudeThreshold)?String(e.compressedNegativeAltitudeThreshold):e.compressedNegativeAltitudeThreshold),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.PlanetModelProto"},n}(),n.ProviderInfoProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.providerId=0,n.prototype.copyrightString=null,n.prototype.verticalPixelOffset=-1,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.ProviderInfoProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.providerId=e.int32();break;case 2:l.copyrightString=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:l.verticalPixelOffset=e.int32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("providerId"))throw t.ProtocolError("missing required 'providerId'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isInteger(e.providerId))return"providerId: integer expected";if(null!=e.copyrightString&&e.hasOwnProperty("copyrightString")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.copyrightString);if(r)return"copyrightString."+r}return null!=e.verticalPixelOffset&&e.hasOwnProperty("verticalPixelOffset")&&!t.isInteger(e.verticalPixelOffset)?"verticalPixelOffset: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ProviderInfoProto)return e;var r=new o.keyhole.dbroot.ProviderInfoProto;if(null!=e.providerId&&(r.providerId=0|e.providerId),null!=e.copyrightString){if("object"!=typeof e.copyrightString)throw TypeError(".keyhole.dbroot.ProviderInfoProto.copyrightString: object expected");r.copyrightString=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.copyrightString)}return null!=e.verticalPixelOffset&&(r.verticalPixelOffset=0|e.verticalPixelOffset),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.providerId=0,t.copyrightString=null,t.verticalPixelOffset=-1),null!=e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),null!=e.copyrightString&&e.hasOwnProperty("copyrightString")&&(t.copyrightString=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.copyrightString,r)),null!=e.verticalPixelOffset&&e.hasOwnProperty("verticalPixelOffset")&&(t.verticalPixelOffset=e.verticalPixelOffset),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ProviderInfoProto"},n}(),n.PopUpProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.isBalloonStyle=!1,n.prototype.text=null,n.prototype.backgroundColorAbgr=4294967295,n.prototype.textColorAbgr=4278190080,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.PopUpProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.isBalloonStyle=e.bool();break;case 2:a.text=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.backgroundColorAbgr=e.fixed32();break;case 4:a.textColorAbgr=e.fixed32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.isBalloonStyle&&e.hasOwnProperty("isBalloonStyle")&&"boolean"!=typeof e.isBalloonStyle)return"isBalloonStyle: boolean expected";if(null!=e.text&&e.hasOwnProperty("text")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.text);if(r)return"text."+r}return null!=e.backgroundColorAbgr&&e.hasOwnProperty("backgroundColorAbgr")&&!t.isInteger(e.backgroundColorAbgr)?"backgroundColorAbgr: integer expected":null!=e.textColorAbgr&&e.hasOwnProperty("textColorAbgr")&&!t.isInteger(e.textColorAbgr)?"textColorAbgr: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.PopUpProto)return e;var r=new o.keyhole.dbroot.PopUpProto;if(null!=e.isBalloonStyle&&(r.isBalloonStyle=Boolean(e.isBalloonStyle)),null!=e.text){if("object"!=typeof e.text)throw TypeError(".keyhole.dbroot.PopUpProto.text: object expected");r.text=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.text)}return null!=e.backgroundColorAbgr&&(r.backgroundColorAbgr=e.backgroundColorAbgr>>>0),null!=e.textColorAbgr&&(r.textColorAbgr=e.textColorAbgr>>>0),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.isBalloonStyle=!1,t.text=null,t.backgroundColorAbgr=4294967295,t.textColorAbgr=4278190080),null!=e.isBalloonStyle&&e.hasOwnProperty("isBalloonStyle")&&(t.isBalloonStyle=e.isBalloonStyle),null!=e.text&&e.hasOwnProperty("text")&&(t.text=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.text,r)),null!=e.backgroundColorAbgr&&e.hasOwnProperty("backgroundColorAbgr")&&(t.backgroundColorAbgr=e.backgroundColorAbgr),null!=e.textColorAbgr&&e.hasOwnProperty("textColorAbgr")&&(t.textColorAbgr=e.textColorAbgr),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.PopUpProto"},n}(),n.StyleAttributeProto=function(){function n(e){if(this.drawFlag=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.styleId="",n.prototype.providerId=0,n.prototype.polyColorAbgr=4294967295,n.prototype.lineColorAbgr=4294967295,n.prototype.lineWidth=1,n.prototype.labelColorAbgr=4294967295,n.prototype.labelScale=1,n.prototype.placemarkIconColorAbgr=4294967295,n.prototype.placemarkIconScale=1,n.prototype.placemarkIconPath=null,n.prototype.placemarkIconX=0,n.prototype.placemarkIconY=0,n.prototype.placemarkIconWidth=32,n.prototype.placemarkIconHeight=32,n.prototype.popUp=null,n.prototype.drawFlag=t.emptyArray,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.StyleAttributeProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.styleId=e.string();break;case 3:l.providerId=e.int32();break;case 4:l.polyColorAbgr=e.fixed32();break;case 5:l.lineColorAbgr=e.fixed32();break;case 6:l.lineWidth=e.float();break;case 7:l.labelColorAbgr=e.fixed32();break;case 8:l.labelScale=e.float();break;case 9:l.placemarkIconColorAbgr=e.fixed32();break;case 10:l.placemarkIconScale=e.float();break;case 11:l.placemarkIconPath=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 12:l.placemarkIconX=e.int32();break;case 13:l.placemarkIconY=e.int32();break;case 14:l.placemarkIconWidth=e.int32();break;case 15:l.placemarkIconHeight=e.int32();break;case 16:l.popUp=o.keyhole.dbroot.PopUpProto.decode(e,e.uint32());break;case 17:l.drawFlag&&l.drawFlag.length||(l.drawFlag=[]),l.drawFlag.push(o.keyhole.dbroot.DrawFlagProto.decode(e,e.uint32()));break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("styleId"))throw t.ProtocolError("missing required 'styleId'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isString(e.styleId))return"styleId: string expected";if(null!=e.providerId&&e.hasOwnProperty("providerId")&&!t.isInteger(e.providerId))return"providerId: integer expected";if(null!=e.polyColorAbgr&&e.hasOwnProperty("polyColorAbgr")&&!t.isInteger(e.polyColorAbgr))return"polyColorAbgr: integer expected";if(null!=e.lineColorAbgr&&e.hasOwnProperty("lineColorAbgr")&&!t.isInteger(e.lineColorAbgr))return"lineColorAbgr: integer expected";if(null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&"number"!=typeof e.lineWidth)return"lineWidth: number expected";if(null!=e.labelColorAbgr&&e.hasOwnProperty("labelColorAbgr")&&!t.isInteger(e.labelColorAbgr))return"labelColorAbgr: integer expected";if(null!=e.labelScale&&e.hasOwnProperty("labelScale")&&"number"!=typeof e.labelScale)return"labelScale: number expected";if(null!=e.placemarkIconColorAbgr&&e.hasOwnProperty("placemarkIconColorAbgr")&&!t.isInteger(e.placemarkIconColorAbgr))return"placemarkIconColorAbgr: integer expected";if(null!=e.placemarkIconScale&&e.hasOwnProperty("placemarkIconScale")&&"number"!=typeof e.placemarkIconScale)return"placemarkIconScale: number expected";if(null!=e.placemarkIconPath&&e.hasOwnProperty("placemarkIconPath")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.placemarkIconPath);if(r)return"placemarkIconPath."+r}if(null!=e.placemarkIconX&&e.hasOwnProperty("placemarkIconX")&&!t.isInteger(e.placemarkIconX))return"placemarkIconX: integer expected";if(null!=e.placemarkIconY&&e.hasOwnProperty("placemarkIconY")&&!t.isInteger(e.placemarkIconY))return"placemarkIconY: integer expected";if(null!=e.placemarkIconWidth&&e.hasOwnProperty("placemarkIconWidth")&&!t.isInteger(e.placemarkIconWidth))return"placemarkIconWidth: integer expected";if(null!=e.placemarkIconHeight&&e.hasOwnProperty("placemarkIconHeight")&&!t.isInteger(e.placemarkIconHeight))return"placemarkIconHeight: integer expected";if(null!=e.popUp&&e.hasOwnProperty("popUp")){r=o.keyhole.dbroot.PopUpProto.verify(e.popUp);if(r)return"popUp."+r}if(null!=e.drawFlag&&e.hasOwnProperty("drawFlag")){if(!Array.isArray(e.drawFlag))return"drawFlag: array expected";for(var n=0;n<e.drawFlag.length;++n){r=o.keyhole.dbroot.DrawFlagProto.verify(e.drawFlag[n]);if(r)return"drawFlag."+r}}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.StyleAttributeProto)return e;var r=new o.keyhole.dbroot.StyleAttributeProto;if(null!=e.styleId&&(r.styleId=String(e.styleId)),null!=e.providerId&&(r.providerId=0|e.providerId),null!=e.polyColorAbgr&&(r.polyColorAbgr=e.polyColorAbgr>>>0),null!=e.lineColorAbgr&&(r.lineColorAbgr=e.lineColorAbgr>>>0),null!=e.lineWidth&&(r.lineWidth=Number(e.lineWidth)),null!=e.labelColorAbgr&&(r.labelColorAbgr=e.labelColorAbgr>>>0),null!=e.labelScale&&(r.labelScale=Number(e.labelScale)),null!=e.placemarkIconColorAbgr&&(r.placemarkIconColorAbgr=e.placemarkIconColorAbgr>>>0),null!=e.placemarkIconScale&&(r.placemarkIconScale=Number(e.placemarkIconScale)),null!=e.placemarkIconPath){if("object"!=typeof e.placemarkIconPath)throw TypeError(".keyhole.dbroot.StyleAttributeProto.placemarkIconPath: object expected");r.placemarkIconPath=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.placemarkIconPath)}if(null!=e.placemarkIconX&&(r.placemarkIconX=0|e.placemarkIconX),null!=e.placemarkIconY&&(r.placemarkIconY=0|e.placemarkIconY),null!=e.placemarkIconWidth&&(r.placemarkIconWidth=0|e.placemarkIconWidth),null!=e.placemarkIconHeight&&(r.placemarkIconHeight=0|e.placemarkIconHeight),null!=e.popUp){if("object"!=typeof e.popUp)throw TypeError(".keyhole.dbroot.StyleAttributeProto.popUp: object expected");r.popUp=o.keyhole.dbroot.PopUpProto.fromObject(e.popUp)}if(e.drawFlag){if(!Array.isArray(e.drawFlag))throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: array expected");r.drawFlag=[];for(var t=0;t<e.drawFlag.length;++t){if("object"!=typeof e.drawFlag[t])throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: object expected");r.drawFlag[t]=o.keyhole.dbroot.DrawFlagProto.fromObject(e.drawFlag[t])}}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.drawFlag=[]),r.defaults&&(t.styleId="",t.providerId=0,t.polyColorAbgr=4294967295,t.lineColorAbgr=4294967295,t.lineWidth=1,t.labelColorAbgr=4294967295,t.labelScale=1,t.placemarkIconColorAbgr=4294967295,t.placemarkIconScale=1,t.placemarkIconPath=null,t.placemarkIconX=0,t.placemarkIconY=0,t.placemarkIconWidth=32,t.placemarkIconHeight=32,t.popUp=null),null!=e.styleId&&e.hasOwnProperty("styleId")&&(t.styleId=e.styleId),null!=e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),null!=e.polyColorAbgr&&e.hasOwnProperty("polyColorAbgr")&&(t.polyColorAbgr=e.polyColorAbgr),null!=e.lineColorAbgr&&e.hasOwnProperty("lineColorAbgr")&&(t.lineColorAbgr=e.lineColorAbgr),null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&(t.lineWidth=r.json&&!isFinite(e.lineWidth)?String(e.lineWidth):e.lineWidth),null!=e.labelColorAbgr&&e.hasOwnProperty("labelColorAbgr")&&(t.labelColorAbgr=e.labelColorAbgr),null!=e.labelScale&&e.hasOwnProperty("labelScale")&&(t.labelScale=r.json&&!isFinite(e.labelScale)?String(e.labelScale):e.labelScale),null!=e.placemarkIconColorAbgr&&e.hasOwnProperty("placemarkIconColorAbgr")&&(t.placemarkIconColorAbgr=e.placemarkIconColorAbgr),null!=e.placemarkIconScale&&e.hasOwnProperty("placemarkIconScale")&&(t.placemarkIconScale=r.json&&!isFinite(e.placemarkIconScale)?String(e.placemarkIconScale):e.placemarkIconScale),null!=e.placemarkIconPath&&e.hasOwnProperty("placemarkIconPath")&&(t.placemarkIconPath=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.placemarkIconPath,r)),null!=e.placemarkIconX&&e.hasOwnProperty("placemarkIconX")&&(t.placemarkIconX=e.placemarkIconX),null!=e.placemarkIconY&&e.hasOwnProperty("placemarkIconY")&&(t.placemarkIconY=e.placemarkIconY),null!=e.placemarkIconWidth&&e.hasOwnProperty("placemarkIconWidth")&&(t.placemarkIconWidth=e.placemarkIconWidth),null!=e.placemarkIconHeight&&e.hasOwnProperty("placemarkIconHeight")&&(t.placemarkIconHeight=e.placemarkIconHeight),null!=e.popUp&&e.hasOwnProperty("popUp")&&(t.popUp=o.keyhole.dbroot.PopUpProto.toObject(e.popUp,r)),e.drawFlag&&e.drawFlag.length){t.drawFlag=[];for(var n=0;n<e.drawFlag.length;++n)t.drawFlag[n]=o.keyhole.dbroot.DrawFlagProto.toObject(e.drawFlag[n],r)}return t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.StyleAttributeProto"},n}(),n.StyleMapProto=function(){function n(e){if(this.channelId=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.styleMapId=0,n.prototype.channelId=t.emptyArray,n.prototype.normalStyleAttribute=0,n.prototype.highlightStyleAttribute=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.StyleMapProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.styleMapId=e.int32();break;case 2:if(l.channelId&&l.channelId.length||(l.channelId=[]),2===(7&i))for(var s=e.uint32()+e.pos;e.pos<s;)l.channelId.push(e.int32());else l.channelId.push(e.int32());break;case 3:l.normalStyleAttribute=e.int32();break;case 4:l.highlightStyleAttribute=e.int32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("styleMapId"))throw t.ProtocolError("missing required 'styleMapId'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isInteger(e.styleMapId))return"styleMapId: integer expected";if(null!=e.channelId&&e.hasOwnProperty("channelId")){if(!Array.isArray(e.channelId))return"channelId: array expected";for(var r=0;r<e.channelId.length;++r)if(!t.isInteger(e.channelId[r]))return"channelId: integer[] expected"}return null!=e.normalStyleAttribute&&e.hasOwnProperty("normalStyleAttribute")&&!t.isInteger(e.normalStyleAttribute)?"normalStyleAttribute: integer expected":null!=e.highlightStyleAttribute&&e.hasOwnProperty("highlightStyleAttribute")&&!t.isInteger(e.highlightStyleAttribute)?"highlightStyleAttribute: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.StyleMapProto)return e;var r=new o.keyhole.dbroot.StyleMapProto;if(null!=e.styleMapId&&(r.styleMapId=0|e.styleMapId),e.channelId){if(!Array.isArray(e.channelId))throw TypeError(".keyhole.dbroot.StyleMapProto.channelId: array expected");r.channelId=[];for(var t=0;t<e.channelId.length;++t)r.channelId[t]=0|e.channelId[t]}return null!=e.normalStyleAttribute&&(r.normalStyleAttribute=0|e.normalStyleAttribute),null!=e.highlightStyleAttribute&&(r.highlightStyleAttribute=0|e.highlightStyleAttribute),r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.channelId=[]),r.defaults&&(t.styleMapId=0,t.normalStyleAttribute=0,t.highlightStyleAttribute=0),null!=e.styleMapId&&e.hasOwnProperty("styleMapId")&&(t.styleMapId=e.styleMapId),e.channelId&&e.channelId.length){t.channelId=[];for(var o=0;o<e.channelId.length;++o)t.channelId[o]=e.channelId[o]}return null!=e.normalStyleAttribute&&e.hasOwnProperty("normalStyleAttribute")&&(t.normalStyleAttribute=e.normalStyleAttribute),null!=e.highlightStyleAttribute&&e.hasOwnProperty("highlightStyleAttribute")&&(t.highlightStyleAttribute=e.highlightStyleAttribute),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.StyleMapProto"},n}(),n.ZoomRangeProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.minZoom=0,n.prototype.maxZoom=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.ZoomRangeProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.minZoom=e.int32();break;case 2:l.maxZoom=e.int32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("minZoom"))throw t.ProtocolError("missing required 'minZoom'",{instance:l});if(!l.hasOwnProperty("maxZoom"))throw t.ProtocolError("missing required 'maxZoom'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":t.isInteger(e.minZoom)?t.isInteger(e.maxZoom)?null:"maxZoom: integer expected":"minZoom: integer expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ZoomRangeProto)return e;var r=new o.keyhole.dbroot.ZoomRangeProto;return null!=e.minZoom&&(r.minZoom=0|e.minZoom),null!=e.maxZoom&&(r.maxZoom=0|e.maxZoom),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.minZoom=0,t.maxZoom=0),null!=e.minZoom&&e.hasOwnProperty("minZoom")&&(t.minZoom=e.minZoom),null!=e.maxZoom&&e.hasOwnProperty("maxZoom")&&(t.maxZoom=e.maxZoom),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ZoomRangeProto"},n}(),n.DrawFlagProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.drawFlagType=1,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.DrawFlagProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.drawFlagType=e.int32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("drawFlagType"))throw t.ProtocolError("missing required 'drawFlagType'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";switch(e.drawFlagType){default:return"drawFlagType: enum value expected";case 1:case 2:case 3:case 4:case 5:break}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.DrawFlagProto)return e;var r=new o.keyhole.dbroot.DrawFlagProto;switch(e.drawFlagType){case"TYPE_FILL_ONLY":case 1:r.drawFlagType=1;break;case"TYPE_OUTLINE_ONLY":case 2:r.drawFlagType=2;break;case"TYPE_FILL_AND_OUTLINE":case 3:r.drawFlagType=3;break;case"TYPE_ANTIALIASING":case 4:r.drawFlagType=4;break;case"TYPE_CENTER_LABEL":case 5:r.drawFlagType=5;break}return r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.drawFlagType=r.enums===String?"TYPE_FILL_ONLY":1),null!=e.drawFlagType&&e.hasOwnProperty("drawFlagType")&&(t.drawFlagType=r.enums===String?o.keyhole.dbroot.DrawFlagProto.DrawFlagType[e.drawFlagType]:e.drawFlagType),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.DrawFlagProto"},n.DrawFlagType=function(){var e={},r=Object.create(e);return r[e[1]="TYPE_FILL_ONLY"]=1,r[e[2]="TYPE_OUTLINE_ONLY"]=2,r[e[3]="TYPE_FILL_AND_OUTLINE"]=3,r[e[4]="TYPE_ANTIALIASING"]=4,r[e[5]="TYPE_CENTER_LABEL"]=5,r}(),n}(),n.LayerProto=function(){function n(e){if(this.zoomRange=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.zoomRange=t.emptyArray,n.prototype.preserveTextLevel=30,n.prototype.lodBeginTransition=!1,n.prototype.lodEndTransition=!1,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.LayerProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.zoomRange&&a.zoomRange.length||(a.zoomRange=[]),a.zoomRange.push(o.keyhole.dbroot.ZoomRangeProto.decode(e,e.uint32()));break;case 2:a.preserveTextLevel=e.int32();break;case 4:a.lodBeginTransition=e.bool();break;case 5:a.lodEndTransition=e.bool();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.zoomRange&&e.hasOwnProperty("zoomRange")){if(!Array.isArray(e.zoomRange))return"zoomRange: array expected";for(var r=0;r<e.zoomRange.length;++r){var n=o.keyhole.dbroot.ZoomRangeProto.verify(e.zoomRange[r]);if(n)return"zoomRange."+n}}return null!=e.preserveTextLevel&&e.hasOwnProperty("preserveTextLevel")&&!t.isInteger(e.preserveTextLevel)?"preserveTextLevel: integer expected":null!=e.lodBeginTransition&&e.hasOwnProperty("lodBeginTransition")&&"boolean"!=typeof e.lodBeginTransition?"lodBeginTransition: boolean expected":null!=e.lodEndTransition&&e.hasOwnProperty("lodEndTransition")&&"boolean"!=typeof e.lodEndTransition?"lodEndTransition: boolean expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.LayerProto)return e;var r=new o.keyhole.dbroot.LayerProto;if(e.zoomRange){if(!Array.isArray(e.zoomRange))throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: array expected");r.zoomRange=[];for(var t=0;t<e.zoomRange.length;++t){if("object"!=typeof e.zoomRange[t])throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: object expected");r.zoomRange[t]=o.keyhole.dbroot.ZoomRangeProto.fromObject(e.zoomRange[t])}}return null!=e.preserveTextLevel&&(r.preserveTextLevel=0|e.preserveTextLevel),null!=e.lodBeginTransition&&(r.lodBeginTransition=Boolean(e.lodBeginTransition)),null!=e.lodEndTransition&&(r.lodEndTransition=Boolean(e.lodEndTransition)),r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.zoomRange=[]),r.defaults&&(t.preserveTextLevel=30,t.lodBeginTransition=!1,t.lodEndTransition=!1),e.zoomRange&&e.zoomRange.length){t.zoomRange=[];for(var n=0;n<e.zoomRange.length;++n)t.zoomRange[n]=o.keyhole.dbroot.ZoomRangeProto.toObject(e.zoomRange[n],r)}return null!=e.preserveTextLevel&&e.hasOwnProperty("preserveTextLevel")&&(t.preserveTextLevel=e.preserveTextLevel),null!=e.lodBeginTransition&&e.hasOwnProperty("lodBeginTransition")&&(t.lodBeginTransition=e.lodBeginTransition),null!=e.lodEndTransition&&e.hasOwnProperty("lodEndTransition")&&(t.lodEndTransition=e.lodEndTransition),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.LayerProto"},n}(),n.FolderProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.isExpandable=!0,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.FolderProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.isExpandable=e.bool();break;default:e.skipType(7&l);break}}return a},t.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isExpandable&&e.hasOwnProperty("isExpandable")&&"boolean"!=typeof e.isExpandable?"isExpandable: boolean expected":null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.FolderProto)return e;var r=new o.keyhole.dbroot.FolderProto;return null!=e.isExpandable&&(r.isExpandable=Boolean(e.isExpandable)),r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.isExpandable=!0),null!=e.isExpandable&&e.hasOwnProperty("isExpandable")&&(t.isExpandable=e.isExpandable),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.FolderProto"},t}(),n.RequirementProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.requiredVram="",n.prototype.requiredClientVer="",n.prototype.probability="",n.prototype.requiredUserAgent="",n.prototype.requiredClientCapabilities="",n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.RequirementProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 3:a.requiredVram=e.string();break;case 4:a.requiredClientVer=e.string();break;case 5:a.probability=e.string();break;case 6:a.requiredUserAgent=e.string();break;case 7:a.requiredClientCapabilities=e.string();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requiredVram&&e.hasOwnProperty("requiredVram")&&!t.isString(e.requiredVram)?"requiredVram: string expected":null!=e.requiredClientVer&&e.hasOwnProperty("requiredClientVer")&&!t.isString(e.requiredClientVer)?"requiredClientVer: string expected":null!=e.probability&&e.hasOwnProperty("probability")&&!t.isString(e.probability)?"probability: string expected":null!=e.requiredUserAgent&&e.hasOwnProperty("requiredUserAgent")&&!t.isString(e.requiredUserAgent)?"requiredUserAgent: string expected":null!=e.requiredClientCapabilities&&e.hasOwnProperty("requiredClientCapabilities")&&!t.isString(e.requiredClientCapabilities)?"requiredClientCapabilities: string expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.RequirementProto)return e;var r=new o.keyhole.dbroot.RequirementProto;return null!=e.requiredVram&&(r.requiredVram=String(e.requiredVram)),null!=e.requiredClientVer&&(r.requiredClientVer=String(e.requiredClientVer)),null!=e.probability&&(r.probability=String(e.probability)),null!=e.requiredUserAgent&&(r.requiredUserAgent=String(e.requiredUserAgent)),null!=e.requiredClientCapabilities&&(r.requiredClientCapabilities=String(e.requiredClientCapabilities)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.requiredVram="",t.requiredClientVer="",t.probability="",t.requiredUserAgent="",t.requiredClientCapabilities=""),null!=e.requiredVram&&e.hasOwnProperty("requiredVram")&&(t.requiredVram=e.requiredVram),null!=e.requiredClientVer&&e.hasOwnProperty("requiredClientVer")&&(t.requiredClientVer=e.requiredClientVer),null!=e.probability&&e.hasOwnProperty("probability")&&(t.probability=e.probability),null!=e.requiredUserAgent&&e.hasOwnProperty("requiredUserAgent")&&(t.requiredUserAgent=e.requiredUserAgent),null!=e.requiredClientCapabilities&&e.hasOwnProperty("requiredClientCapabilities")&&(t.requiredClientCapabilities=e.requiredClientCapabilities),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.RequirementProto"},n}(),n.LookAtProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.longitude=0,n.prototype.latitude=0,n.prototype.range=0,n.prototype.tilt=0,n.prototype.heading=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.LookAtProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.longitude=e.float();break;case 2:l.latitude=e.float();break;case 3:l.range=e.float();break;case 4:l.tilt=e.float();break;case 5:l.heading=e.float();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("longitude"))throw t.ProtocolError("missing required 'longitude'",{instance:l});if(!l.hasOwnProperty("latitude"))throw t.ProtocolError("missing required 'latitude'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.longitude?"longitude: number expected":"number"!=typeof e.latitude?"latitude: number expected":null!=e.range&&e.hasOwnProperty("range")&&"number"!=typeof e.range?"range: number expected":null!=e.tilt&&e.hasOwnProperty("tilt")&&"number"!=typeof e.tilt?"tilt: number expected":null!=e.heading&&e.hasOwnProperty("heading")&&"number"!=typeof e.heading?"heading: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.LookAtProto)return e;var r=new o.keyhole.dbroot.LookAtProto;return null!=e.longitude&&(r.longitude=Number(e.longitude)),null!=e.latitude&&(r.latitude=Number(e.latitude)),null!=e.range&&(r.range=Number(e.range)),null!=e.tilt&&(r.tilt=Number(e.tilt)),null!=e.heading&&(r.heading=Number(e.heading)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.longitude=0,t.latitude=0,t.range=0,t.tilt=0,t.heading=0),null!=e.longitude&&e.hasOwnProperty("longitude")&&(t.longitude=r.json&&!isFinite(e.longitude)?String(e.longitude):e.longitude),null!=e.latitude&&e.hasOwnProperty("latitude")&&(t.latitude=r.json&&!isFinite(e.latitude)?String(e.latitude):e.latitude),null!=e.range&&e.hasOwnProperty("range")&&(t.range=r.json&&!isFinite(e.range)?String(e.range):e.range),null!=e.tilt&&e.hasOwnProperty("tilt")&&(t.tilt=r.json&&!isFinite(e.tilt)?String(e.tilt):e.tilt),null!=e.heading&&e.hasOwnProperty("heading")&&(t.heading=r.json&&!isFinite(e.heading)?String(e.heading):e.heading),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.LookAtProto"},n}(),n.NestedFeatureProto=function(){function n(e){if(this.children=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.featureType=1,n.prototype.kmlUrl=null,n.prototype.databaseUrl="",n.prototype.layer=null,n.prototype.folder=null,n.prototype.requirement=null,n.prototype.channelId=0,n.prototype.displayName=null,n.prototype.isVisible=!0,n.prototype.isEnabled=!0,n.prototype.isChecked=!1,n.prototype.layerMenuIconPath="icons/773_l.png",n.prototype.description=null,n.prototype.lookAt=null,n.prototype.assetUuid="",n.prototype.isSaveLocked=!0,n.prototype.children=t.emptyArray,n.prototype.clientConfigScriptName="",n.prototype.dioramaDataChannelBase=-1,n.prototype.replicaDataChannelBase=-1,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.NestedFeatureProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.featureType=e.int32();break;case 2:l.kmlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 21:l.databaseUrl=e.string();break;case 3:l.layer=o.keyhole.dbroot.LayerProto.decode(e,e.uint32());break;case 4:l.folder=o.keyhole.dbroot.FolderProto.decode(e,e.uint32());break;case 5:l.requirement=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;case 6:l.channelId=e.int32();break;case 7:l.displayName=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 8:l.isVisible=e.bool();break;case 9:l.isEnabled=e.bool();break;case 10:l.isChecked=e.bool();break;case 11:l.layerMenuIconPath=e.string();break;case 12:l.description=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 13:l.lookAt=o.keyhole.dbroot.LookAtProto.decode(e,e.uint32());break;case 15:l.assetUuid=e.string();break;case 16:l.isSaveLocked=e.bool();break;case 17:l.children&&l.children.length||(l.children=[]),l.children.push(o.keyhole.dbroot.NestedFeatureProto.decode(e,e.uint32()));break;case 18:l.clientConfigScriptName=e.string();break;case 19:l.dioramaDataChannelBase=e.int32();break;case 20:l.replicaDataChannelBase=e.int32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("channelId"))throw t.ProtocolError("missing required 'channelId'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.featureType&&e.hasOwnProperty("featureType"))switch(e.featureType){default:return"featureType: enum value expected";case 1:case 2:case 3:case 4:break}if(null!=e.kmlUrl&&e.hasOwnProperty("kmlUrl")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlUrl);if(r)return"kmlUrl."+r}if(null!=e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&!t.isString(e.databaseUrl))return"databaseUrl: string expected";if(null!=e.layer&&e.hasOwnProperty("layer")){r=o.keyhole.dbroot.LayerProto.verify(e.layer);if(r)return"layer."+r}if(null!=e.folder&&e.hasOwnProperty("folder")){r=o.keyhole.dbroot.FolderProto.verify(e.folder);if(r)return"folder."+r}if(null!=e.requirement&&e.hasOwnProperty("requirement")){r=o.keyhole.dbroot.RequirementProto.verify(e.requirement);if(r)return"requirement."+r}if(!t.isInteger(e.channelId))return"channelId: integer expected";if(null!=e.displayName&&e.hasOwnProperty("displayName")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.displayName);if(r)return"displayName."+r}if(null!=e.isVisible&&e.hasOwnProperty("isVisible")&&"boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(null!=e.isEnabled&&e.hasOwnProperty("isEnabled")&&"boolean"!=typeof e.isEnabled)return"isEnabled: boolean expected";if(null!=e.isChecked&&e.hasOwnProperty("isChecked")&&"boolean"!=typeof e.isChecked)return"isChecked: boolean expected";if(null!=e.layerMenuIconPath&&e.hasOwnProperty("layerMenuIconPath")&&!t.isString(e.layerMenuIconPath))return"layerMenuIconPath: string expected";if(null!=e.description&&e.hasOwnProperty("description")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.description);if(r)return"description."+r}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){r=o.keyhole.dbroot.LookAtProto.verify(e.lookAt);if(r)return"lookAt."+r}if(null!=e.assetUuid&&e.hasOwnProperty("assetUuid")&&!t.isString(e.assetUuid))return"assetUuid: string expected";if(null!=e.isSaveLocked&&e.hasOwnProperty("isSaveLocked")&&"boolean"!=typeof e.isSaveLocked)return"isSaveLocked: boolean expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(var n=0;n<e.children.length;++n){r=o.keyhole.dbroot.NestedFeatureProto.verify(e.children[n]);if(r)return"children."+r}}return null!=e.clientConfigScriptName&&e.hasOwnProperty("clientConfigScriptName")&&!t.isString(e.clientConfigScriptName)?"clientConfigScriptName: string expected":null!=e.dioramaDataChannelBase&&e.hasOwnProperty("dioramaDataChannelBase")&&!t.isInteger(e.dioramaDataChannelBase)?"dioramaDataChannelBase: integer expected":null!=e.replicaDataChannelBase&&e.hasOwnProperty("replicaDataChannelBase")&&!t.isInteger(e.replicaDataChannelBase)?"replicaDataChannelBase: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.NestedFeatureProto)return e;var r=new o.keyhole.dbroot.NestedFeatureProto;switch(e.featureType){case"TYPE_POINT_Z":case 1:r.featureType=1;break;case"TYPE_POLYGON_Z":case 2:r.featureType=2;break;case"TYPE_LINE_Z":case 3:r.featureType=3;break;case"TYPE_TERRAIN":case 4:r.featureType=4;break}if(null!=e.kmlUrl){if("object"!=typeof e.kmlUrl)throw TypeError(".keyhole.dbroot.NestedFeatureProto.kmlUrl: object expected");r.kmlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlUrl)}if(null!=e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),null!=e.layer){if("object"!=typeof e.layer)throw TypeError(".keyhole.dbroot.NestedFeatureProto.layer: object expected");r.layer=o.keyhole.dbroot.LayerProto.fromObject(e.layer)}if(null!=e.folder){if("object"!=typeof e.folder)throw TypeError(".keyhole.dbroot.NestedFeatureProto.folder: object expected");r.folder=o.keyhole.dbroot.FolderProto.fromObject(e.folder)}if(null!=e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.NestedFeatureProto.requirement: object expected");r.requirement=o.keyhole.dbroot.RequirementProto.fromObject(e.requirement)}if(null!=e.channelId&&(r.channelId=0|e.channelId),null!=e.displayName){if("object"!=typeof e.displayName)throw TypeError(".keyhole.dbroot.NestedFeatureProto.displayName: object expected");r.displayName=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.displayName)}if(null!=e.isVisible&&(r.isVisible=Boolean(e.isVisible)),null!=e.isEnabled&&(r.isEnabled=Boolean(e.isEnabled)),null!=e.isChecked&&(r.isChecked=Boolean(e.isChecked)),null!=e.layerMenuIconPath&&(r.layerMenuIconPath=String(e.layerMenuIconPath)),null!=e.description){if("object"!=typeof e.description)throw TypeError(".keyhole.dbroot.NestedFeatureProto.description: object expected");r.description=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.description)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".keyhole.dbroot.NestedFeatureProto.lookAt: object expected");r.lookAt=o.keyhole.dbroot.LookAtProto.fromObject(e.lookAt)}if(null!=e.assetUuid&&(r.assetUuid=String(e.assetUuid)),null!=e.isSaveLocked&&(r.isSaveLocked=Boolean(e.isSaveLocked)),e.children){if(!Array.isArray(e.children))throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: array expected");r.children=[];for(var t=0;t<e.children.length;++t){if("object"!=typeof e.children[t])throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: object expected");r.children[t]=o.keyhole.dbroot.NestedFeatureProto.fromObject(e.children[t])}}return null!=e.clientConfigScriptName&&(r.clientConfigScriptName=String(e.clientConfigScriptName)),null!=e.dioramaDataChannelBase&&(r.dioramaDataChannelBase=0|e.dioramaDataChannelBase),null!=e.replicaDataChannelBase&&(r.replicaDataChannelBase=0|e.replicaDataChannelBase),r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.children=[]),r.defaults&&(t.featureType=r.enums===String?"TYPE_POINT_Z":1,t.kmlUrl=null,t.layer=null,t.folder=null,t.requirement=null,t.channelId=0,t.displayName=null,t.isVisible=!0,t.isEnabled=!0,t.isChecked=!1,t.layerMenuIconPath="icons/773_l.png",t.description=null,t.lookAt=null,t.assetUuid="",t.isSaveLocked=!0,t.clientConfigScriptName="",t.dioramaDataChannelBase=-1,t.replicaDataChannelBase=-1,t.databaseUrl=""),null!=e.featureType&&e.hasOwnProperty("featureType")&&(t.featureType=r.enums===String?o.keyhole.dbroot.NestedFeatureProto.FeatureType[e.featureType]:e.featureType),null!=e.kmlUrl&&e.hasOwnProperty("kmlUrl")&&(t.kmlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlUrl,r)),null!=e.layer&&e.hasOwnProperty("layer")&&(t.layer=o.keyhole.dbroot.LayerProto.toObject(e.layer,r)),null!=e.folder&&e.hasOwnProperty("folder")&&(t.folder=o.keyhole.dbroot.FolderProto.toObject(e.folder,r)),null!=e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=o.keyhole.dbroot.RequirementProto.toObject(e.requirement,r)),null!=e.channelId&&e.hasOwnProperty("channelId")&&(t.channelId=e.channelId),null!=e.displayName&&e.hasOwnProperty("displayName")&&(t.displayName=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.displayName,r)),null!=e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),null!=e.isEnabled&&e.hasOwnProperty("isEnabled")&&(t.isEnabled=e.isEnabled),null!=e.isChecked&&e.hasOwnProperty("isChecked")&&(t.isChecked=e.isChecked),null!=e.layerMenuIconPath&&e.hasOwnProperty("layerMenuIconPath")&&(t.layerMenuIconPath=e.layerMenuIconPath),null!=e.description&&e.hasOwnProperty("description")&&(t.description=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.description,r)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(t.lookAt=o.keyhole.dbroot.LookAtProto.toObject(e.lookAt,r)),null!=e.assetUuid&&e.hasOwnProperty("assetUuid")&&(t.assetUuid=e.assetUuid),null!=e.isSaveLocked&&e.hasOwnProperty("isSaveLocked")&&(t.isSaveLocked=e.isSaveLocked),e.children&&e.children.length){t.children=[];for(var n=0;n<e.children.length;++n)t.children[n]=o.keyhole.dbroot.NestedFeatureProto.toObject(e.children[n],r)}return null!=e.clientConfigScriptName&&e.hasOwnProperty("clientConfigScriptName")&&(t.clientConfigScriptName=e.clientConfigScriptName),null!=e.dioramaDataChannelBase&&e.hasOwnProperty("dioramaDataChannelBase")&&(t.dioramaDataChannelBase=e.dioramaDataChannelBase),null!=e.replicaDataChannelBase&&e.hasOwnProperty("replicaDataChannelBase")&&(t.replicaDataChannelBase=e.replicaDataChannelBase),null!=e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.NestedFeatureProto"},n.FeatureType=function(){var e={},r=Object.create(e);return r[e[1]="TYPE_POINT_Z"]=1,r[e[2]="TYPE_POLYGON_Z"]=2,r[e[3]="TYPE_LINE_Z"]=3,r[e[4]="TYPE_TERRAIN"]=4,r}(),n}(),n.MfeDomainFeaturesProto=function(){function n(e){if(this.supportedFeatures=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.countryCode="",n.prototype.domainName="",n.prototype.supportedFeatures=t.emptyArray,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.MfeDomainFeaturesProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.countryCode=e.string();break;case 2:l.domainName=e.string();break;case 3:if(l.supportedFeatures&&l.supportedFeatures.length||(l.supportedFeatures=[]),2===(7&i))for(var s=e.uint32()+e.pos;e.pos<s;)l.supportedFeatures.push(e.int32());else l.supportedFeatures.push(e.int32());break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("countryCode"))throw t.ProtocolError("missing required 'countryCode'",{instance:l});if(!l.hasOwnProperty("domainName"))throw t.ProtocolError("missing required 'domainName'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isString(e.countryCode))return"countryCode: string expected";if(!t.isString(e.domainName))return"domainName: string expected";if(null!=e.supportedFeatures&&e.hasOwnProperty("supportedFeatures")){if(!Array.isArray(e.supportedFeatures))return"supportedFeatures: array expected";for(var r=0;r<e.supportedFeatures.length;++r)switch(e.supportedFeatures[r]){default:return"supportedFeatures: enum value[] expected";case 0:case 1:case 2:break}}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.MfeDomainFeaturesProto)return e;var r=new o.keyhole.dbroot.MfeDomainFeaturesProto;if(null!=e.countryCode&&(r.countryCode=String(e.countryCode)),null!=e.domainName&&(r.domainName=String(e.domainName)),e.supportedFeatures){if(!Array.isArray(e.supportedFeatures))throw TypeError(".keyhole.dbroot.MfeDomainFeaturesProto.supportedFeatures: array expected");r.supportedFeatures=[];for(var t=0;t<e.supportedFeatures.length;++t)switch(e.supportedFeatures[t]){default:case"GEOCODING":case 0:r.supportedFeatures[t]=0;break;case"LOCAL_SEARCH":case 1:r.supportedFeatures[t]=1;break;case"DRIVING_DIRECTIONS":case 2:r.supportedFeatures[t]=2;break}}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.supportedFeatures=[]),r.defaults&&(t.countryCode="",t.domainName=""),null!=e.countryCode&&e.hasOwnProperty("countryCode")&&(t.countryCode=e.countryCode),null!=e.domainName&&e.hasOwnProperty("domainName")&&(t.domainName=e.domainName),e.supportedFeatures&&e.supportedFeatures.length){t.supportedFeatures=[];for(var n=0;n<e.supportedFeatures.length;++n)t.supportedFeatures[n]=r.enums===String?o.keyhole.dbroot.MfeDomainFeaturesProto.SupportedFeature[e.supportedFeatures[n]]:e.supportedFeatures[n]}return t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.MfeDomainFeaturesProto"},n.SupportedFeature=function(){var e={},r=Object.create(e);return r[e[0]="GEOCODING"]=0,r[e[1]="LOCAL_SEARCH"]=1,r[e[2]="DRIVING_DIRECTIONS"]=2,r}(),n}(),n.ClientOptionsProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.disableDiskCache=!1,n.prototype.disableEmbeddedBrowserVista=!1,n.prototype.drawAtmosphere=!0,n.prototype.drawStars=!0,n.prototype.shaderFilePrefix="",n.prototype.useProtobufQuadtreePackets=!1,n.prototype.useExtendedCopyrightIds=!0,n.prototype.precipitationsOptions=null,n.prototype.captureOptions=null,n.prototype.show_2dMapsIcon=!0,n.prototype.disableInternalBrowser=!1,n.prototype.internalBrowserBlacklist="",n.prototype.internalBrowserOriginWhitelist="*",n.prototype.polarTileMergingLevel=0,n.prototype.jsBridgeRequestWhitelist="http://*.google.com/*",n.prototype.mapsOptions=null,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.ClientOptionsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.disableDiskCache=e.bool();break;case 2:a.disableEmbeddedBrowserVista=e.bool();break;case 3:a.drawAtmosphere=e.bool();break;case 4:a.drawStars=e.bool();break;case 5:a.shaderFilePrefix=e.string();break;case 6:a.useProtobufQuadtreePackets=e.bool();break;case 7:a.useExtendedCopyrightIds=e.bool();break;case 8:a.precipitationsOptions=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.decode(e,e.uint32());break;case 9:a.captureOptions=o.keyhole.dbroot.ClientOptionsProto.CaptureOptions.decode(e,e.uint32());break;case 10:a.show_2dMapsIcon=e.bool();break;case 11:a.disableInternalBrowser=e.bool();break;case 12:a.internalBrowserBlacklist=e.string();break;case 13:a.internalBrowserOriginWhitelist=e.string();break;case 14:a.polarTileMergingLevel=e.int32();break;case 15:a.jsBridgeRequestWhitelist=e.string();break;case 16:a.mapsOptions=o.keyhole.dbroot.ClientOptionsProto.MapsOptions.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.disableDiskCache&&e.hasOwnProperty("disableDiskCache")&&"boolean"!=typeof e.disableDiskCache)return"disableDiskCache: boolean expected";if(null!=e.disableEmbeddedBrowserVista&&e.hasOwnProperty("disableEmbeddedBrowserVista")&&"boolean"!=typeof e.disableEmbeddedBrowserVista)return"disableEmbeddedBrowserVista: boolean expected";if(null!=e.drawAtmosphere&&e.hasOwnProperty("drawAtmosphere")&&"boolean"!=typeof e.drawAtmosphere)return"drawAtmosphere: boolean expected";if(null!=e.drawStars&&e.hasOwnProperty("drawStars")&&"boolean"!=typeof e.drawStars)return"drawStars: boolean expected";if(null!=e.shaderFilePrefix&&e.hasOwnProperty("shaderFilePrefix")&&!t.isString(e.shaderFilePrefix))return"shaderFilePrefix: string expected";if(null!=e.useProtobufQuadtreePackets&&e.hasOwnProperty("useProtobufQuadtreePackets")&&"boolean"!=typeof e.useProtobufQuadtreePackets)return"useProtobufQuadtreePackets: boolean expected";if(null!=e.useExtendedCopyrightIds&&e.hasOwnProperty("useExtendedCopyrightIds")&&"boolean"!=typeof e.useExtendedCopyrightIds)return"useExtendedCopyrightIds: boolean expected";if(null!=e.precipitationsOptions&&e.hasOwnProperty("precipitationsOptions")){var r=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.verify(e.precipitationsOptions);if(r)return"precipitationsOptions."+r}if(null!=e.captureOptions&&e.hasOwnProperty("captureOptions")){r=o.keyhole.dbroot.ClientOptionsProto.CaptureOptions.verify(e.captureOptions);if(r)return"captureOptions."+r}if(null!=e.show_2dMapsIcon&&e.hasOwnProperty("show_2dMapsIcon")&&"boolean"!=typeof e.show_2dMapsIcon)return"show_2dMapsIcon: boolean expected";if(null!=e.disableInternalBrowser&&e.hasOwnProperty("disableInternalBrowser")&&"boolean"!=typeof e.disableInternalBrowser)return"disableInternalBrowser: boolean expected";if(null!=e.internalBrowserBlacklist&&e.hasOwnProperty("internalBrowserBlacklist")&&!t.isString(e.internalBrowserBlacklist))return"internalBrowserBlacklist: string expected";if(null!=e.internalBrowserOriginWhitelist&&e.hasOwnProperty("internalBrowserOriginWhitelist")&&!t.isString(e.internalBrowserOriginWhitelist))return"internalBrowserOriginWhitelist: string expected";if(null!=e.polarTileMergingLevel&&e.hasOwnProperty("polarTileMergingLevel")&&!t.isInteger(e.polarTileMergingLevel))return"polarTileMergingLevel: integer expected";if(null!=e.jsBridgeRequestWhitelist&&e.hasOwnProperty("jsBridgeRequestWhitelist")&&!t.isString(e.jsBridgeRequestWhitelist))return"jsBridgeRequestWhitelist: string expected";if(null!=e.mapsOptions&&e.hasOwnProperty("mapsOptions")){r=o.keyhole.dbroot.ClientOptionsProto.MapsOptions.verify(e.mapsOptions);if(r)return"mapsOptions."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ClientOptionsProto)return e;var r=new o.keyhole.dbroot.ClientOptionsProto;if(null!=e.disableDiskCache&&(r.disableDiskCache=Boolean(e.disableDiskCache)),null!=e.disableEmbeddedBrowserVista&&(r.disableEmbeddedBrowserVista=Boolean(e.disableEmbeddedBrowserVista)),null!=e.drawAtmosphere&&(r.drawAtmosphere=Boolean(e.drawAtmosphere)),null!=e.drawStars&&(r.drawStars=Boolean(e.drawStars)),null!=e.shaderFilePrefix&&(r.shaderFilePrefix=String(e.shaderFilePrefix)),null!=e.useProtobufQuadtreePackets&&(r.useProtobufQuadtreePackets=Boolean(e.useProtobufQuadtreePackets)),null!=e.useExtendedCopyrightIds&&(r.useExtendedCopyrightIds=Boolean(e.useExtendedCopyrightIds)),null!=e.precipitationsOptions){if("object"!=typeof e.precipitationsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.precipitationsOptions: object expected");r.precipitationsOptions=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.fromObject(e.precipitationsOptions)}if(null!=e.captureOptions){if("object"!=typeof e.captureOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.captureOptions: object expected");r.captureOptions=o.keyhole.dbroot.ClientOptionsProto.CaptureOptions.fromObject(e.captureOptions)}if(null!=e.show_2dMapsIcon&&(r.show_2dMapsIcon=Boolean(e.show_2dMapsIcon)),null!=e.disableInternalBrowser&&(r.disableInternalBrowser=Boolean(e.disableInternalBrowser)),null!=e.internalBrowserBlacklist&&(r.internalBrowserBlacklist=String(e.internalBrowserBlacklist)),null!=e.internalBrowserOriginWhitelist&&(r.internalBrowserOriginWhitelist=String(e.internalBrowserOriginWhitelist)),null!=e.polarTileMergingLevel&&(r.polarTileMergingLevel=0|e.polarTileMergingLevel),null!=e.jsBridgeRequestWhitelist&&(r.jsBridgeRequestWhitelist=String(e.jsBridgeRequestWhitelist)),null!=e.mapsOptions){if("object"!=typeof e.mapsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.mapsOptions: object expected");r.mapsOptions=o.keyhole.dbroot.ClientOptionsProto.MapsOptions.fromObject(e.mapsOptions)}return r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.disableDiskCache=!1,t.disableEmbeddedBrowserVista=!1,t.drawAtmosphere=!0,t.drawStars=!0,t.shaderFilePrefix="",t.useProtobufQuadtreePackets=!1,t.useExtendedCopyrightIds=!0,t.precipitationsOptions=null,t.captureOptions=null,t.show_2dMapsIcon=!0,t.disableInternalBrowser=!1,t.internalBrowserBlacklist="",t.internalBrowserOriginWhitelist="*",t.polarTileMergingLevel=0,t.jsBridgeRequestWhitelist="http://*.google.com/*",t.mapsOptions=null),null!=e.disableDiskCache&&e.hasOwnProperty("disableDiskCache")&&(t.disableDiskCache=e.disableDiskCache),null!=e.disableEmbeddedBrowserVista&&e.hasOwnProperty("disableEmbeddedBrowserVista")&&(t.disableEmbeddedBrowserVista=e.disableEmbeddedBrowserVista),null!=e.drawAtmosphere&&e.hasOwnProperty("drawAtmosphere")&&(t.drawAtmosphere=e.drawAtmosphere),null!=e.drawStars&&e.hasOwnProperty("drawStars")&&(t.drawStars=e.drawStars),null!=e.shaderFilePrefix&&e.hasOwnProperty("shaderFilePrefix")&&(t.shaderFilePrefix=e.shaderFilePrefix),null!=e.useProtobufQuadtreePackets&&e.hasOwnProperty("useProtobufQuadtreePackets")&&(t.useProtobufQuadtreePackets=e.useProtobufQuadtreePackets),null!=e.useExtendedCopyrightIds&&e.hasOwnProperty("useExtendedCopyrightIds")&&(t.useExtendedCopyrightIds=e.useExtendedCopyrightIds),null!=e.precipitationsOptions&&e.hasOwnProperty("precipitationsOptions")&&(t.precipitationsOptions=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.toObject(e.precipitationsOptions,r)),null!=e.captureOptions&&e.hasOwnProperty("captureOptions")&&(t.captureOptions=o.keyhole.dbroot.ClientOptionsProto.CaptureOptions.toObject(e.captureOptions,r)),null!=e.show_2dMapsIcon&&e.hasOwnProperty("show_2dMapsIcon")&&(t.show_2dMapsIcon=e.show_2dMapsIcon),null!=e.disableInternalBrowser&&e.hasOwnProperty("disableInternalBrowser")&&(t.disableInternalBrowser=e.disableInternalBrowser),null!=e.internalBrowserBlacklist&&e.hasOwnProperty("internalBrowserBlacklist")&&(t.internalBrowserBlacklist=e.internalBrowserBlacklist),null!=e.internalBrowserOriginWhitelist&&e.hasOwnProperty("internalBrowserOriginWhitelist")&&(t.internalBrowserOriginWhitelist=e.internalBrowserOriginWhitelist),null!=e.polarTileMergingLevel&&e.hasOwnProperty("polarTileMergingLevel")&&(t.polarTileMergingLevel=e.polarTileMergingLevel),null!=e.jsBridgeRequestWhitelist&&e.hasOwnProperty("jsBridgeRequestWhitelist")&&(t.jsBridgeRequestWhitelist=e.jsBridgeRequestWhitelist),null!=e.mapsOptions&&e.hasOwnProperty("mapsOptions")&&(t.mapsOptions=o.keyhole.dbroot.ClientOptionsProto.MapsOptions.toObject(e.mapsOptions,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ClientOptionsProto"},n.PrecipitationsOptions=function(){function n(e){if(this.weatherMapping=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.imageUrl="",n.prototype.imageExpireTime=900,n.prototype.maxColorDistance=20,n.prototype.imageLevel=5,n.prototype.weatherMapping=t.emptyArray,n.prototype.cloudsLayerUrl="",n.prototype.animationDecelerationDelay=20,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.imageUrl=e.string();break;case 2:a.imageExpireTime=e.int32();break;case 3:a.maxColorDistance=e.int32();break;case 4:a.imageLevel=e.int32();break;case 5:a.weatherMapping&&a.weatherMapping.length||(a.weatherMapping=[]),a.weatherMapping.push(o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.decode(e,e.uint32()));break;case 6:a.cloudsLayerUrl=e.string();break;case 7:a.animationDecelerationDelay=e.float();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.imageUrl&&e.hasOwnProperty("imageUrl")&&!t.isString(e.imageUrl))return"imageUrl: string expected";if(null!=e.imageExpireTime&&e.hasOwnProperty("imageExpireTime")&&!t.isInteger(e.imageExpireTime))return"imageExpireTime: integer expected";if(null!=e.maxColorDistance&&e.hasOwnProperty("maxColorDistance")&&!t.isInteger(e.maxColorDistance))return"maxColorDistance: integer expected";if(null!=e.imageLevel&&e.hasOwnProperty("imageLevel")&&!t.isInteger(e.imageLevel))return"imageLevel: integer expected";if(null!=e.weatherMapping&&e.hasOwnProperty("weatherMapping")){if(!Array.isArray(e.weatherMapping))return"weatherMapping: array expected";for(var r=0;r<e.weatherMapping.length;++r){var n=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.verify(e.weatherMapping[r]);if(n)return"weatherMapping."+n}}return null!=e.cloudsLayerUrl&&e.hasOwnProperty("cloudsLayerUrl")&&!t.isString(e.cloudsLayerUrl)?"cloudsLayerUrl: string expected":null!=e.animationDecelerationDelay&&e.hasOwnProperty("animationDecelerationDelay")&&"number"!=typeof e.animationDecelerationDelay?"animationDecelerationDelay: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions)return e;var r=new o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;if(null!=e.imageUrl&&(r.imageUrl=String(e.imageUrl)),null!=e.imageExpireTime&&(r.imageExpireTime=0|e.imageExpireTime),null!=e.maxColorDistance&&(r.maxColorDistance=0|e.maxColorDistance),null!=e.imageLevel&&(r.imageLevel=0|e.imageLevel),e.weatherMapping){if(!Array.isArray(e.weatherMapping))throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: array expected");r.weatherMapping=[];for(var t=0;t<e.weatherMapping.length;++t){if("object"!=typeof e.weatherMapping[t])throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: object expected");r.weatherMapping[t]=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.fromObject(e.weatherMapping[t])}}return null!=e.cloudsLayerUrl&&(r.cloudsLayerUrl=String(e.cloudsLayerUrl)),null!=e.animationDecelerationDelay&&(r.animationDecelerationDelay=Number(e.animationDecelerationDelay)),r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.weatherMapping=[]),r.defaults&&(t.imageUrl="",t.imageExpireTime=900,t.maxColorDistance=20,t.imageLevel=5,t.cloudsLayerUrl="",t.animationDecelerationDelay=20),null!=e.imageUrl&&e.hasOwnProperty("imageUrl")&&(t.imageUrl=e.imageUrl),null!=e.imageExpireTime&&e.hasOwnProperty("imageExpireTime")&&(t.imageExpireTime=e.imageExpireTime),null!=e.maxColorDistance&&e.hasOwnProperty("maxColorDistance")&&(t.maxColorDistance=e.maxColorDistance),null!=e.imageLevel&&e.hasOwnProperty("imageLevel")&&(t.imageLevel=e.imageLevel),e.weatherMapping&&e.weatherMapping.length){t.weatherMapping=[];for(var n=0;n<e.weatherMapping.length;++n)t.weatherMapping[n]=o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.toObject(e.weatherMapping[n],r)}return null!=e.cloudsLayerUrl&&e.hasOwnProperty("cloudsLayerUrl")&&(t.cloudsLayerUrl=e.cloudsLayerUrl),null!=e.animationDecelerationDelay&&e.hasOwnProperty("animationDecelerationDelay")&&(t.animationDecelerationDelay=r.json&&!isFinite(e.animationDecelerationDelay)?String(e.animationDecelerationDelay):e.animationDecelerationDelay),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions"},n.WeatherMapping=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.colorAbgr=0,n.prototype.weatherType=0,n.prototype.elongation=1,n.prototype.opacity=0,n.prototype.fogDensity=0,n.prototype.speed0=0,n.prototype.speed1=0,n.prototype.speed2=0,n.prototype.speed3=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.colorAbgr=e.uint32();break;case 2:l.weatherType=e.int32();break;case 3:l.elongation=e.float();break;case 4:l.opacity=e.float();break;case 5:l.fogDensity=e.float();break;case 6:l.speed0=e.float();break;case 7:l.speed1=e.float();break;case 8:l.speed2=e.float();break;case 9:l.speed3=e.float();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("colorAbgr"))throw t.ProtocolError("missing required 'colorAbgr'",{instance:l});if(!l.hasOwnProperty("weatherType"))throw t.ProtocolError("missing required 'weatherType'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isInteger(e.colorAbgr))return"colorAbgr: integer expected";switch(e.weatherType){default:return"weatherType: enum value expected";case 0:case 1:case 2:break}return null!=e.elongation&&e.hasOwnProperty("elongation")&&"number"!=typeof e.elongation?"elongation: number expected":null!=e.opacity&&e.hasOwnProperty("opacity")&&"number"!=typeof e.opacity?"opacity: number expected":null!=e.fogDensity&&e.hasOwnProperty("fogDensity")&&"number"!=typeof e.fogDensity?"fogDensity: number expected":null!=e.speed0&&e.hasOwnProperty("speed0")&&"number"!=typeof e.speed0?"speed0: number expected":null!=e.speed1&&e.hasOwnProperty("speed1")&&"number"!=typeof e.speed1?"speed1: number expected":null!=e.speed2&&e.hasOwnProperty("speed2")&&"number"!=typeof e.speed2?"speed2: number expected":null!=e.speed3&&e.hasOwnProperty("speed3")&&"number"!=typeof e.speed3?"speed3: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping)return e;var r=new o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;switch(null!=e.colorAbgr&&(r.colorAbgr=e.colorAbgr>>>0),e.weatherType){case"NO_PRECIPITATION":case 0:r.weatherType=0;break;case"RAIN":case 1:r.weatherType=1;break;case"SNOW":case 2:r.weatherType=2;break}return null!=e.elongation&&(r.elongation=Number(e.elongation)),null!=e.opacity&&(r.opacity=Number(e.opacity)),null!=e.fogDensity&&(r.fogDensity=Number(e.fogDensity)),null!=e.speed0&&(r.speed0=Number(e.speed0)),null!=e.speed1&&(r.speed1=Number(e.speed1)),null!=e.speed2&&(r.speed2=Number(e.speed2)),null!=e.speed3&&(r.speed3=Number(e.speed3)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.colorAbgr=0,t.weatherType=r.enums===String?"NO_PRECIPITATION":0,t.elongation=1,t.opacity=0,t.fogDensity=0,t.speed0=0,t.speed1=0,t.speed2=0,t.speed3=0),null!=e.colorAbgr&&e.hasOwnProperty("colorAbgr")&&(t.colorAbgr=e.colorAbgr),null!=e.weatherType&&e.hasOwnProperty("weatherType")&&(t.weatherType=r.enums===String?o.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.WeatherType[e.weatherType]:e.weatherType),null!=e.elongation&&e.hasOwnProperty("elongation")&&(t.elongation=r.json&&!isFinite(e.elongation)?String(e.elongation):e.elongation),null!=e.opacity&&e.hasOwnProperty("opacity")&&(t.opacity=r.json&&!isFinite(e.opacity)?String(e.opacity):e.opacity),null!=e.fogDensity&&e.hasOwnProperty("fogDensity")&&(t.fogDensity=r.json&&!isFinite(e.fogDensity)?String(e.fogDensity):e.fogDensity),null!=e.speed0&&e.hasOwnProperty("speed0")&&(t.speed0=r.json&&!isFinite(e.speed0)?String(e.speed0):e.speed0),null!=e.speed1&&e.hasOwnProperty("speed1")&&(t.speed1=r.json&&!isFinite(e.speed1)?String(e.speed1):e.speed1),null!=e.speed2&&e.hasOwnProperty("speed2")&&(t.speed2=r.json&&!isFinite(e.speed2)?String(e.speed2):e.speed2),null!=e.speed3&&e.hasOwnProperty("speed3")&&(t.speed3=r.json&&!isFinite(e.speed3)?String(e.speed3):e.speed3),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping"},n.WeatherType=function(){var e={},r=Object.create(e);return r[e[0]="NO_PRECIPITATION"]=0,r[e[1]="RAIN"]=1,r[e[2]="SNOW"]=2,r}(),n}(),n}(),n.CaptureOptions=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.allowSaveAsImage=!0,n.prototype.maxFreeCaptureRes=2400,n.prototype.maxPremiumCaptureRes=4800,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.ClientOptionsProto.CaptureOptions;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.allowSaveAsImage=e.bool();break;case 2:a.maxFreeCaptureRes=e.int32();break;case 3:a.maxPremiumCaptureRes=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.allowSaveAsImage&&e.hasOwnProperty("allowSaveAsImage")&&"boolean"!=typeof e.allowSaveAsImage?"allowSaveAsImage: boolean expected":null!=e.maxFreeCaptureRes&&e.hasOwnProperty("maxFreeCaptureRes")&&!t.isInteger(e.maxFreeCaptureRes)?"maxFreeCaptureRes: integer expected":null!=e.maxPremiumCaptureRes&&e.hasOwnProperty("maxPremiumCaptureRes")&&!t.isInteger(e.maxPremiumCaptureRes)?"maxPremiumCaptureRes: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ClientOptionsProto.CaptureOptions)return e;var r=new o.keyhole.dbroot.ClientOptionsProto.CaptureOptions;return null!=e.allowSaveAsImage&&(r.allowSaveAsImage=Boolean(e.allowSaveAsImage)),null!=e.maxFreeCaptureRes&&(r.maxFreeCaptureRes=0|e.maxFreeCaptureRes),null!=e.maxPremiumCaptureRes&&(r.maxPremiumCaptureRes=0|e.maxPremiumCaptureRes),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.allowSaveAsImage=!0,t.maxFreeCaptureRes=2400,t.maxPremiumCaptureRes=4800),null!=e.allowSaveAsImage&&e.hasOwnProperty("allowSaveAsImage")&&(t.allowSaveAsImage=e.allowSaveAsImage),null!=e.maxFreeCaptureRes&&e.hasOwnProperty("maxFreeCaptureRes")&&(t.maxFreeCaptureRes=e.maxFreeCaptureRes),null!=e.maxPremiumCaptureRes&&e.hasOwnProperty("maxPremiumCaptureRes")&&(t.maxPremiumCaptureRes=e.maxPremiumCaptureRes),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ClientOptionsProto.CaptureOptions"},n}(),n.MapsOptions=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.enableMaps=!1,n.prototype.docsAutoDownloadEnabled=!1,n.prototype.docsAutoDownloadInterval=0,n.prototype.docsAutoUploadEnabled=!1,n.prototype.docsAutoUploadDelay=0,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.ClientOptionsProto.MapsOptions;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.enableMaps=e.bool();break;case 2:a.docsAutoDownloadEnabled=e.bool();break;case 3:a.docsAutoDownloadInterval=e.int32();break;case 4:a.docsAutoUploadEnabled=e.bool();break;case 5:a.docsAutoUploadDelay=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enableMaps&&e.hasOwnProperty("enableMaps")&&"boolean"!=typeof e.enableMaps?"enableMaps: boolean expected":null!=e.docsAutoDownloadEnabled&&e.hasOwnProperty("docsAutoDownloadEnabled")&&"boolean"!=typeof e.docsAutoDownloadEnabled?"docsAutoDownloadEnabled: boolean expected":null!=e.docsAutoDownloadInterval&&e.hasOwnProperty("docsAutoDownloadInterval")&&!t.isInteger(e.docsAutoDownloadInterval)?"docsAutoDownloadInterval: integer expected":null!=e.docsAutoUploadEnabled&&e.hasOwnProperty("docsAutoUploadEnabled")&&"boolean"!=typeof e.docsAutoUploadEnabled?"docsAutoUploadEnabled: boolean expected":null!=e.docsAutoUploadDelay&&e.hasOwnProperty("docsAutoUploadDelay")&&!t.isInteger(e.docsAutoUploadDelay)?"docsAutoUploadDelay: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ClientOptionsProto.MapsOptions)return e;var r=new o.keyhole.dbroot.ClientOptionsProto.MapsOptions;return null!=e.enableMaps&&(r.enableMaps=Boolean(e.enableMaps)),null!=e.docsAutoDownloadEnabled&&(r.docsAutoDownloadEnabled=Boolean(e.docsAutoDownloadEnabled)),null!=e.docsAutoDownloadInterval&&(r.docsAutoDownloadInterval=0|e.docsAutoDownloadInterval),null!=e.docsAutoUploadEnabled&&(r.docsAutoUploadEnabled=Boolean(e.docsAutoUploadEnabled)),null!=e.docsAutoUploadDelay&&(r.docsAutoUploadDelay=0|e.docsAutoUploadDelay),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.enableMaps=!1,t.docsAutoDownloadEnabled=!1,t.docsAutoDownloadInterval=0,t.docsAutoUploadEnabled=!1,t.docsAutoUploadDelay=0),null!=e.enableMaps&&e.hasOwnProperty("enableMaps")&&(t.enableMaps=e.enableMaps),null!=e.docsAutoDownloadEnabled&&e.hasOwnProperty("docsAutoDownloadEnabled")&&(t.docsAutoDownloadEnabled=e.docsAutoDownloadEnabled),null!=e.docsAutoDownloadInterval&&e.hasOwnProperty("docsAutoDownloadInterval")&&(t.docsAutoDownloadInterval=e.docsAutoDownloadInterval),null!=e.docsAutoUploadEnabled&&e.hasOwnProperty("docsAutoUploadEnabled")&&(t.docsAutoUploadEnabled=e.docsAutoUploadEnabled),null!=e.docsAutoUploadDelay&&e.hasOwnProperty("docsAutoUploadDelay")&&(t.docsAutoUploadDelay=e.docsAutoUploadDelay),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ClientOptionsProto.MapsOptions"},n}(),n}(),n.FetchingOptionsProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.maxRequestsPerQuery=1,n.prototype.forceMaxRequestsPerQuery=!1,n.prototype.sortBatches=!1,n.prototype.maxDrawable=2,n.prototype.maxImagery=2,n.prototype.maxTerrain=5,n.prototype.maxQuadtree=5,n.prototype.maxDioramaMetadata=1,n.prototype.maxDioramaData=0,n.prototype.maxConsumerFetchRatio=1,n.prototype.maxProEcFetchRatio=0,n.prototype.safeOverallQps=0,n.prototype.safeImageryQps=0,n.prototype.domainsForHttps="google.com gstatic.com",n.prototype.hostsForHttp="",n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.FetchingOptionsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.maxRequestsPerQuery=e.int32();break;case 12:a.forceMaxRequestsPerQuery=e.bool();break;case 13:a.sortBatches=e.bool();break;case 2:a.maxDrawable=e.int32();break;case 3:a.maxImagery=e.int32();break;case 4:a.maxTerrain=e.int32();break;case 5:a.maxQuadtree=e.int32();break;case 6:a.maxDioramaMetadata=e.int32();break;case 7:a.maxDioramaData=e.int32();break;case 8:a.maxConsumerFetchRatio=e.float();break;case 9:a.maxProEcFetchRatio=e.float();break;case 10:a.safeOverallQps=e.float();break;case 11:a.safeImageryQps=e.float();break;case 14:a.domainsForHttps=e.string();break;case 15:a.hostsForHttp=e.string();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.maxRequestsPerQuery&&e.hasOwnProperty("maxRequestsPerQuery")&&!t.isInteger(e.maxRequestsPerQuery)?"maxRequestsPerQuery: integer expected":null!=e.forceMaxRequestsPerQuery&&e.hasOwnProperty("forceMaxRequestsPerQuery")&&"boolean"!=typeof e.forceMaxRequestsPerQuery?"forceMaxRequestsPerQuery: boolean expected":null!=e.sortBatches&&e.hasOwnProperty("sortBatches")&&"boolean"!=typeof e.sortBatches?"sortBatches: boolean expected":null!=e.maxDrawable&&e.hasOwnProperty("maxDrawable")&&!t.isInteger(e.maxDrawable)?"maxDrawable: integer expected":null!=e.maxImagery&&e.hasOwnProperty("maxImagery")&&!t.isInteger(e.maxImagery)?"maxImagery: integer expected":null!=e.maxTerrain&&e.hasOwnProperty("maxTerrain")&&!t.isInteger(e.maxTerrain)?"maxTerrain: integer expected":null!=e.maxQuadtree&&e.hasOwnProperty("maxQuadtree")&&!t.isInteger(e.maxQuadtree)?"maxQuadtree: integer expected":null!=e.maxDioramaMetadata&&e.hasOwnProperty("maxDioramaMetadata")&&!t.isInteger(e.maxDioramaMetadata)?"maxDioramaMetadata: integer expected":null!=e.maxDioramaData&&e.hasOwnProperty("maxDioramaData")&&!t.isInteger(e.maxDioramaData)?"maxDioramaData: integer expected":null!=e.maxConsumerFetchRatio&&e.hasOwnProperty("maxConsumerFetchRatio")&&"number"!=typeof e.maxConsumerFetchRatio?"maxConsumerFetchRatio: number expected":null!=e.maxProEcFetchRatio&&e.hasOwnProperty("maxProEcFetchRatio")&&"number"!=typeof e.maxProEcFetchRatio?"maxProEcFetchRatio: number expected":null!=e.safeOverallQps&&e.hasOwnProperty("safeOverallQps")&&"number"!=typeof e.safeOverallQps?"safeOverallQps: number expected":null!=e.safeImageryQps&&e.hasOwnProperty("safeImageryQps")&&"number"!=typeof e.safeImageryQps?"safeImageryQps: number expected":null!=e.domainsForHttps&&e.hasOwnProperty("domainsForHttps")&&!t.isString(e.domainsForHttps)?"domainsForHttps: string expected":null!=e.hostsForHttp&&e.hasOwnProperty("hostsForHttp")&&!t.isString(e.hostsForHttp)?"hostsForHttp: string expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.FetchingOptionsProto)return e;var r=new o.keyhole.dbroot.FetchingOptionsProto;return null!=e.maxRequestsPerQuery&&(r.maxRequestsPerQuery=0|e.maxRequestsPerQuery),null!=e.forceMaxRequestsPerQuery&&(r.forceMaxRequestsPerQuery=Boolean(e.forceMaxRequestsPerQuery)),null!=e.sortBatches&&(r.sortBatches=Boolean(e.sortBatches)),null!=e.maxDrawable&&(r.maxDrawable=0|e.maxDrawable),null!=e.maxImagery&&(r.maxImagery=0|e.maxImagery),null!=e.maxTerrain&&(r.maxTerrain=0|e.maxTerrain),null!=e.maxQuadtree&&(r.maxQuadtree=0|e.maxQuadtree),null!=e.maxDioramaMetadata&&(r.maxDioramaMetadata=0|e.maxDioramaMetadata),null!=e.maxDioramaData&&(r.maxDioramaData=0|e.maxDioramaData),null!=e.maxConsumerFetchRatio&&(r.maxConsumerFetchRatio=Number(e.maxConsumerFetchRatio)),null!=e.maxProEcFetchRatio&&(r.maxProEcFetchRatio=Number(e.maxProEcFetchRatio)),null!=e.safeOverallQps&&(r.safeOverallQps=Number(e.safeOverallQps)),null!=e.safeImageryQps&&(r.safeImageryQps=Number(e.safeImageryQps)),null!=e.domainsForHttps&&(r.domainsForHttps=String(e.domainsForHttps)),null!=e.hostsForHttp&&(r.hostsForHttp=String(e.hostsForHttp)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.maxRequestsPerQuery=1,t.maxDrawable=2,t.maxImagery=2,t.maxTerrain=5,t.maxQuadtree=5,t.maxDioramaMetadata=1,t.maxDioramaData=0,t.maxConsumerFetchRatio=1,t.maxProEcFetchRatio=0,t.safeOverallQps=0,t.safeImageryQps=0,t.forceMaxRequestsPerQuery=!1,t.sortBatches=!1,t.domainsForHttps="google.com gstatic.com",t.hostsForHttp=""),null!=e.maxRequestsPerQuery&&e.hasOwnProperty("maxRequestsPerQuery")&&(t.maxRequestsPerQuery=e.maxRequestsPerQuery),null!=e.maxDrawable&&e.hasOwnProperty("maxDrawable")&&(t.maxDrawable=e.maxDrawable),null!=e.maxImagery&&e.hasOwnProperty("maxImagery")&&(t.maxImagery=e.maxImagery),null!=e.maxTerrain&&e.hasOwnProperty("maxTerrain")&&(t.maxTerrain=e.maxTerrain),null!=e.maxQuadtree&&e.hasOwnProperty("maxQuadtree")&&(t.maxQuadtree=e.maxQuadtree),null!=e.maxDioramaMetadata&&e.hasOwnProperty("maxDioramaMetadata")&&(t.maxDioramaMetadata=e.maxDioramaMetadata),null!=e.maxDioramaData&&e.hasOwnProperty("maxDioramaData")&&(t.maxDioramaData=e.maxDioramaData),null!=e.maxConsumerFetchRatio&&e.hasOwnProperty("maxConsumerFetchRatio")&&(t.maxConsumerFetchRatio=r.json&&!isFinite(e.maxConsumerFetchRatio)?String(e.maxConsumerFetchRatio):e.maxConsumerFetchRatio),null!=e.maxProEcFetchRatio&&e.hasOwnProperty("maxProEcFetchRatio")&&(t.maxProEcFetchRatio=r.json&&!isFinite(e.maxProEcFetchRatio)?String(e.maxProEcFetchRatio):e.maxProEcFetchRatio),null!=e.safeOverallQps&&e.hasOwnProperty("safeOverallQps")&&(t.safeOverallQps=r.json&&!isFinite(e.safeOverallQps)?String(e.safeOverallQps):e.safeOverallQps),null!=e.safeImageryQps&&e.hasOwnProperty("safeImageryQps")&&(t.safeImageryQps=r.json&&!isFinite(e.safeImageryQps)?String(e.safeImageryQps):e.safeImageryQps),null!=e.forceMaxRequestsPerQuery&&e.hasOwnProperty("forceMaxRequestsPerQuery")&&(t.forceMaxRequestsPerQuery=e.forceMaxRequestsPerQuery),null!=e.sortBatches&&e.hasOwnProperty("sortBatches")&&(t.sortBatches=e.sortBatches),null!=e.domainsForHttps&&e.hasOwnProperty("domainsForHttps")&&(t.domainsForHttps=e.domainsForHttps),null!=e.hostsForHttp&&e.hasOwnProperty("hostsForHttp")&&(t.hostsForHttp=e.hostsForHttp),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.FetchingOptionsProto"},n}(),n.TimeMachineOptionsProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.serverUrl="",n.prototype.isTimemachine=!1,n.prototype.dwellTimeMs=500,n.prototype.discoverabilityAltitudeMeters=15e3,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.TimeMachineOptionsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.serverUrl=e.string();break;case 2:a.isTimemachine=e.bool();break;case 3:a.dwellTimeMs=e.int32();break;case 4:a.discoverabilityAltitudeMeters=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.serverUrl&&e.hasOwnProperty("serverUrl")&&!t.isString(e.serverUrl)?"serverUrl: string expected":null!=e.isTimemachine&&e.hasOwnProperty("isTimemachine")&&"boolean"!=typeof e.isTimemachine?"isTimemachine: boolean expected":null!=e.dwellTimeMs&&e.hasOwnProperty("dwellTimeMs")&&!t.isInteger(e.dwellTimeMs)?"dwellTimeMs: integer expected":null!=e.discoverabilityAltitudeMeters&&e.hasOwnProperty("discoverabilityAltitudeMeters")&&!t.isInteger(e.discoverabilityAltitudeMeters)?"discoverabilityAltitudeMeters: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.TimeMachineOptionsProto)return e;var r=new o.keyhole.dbroot.TimeMachineOptionsProto;return null!=e.serverUrl&&(r.serverUrl=String(e.serverUrl)),null!=e.isTimemachine&&(r.isTimemachine=Boolean(e.isTimemachine)),null!=e.dwellTimeMs&&(r.dwellTimeMs=0|e.dwellTimeMs),null!=e.discoverabilityAltitudeMeters&&(r.discoverabilityAltitudeMeters=0|e.discoverabilityAltitudeMeters),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.serverUrl="",t.isTimemachine=!1,t.dwellTimeMs=500,t.discoverabilityAltitudeMeters=15e3),null!=e.serverUrl&&e.hasOwnProperty("serverUrl")&&(t.serverUrl=e.serverUrl),null!=e.isTimemachine&&e.hasOwnProperty("isTimemachine")&&(t.isTimemachine=e.isTimemachine),null!=e.dwellTimeMs&&e.hasOwnProperty("dwellTimeMs")&&(t.dwellTimeMs=e.dwellTimeMs),null!=e.discoverabilityAltitudeMeters&&e.hasOwnProperty("discoverabilityAltitudeMeters")&&(t.discoverabilityAltitudeMeters=e.discoverabilityAltitudeMeters),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.TimeMachineOptionsProto"},n}(),n.AutopiaOptionsProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.metadataServerUrl="http://cbk0.google.com/cbk",n.prototype.depthmapServerUrl="http://cbk0.google.com/cbk",n.prototype.coverageOverlayUrl="",n.prototype.maxImageryQps=0,n.prototype.maxMetadataDepthmapQps=0,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.AutopiaOptionsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.metadataServerUrl=e.string();break;case 2:a.depthmapServerUrl=e.string();break;case 3:a.coverageOverlayUrl=e.string();break;case 4:a.maxImageryQps=e.float();break;case 5:a.maxMetadataDepthmapQps=e.float();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.metadataServerUrl&&e.hasOwnProperty("metadataServerUrl")&&!t.isString(e.metadataServerUrl)?"metadataServerUrl: string expected":null!=e.depthmapServerUrl&&e.hasOwnProperty("depthmapServerUrl")&&!t.isString(e.depthmapServerUrl)?"depthmapServerUrl: string expected":null!=e.coverageOverlayUrl&&e.hasOwnProperty("coverageOverlayUrl")&&!t.isString(e.coverageOverlayUrl)?"coverageOverlayUrl: string expected":null!=e.maxImageryQps&&e.hasOwnProperty("maxImageryQps")&&"number"!=typeof e.maxImageryQps?"maxImageryQps: number expected":null!=e.maxMetadataDepthmapQps&&e.hasOwnProperty("maxMetadataDepthmapQps")&&"number"!=typeof e.maxMetadataDepthmapQps?"maxMetadataDepthmapQps: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.AutopiaOptionsProto)return e;var r=new o.keyhole.dbroot.AutopiaOptionsProto;return null!=e.metadataServerUrl&&(r.metadataServerUrl=String(e.metadataServerUrl)),null!=e.depthmapServerUrl&&(r.depthmapServerUrl=String(e.depthmapServerUrl)),null!=e.coverageOverlayUrl&&(r.coverageOverlayUrl=String(e.coverageOverlayUrl)),null!=e.maxImageryQps&&(r.maxImageryQps=Number(e.maxImageryQps)),null!=e.maxMetadataDepthmapQps&&(r.maxMetadataDepthmapQps=Number(e.maxMetadataDepthmapQps)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.metadataServerUrl="http://cbk0.google.com/cbk",t.depthmapServerUrl="http://cbk0.google.com/cbk",t.coverageOverlayUrl="",t.maxImageryQps=0,t.maxMetadataDepthmapQps=0),null!=e.metadataServerUrl&&e.hasOwnProperty("metadataServerUrl")&&(t.metadataServerUrl=e.metadataServerUrl),null!=e.depthmapServerUrl&&e.hasOwnProperty("depthmapServerUrl")&&(t.depthmapServerUrl=e.depthmapServerUrl),null!=e.coverageOverlayUrl&&e.hasOwnProperty("coverageOverlayUrl")&&(t.coverageOverlayUrl=e.coverageOverlayUrl),null!=e.maxImageryQps&&e.hasOwnProperty("maxImageryQps")&&(t.maxImageryQps=r.json&&!isFinite(e.maxImageryQps)?String(e.maxImageryQps):e.maxImageryQps),null!=e.maxMetadataDepthmapQps&&e.hasOwnProperty("maxMetadataDepthmapQps")&&(t.maxMetadataDepthmapQps=r.json&&!isFinite(e.maxMetadataDepthmapQps)?String(e.maxMetadataDepthmapQps):e.maxMetadataDepthmapQps),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.AutopiaOptionsProto"},n}(),n.CSIOptionsProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.samplingPercentage=0,n.prototype.experimentId="",n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.CSIOptionsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.samplingPercentage=e.int32();break;case 2:a.experimentId=e.string();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.samplingPercentage&&e.hasOwnProperty("samplingPercentage")&&!t.isInteger(e.samplingPercentage)?"samplingPercentage: integer expected":null!=e.experimentId&&e.hasOwnProperty("experimentId")&&!t.isString(e.experimentId)?"experimentId: string expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.CSIOptionsProto)return e;var r=new o.keyhole.dbroot.CSIOptionsProto;return null!=e.samplingPercentage&&(r.samplingPercentage=0|e.samplingPercentage),null!=e.experimentId&&(r.experimentId=String(e.experimentId)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.samplingPercentage=0,t.experimentId=""),null!=e.samplingPercentage&&e.hasOwnProperty("samplingPercentage")&&(t.samplingPercentage=e.samplingPercentage),null!=e.experimentId&&e.hasOwnProperty("experimentId")&&(t.experimentId=e.experimentId),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.CSIOptionsProto"},n}(),n.SearchTabProto=function(){function n(e){if(this.inputBox=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.isVisible=!1,n.prototype.tabLabel=null,n.prototype.baseUrl="",n.prototype.viewportPrefix="",n.prototype.inputBox=t.emptyArray,n.prototype.requirement=null,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.SearchTabProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.isVisible=e.bool();break;case 2:l.tabLabel=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:l.baseUrl=e.string();break;case 4:l.viewportPrefix=e.string();break;case 5:l.inputBox&&l.inputBox.length||(l.inputBox=[]),l.inputBox.push(o.keyhole.dbroot.SearchTabProto.InputBoxInfo.decode(e,e.uint32()));break;case 6:l.requirement=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("isVisible"))throw t.ProtocolError("missing required 'isVisible'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if("boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(null!=e.tabLabel&&e.hasOwnProperty("tabLabel")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.tabLabel);if(r)return"tabLabel."+r}if(null!=e.baseUrl&&e.hasOwnProperty("baseUrl")&&!t.isString(e.baseUrl))return"baseUrl: string expected";if(null!=e.viewportPrefix&&e.hasOwnProperty("viewportPrefix")&&!t.isString(e.viewportPrefix))return"viewportPrefix: string expected";if(null!=e.inputBox&&e.hasOwnProperty("inputBox")){if(!Array.isArray(e.inputBox))return"inputBox: array expected";for(var n=0;n<e.inputBox.length;++n){r=o.keyhole.dbroot.SearchTabProto.InputBoxInfo.verify(e.inputBox[n]);if(r)return"inputBox."+r}}if(null!=e.requirement&&e.hasOwnProperty("requirement")){r=o.keyhole.dbroot.RequirementProto.verify(e.requirement);if(r)return"requirement."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.SearchTabProto)return e;var r=new o.keyhole.dbroot.SearchTabProto;if(null!=e.isVisible&&(r.isVisible=Boolean(e.isVisible)),null!=e.tabLabel){if("object"!=typeof e.tabLabel)throw TypeError(".keyhole.dbroot.SearchTabProto.tabLabel: object expected");r.tabLabel=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.tabLabel)}if(null!=e.baseUrl&&(r.baseUrl=String(e.baseUrl)),null!=e.viewportPrefix&&(r.viewportPrefix=String(e.viewportPrefix)),e.inputBox){if(!Array.isArray(e.inputBox))throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: array expected");r.inputBox=[];for(var t=0;t<e.inputBox.length;++t){if("object"!=typeof e.inputBox[t])throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: object expected");r.inputBox[t]=o.keyhole.dbroot.SearchTabProto.InputBoxInfo.fromObject(e.inputBox[t])}}if(null!=e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.SearchTabProto.requirement: object expected");r.requirement=o.keyhole.dbroot.RequirementProto.fromObject(e.requirement)}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.inputBox=[]),r.defaults&&(t.isVisible=!1,t.tabLabel=null,t.baseUrl="",t.viewportPrefix="",t.requirement=null),null!=e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),null!=e.tabLabel&&e.hasOwnProperty("tabLabel")&&(t.tabLabel=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.tabLabel,r)),null!=e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=e.baseUrl),null!=e.viewportPrefix&&e.hasOwnProperty("viewportPrefix")&&(t.viewportPrefix=e.viewportPrefix),e.inputBox&&e.inputBox.length){t.inputBox=[];for(var n=0;n<e.inputBox.length;++n)t.inputBox[n]=o.keyhole.dbroot.SearchTabProto.InputBoxInfo.toObject(e.inputBox[n],r)}return null!=e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=o.keyhole.dbroot.RequirementProto.toObject(e.requirement,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.SearchTabProto"},n.InputBoxInfo=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.label=null,n.prototype.queryVerb="",n.prototype.queryPrepend="",n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.SearchTabProto.InputBoxInfo;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.label=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:l.queryVerb=e.string();break;case 3:l.queryPrepend=e.string();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("label"))throw t.ProtocolError("missing required 'label'",{instance:l});if(!l.hasOwnProperty("queryVerb"))throw t.ProtocolError("missing required 'queryVerb'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.label);return r?"label."+r:t.isString(e.queryVerb)?null!=e.queryPrepend&&e.hasOwnProperty("queryPrepend")&&!t.isString(e.queryPrepend)?"queryPrepend: string expected":null:"queryVerb: string expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.SearchTabProto.InputBoxInfo)return e;var r=new o.keyhole.dbroot.SearchTabProto.InputBoxInfo;if(null!=e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.SearchTabProto.InputBoxInfo.label: object expected");r.label=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.label)}return null!=e.queryVerb&&(r.queryVerb=String(e.queryVerb)),null!=e.queryPrepend&&(r.queryPrepend=String(e.queryPrepend)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.label=null,t.queryVerb="",t.queryPrepend=""),null!=e.label&&e.hasOwnProperty("label")&&(t.label=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.label,r)),null!=e.queryVerb&&e.hasOwnProperty("queryVerb")&&(t.queryVerb=e.queryVerb),null!=e.queryPrepend&&e.hasOwnProperty("queryPrepend")&&(t.queryPrepend=e.queryPrepend),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.SearchTabProto.InputBoxInfo"},n}(),n}(),n.CobrandProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.logoUrl="",n.prototype.xCoord=null,n.prototype.yCoord=null,n.prototype.tiePoint=6,n.prototype.screenSize=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.CobrandProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.logoUrl=e.string();break;case 2:l.xCoord=o.keyhole.dbroot.CobrandProto.Coord.decode(e,e.uint32());break;case 3:l.yCoord=o.keyhole.dbroot.CobrandProto.Coord.decode(e,e.uint32());break;case 4:l.tiePoint=e.int32();break;case 5:l.screenSize=e.double();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("logoUrl"))throw t.ProtocolError("missing required 'logoUrl'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isString(e.logoUrl))return"logoUrl: string expected";if(null!=e.xCoord&&e.hasOwnProperty("xCoord")){var r=o.keyhole.dbroot.CobrandProto.Coord.verify(e.xCoord);if(r)return"xCoord."+r}if(null!=e.yCoord&&e.hasOwnProperty("yCoord")){r=o.keyhole.dbroot.CobrandProto.Coord.verify(e.yCoord);if(r)return"yCoord."+r}if(null!=e.tiePoint&&e.hasOwnProperty("tiePoint"))switch(e.tiePoint){default:return"tiePoint: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break}return null!=e.screenSize&&e.hasOwnProperty("screenSize")&&"number"!=typeof e.screenSize?"screenSize: number expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.CobrandProto)return e;var r=new o.keyhole.dbroot.CobrandProto;if(null!=e.logoUrl&&(r.logoUrl=String(e.logoUrl)),null!=e.xCoord){if("object"!=typeof e.xCoord)throw TypeError(".keyhole.dbroot.CobrandProto.xCoord: object expected");r.xCoord=o.keyhole.dbroot.CobrandProto.Coord.fromObject(e.xCoord)}if(null!=e.yCoord){if("object"!=typeof e.yCoord)throw TypeError(".keyhole.dbroot.CobrandProto.yCoord: object expected");r.yCoord=o.keyhole.dbroot.CobrandProto.Coord.fromObject(e.yCoord)}switch(e.tiePoint){case"TOP_LEFT":case 0:r.tiePoint=0;break;case"TOP_CENTER":case 1:r.tiePoint=1;break;case"TOP_RIGHT":case 2:r.tiePoint=2;break;case"MID_LEFT":case 3:r.tiePoint=3;break;case"MID_CENTER":case 4:r.tiePoint=4;break;case"MID_RIGHT":case 5:r.tiePoint=5;break;case"BOTTOM_LEFT":case 6:r.tiePoint=6;break;case"BOTTOM_CENTER":case 7:r.tiePoint=7;break;case"BOTTOM_RIGHT":case 8:r.tiePoint=8;break}return null!=e.screenSize&&(r.screenSize=Number(e.screenSize)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.logoUrl="",t.xCoord=null,t.yCoord=null,t.tiePoint=r.enums===String?"BOTTOM_LEFT":6,t.screenSize=0),null!=e.logoUrl&&e.hasOwnProperty("logoUrl")&&(t.logoUrl=e.logoUrl),null!=e.xCoord&&e.hasOwnProperty("xCoord")&&(t.xCoord=o.keyhole.dbroot.CobrandProto.Coord.toObject(e.xCoord,r)),null!=e.yCoord&&e.hasOwnProperty("yCoord")&&(t.yCoord=o.keyhole.dbroot.CobrandProto.Coord.toObject(e.yCoord,r)),null!=e.tiePoint&&e.hasOwnProperty("tiePoint")&&(t.tiePoint=r.enums===String?o.keyhole.dbroot.CobrandProto.TiePoint[e.tiePoint]:e.tiePoint),null!=e.screenSize&&e.hasOwnProperty("screenSize")&&(t.screenSize=r.json&&!isFinite(e.screenSize)?String(e.screenSize):e.screenSize),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.CobrandProto"},n.Coord=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.value=0,n.prototype.isRelative=!1,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.CobrandProto.Coord;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.value=e.double();break;case 2:l.isRelative=e.bool();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("value"))throw t.ProtocolError("missing required 'value'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.value?"value: number expected":null!=e.isRelative&&e.hasOwnProperty("isRelative")&&"boolean"!=typeof e.isRelative?"isRelative: boolean expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.CobrandProto.Coord)return e;var r=new o.keyhole.dbroot.CobrandProto.Coord;return null!=e.value&&(r.value=Number(e.value)),null!=e.isRelative&&(r.isRelative=Boolean(e.isRelative)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.value=0,t.isRelative=!1),null!=e.value&&e.hasOwnProperty("value")&&(t.value=r.json&&!isFinite(e.value)?String(e.value):e.value),null!=e.isRelative&&e.hasOwnProperty("isRelative")&&(t.isRelative=e.isRelative),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.CobrandProto.Coord"},n}(),n.TiePoint=function(){var e={},r=Object.create(e);return r[e[0]="TOP_LEFT"]=0,r[e[1]="TOP_CENTER"]=1,r[e[2]="TOP_RIGHT"]=2,r[e[3]="MID_LEFT"]=3,r[e[4]="MID_CENTER"]=4,r[e[5]="MID_RIGHT"]=5,r[e[6]="BOTTOM_LEFT"]=6,r[e[7]="BOTTOM_CENTER"]=7,r[e[8]="BOTTOM_RIGHT"]=8,r}(),n}(),n.DatabaseDescriptionProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.databaseName=null,n.prototype.databaseUrl="",n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.DatabaseDescriptionProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.databaseName=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:l.databaseUrl=e.string();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("databaseUrl"))throw t.ProtocolError("missing required 'databaseUrl'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.databaseName&&e.hasOwnProperty("databaseName")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.databaseName);if(r)return"databaseName."+r}return t.isString(e.databaseUrl)?null:"databaseUrl: string expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.DatabaseDescriptionProto)return e;var r=new o.keyhole.dbroot.DatabaseDescriptionProto;if(null!=e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DatabaseDescriptionProto.databaseName: object expected");r.databaseName=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.databaseName)}return null!=e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.databaseName=null,t.databaseUrl=""),null!=e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.databaseName,r)),null!=e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.DatabaseDescriptionProto"},n}(),n.ConfigScriptProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.scriptName="",n.prototype.scriptData="",n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.ConfigScriptProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.scriptName=e.string();break;case 2:l.scriptData=e.string();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("scriptName"))throw t.ProtocolError("missing required 'scriptName'",{instance:l});if(!l.hasOwnProperty("scriptData"))throw t.ProtocolError("missing required 'scriptData'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":t.isString(e.scriptName)?t.isString(e.scriptData)?null:"scriptData: string expected":"scriptName: string expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.ConfigScriptProto)return e;var r=new o.keyhole.dbroot.ConfigScriptProto;return null!=e.scriptName&&(r.scriptName=String(e.scriptName)),null!=e.scriptData&&(r.scriptData=String(e.scriptData)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.scriptName="",t.scriptData=""),null!=e.scriptName&&e.hasOwnProperty("scriptName")&&(t.scriptName=e.scriptName),null!=e.scriptData&&e.hasOwnProperty("scriptData")&&(t.scriptData=e.scriptData),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.ConfigScriptProto"},n}(),n.SwoopParamsProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.startDistInMeters=0,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.SwoopParamsProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.startDistInMeters=e.double();break;default:e.skipType(7&l);break}}return a},t.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.startDistInMeters&&e.hasOwnProperty("startDistInMeters")&&"number"!=typeof e.startDistInMeters?"startDistInMeters: number expected":null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.SwoopParamsProto)return e;var r=new o.keyhole.dbroot.SwoopParamsProto;return null!=e.startDistInMeters&&(r.startDistInMeters=Number(e.startDistInMeters)),r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.startDistInMeters=0),null!=e.startDistInMeters&&e.hasOwnProperty("startDistInMeters")&&(t.startDistInMeters=r.json&&!isFinite(e.startDistInMeters)?String(e.startDistInMeters):e.startDistInMeters),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.SwoopParamsProto"},t}(),n.PostingServerProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.name=null,t.prototype.baseUrl=null,t.prototype.postWizardPath=null,t.prototype.fileSubmitPath=null,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.PostingServerProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.name=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.baseUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.postWizardPath=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 4:a.fileSubmitPath=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},t.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.name);if(r)return"name."+r}if(null!=e.baseUrl&&e.hasOwnProperty("baseUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.baseUrl);if(r)return"baseUrl."+r}if(null!=e.postWizardPath&&e.hasOwnProperty("postWizardPath")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.postWizardPath);if(r)return"postWizardPath."+r}if(null!=e.fileSubmitPath&&e.hasOwnProperty("fileSubmitPath")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.fileSubmitPath);if(r)return"fileSubmitPath."+r}return null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.PostingServerProto)return e;var r=new o.keyhole.dbroot.PostingServerProto;if(null!=e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PostingServerProto.name: object expected");r.name=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.name)}if(null!=e.baseUrl){if("object"!=typeof e.baseUrl)throw TypeError(".keyhole.dbroot.PostingServerProto.baseUrl: object expected");r.baseUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.baseUrl)}if(null!=e.postWizardPath){if("object"!=typeof e.postWizardPath)throw TypeError(".keyhole.dbroot.PostingServerProto.postWizardPath: object expected");r.postWizardPath=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.postWizardPath)}if(null!=e.fileSubmitPath){if("object"!=typeof e.fileSubmitPath)throw TypeError(".keyhole.dbroot.PostingServerProto.fileSubmitPath: object expected");r.fileSubmitPath=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.fileSubmitPath)}return r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.name=null,t.baseUrl=null,t.postWizardPath=null,t.fileSubmitPath=null),null!=e.name&&e.hasOwnProperty("name")&&(t.name=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.name,r)),null!=e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.baseUrl,r)),null!=e.postWizardPath&&e.hasOwnProperty("postWizardPath")&&(t.postWizardPath=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.postWizardPath,r)),null!=e.fileSubmitPath&&e.hasOwnProperty("fileSubmitPath")&&(t.fileSubmitPath=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.fileSubmitPath,r)),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.PostingServerProto"},t}(),n.PlanetaryDatabaseProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.url=null,n.prototype.name=null,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.PlanetaryDatabaseProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:l.name=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("url"))throw t.ProtocolError("missing required 'url'",{instance:l});if(!l.hasOwnProperty("name"))throw t.ProtocolError("missing required 'name'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r;r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.name);return r?"name."+r:null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.PlanetaryDatabaseProto)return e;var r=new o.keyhole.dbroot.PlanetaryDatabaseProto;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}if(null!=e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.name: object expected");r.name=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.name)}return r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.name=null),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),null!=e.name&&e.hasOwnProperty("name")&&(t.name=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.name,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.PlanetaryDatabaseProto"},n}(),n.LogServerProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.url=null,n.prototype.enable=!1,n.prototype.throttlingFactor=1,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.LogServerProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.enable=e.bool();break;case 3:a.throttlingFactor=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.url&&e.hasOwnProperty("url")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}return null!=e.enable&&e.hasOwnProperty("enable")&&"boolean"!=typeof e.enable?"enable: boolean expected":null!=e.throttlingFactor&&e.hasOwnProperty("throttlingFactor")&&!t.isInteger(e.throttlingFactor)?"throttlingFactor: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.LogServerProto)return e;var r=new o.keyhole.dbroot.LogServerProto;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.LogServerProto.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}return null!=e.enable&&(r.enable=Boolean(e.enable)),null!=e.throttlingFactor&&(r.throttlingFactor=0|e.throttlingFactor),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.enable=!1,t.throttlingFactor=1),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),null!=e.enable&&e.hasOwnProperty("enable")&&(t.enable=e.enable),null!=e.throttlingFactor&&e.hasOwnProperty("throttlingFactor")&&(t.throttlingFactor=e.throttlingFactor),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.LogServerProto"},n}(),n.EndSnippetProto=function(){function n(e){if(this.mfeDomains=[],this.searchTab=[],this.cobrandInfo=[],this.validDatabase=[],this.configScript=[],this.planetaryDatabase=[],this.filmstripConfig=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.model=null,n.prototype.authServerUrl=null,n.prototype.disableAuthentication=!1,n.prototype.mfeDomains=t.emptyArray,n.prototype.mfeLangParam="hl=$5Bhl5D",n.prototype.adsUrlPatterns="",n.prototype.reverseGeocoderUrl=null,n.prototype.reverseGeocoderProtocolVersion=3,n.prototype.skyDatabaseIsAvailable=!0,n.prototype.skyDatabaseUrl=null,n.prototype.defaultWebPageIntlUrl=null,n.prototype.numStartUpTips=17,n.prototype.startUpTipsUrl=null,n.prototype.numProStartUpTips=0,n.prototype.proStartUpTipsUrl=null,n.prototype.startupTipsIntlUrl=null,n.prototype.userGuideIntlUrl=null,n.prototype.supportCenterIntlUrl=null,n.prototype.businessListingIntlUrl=null,n.prototype.supportAnswerIntlUrl=null,n.prototype.supportTopicIntlUrl=null,n.prototype.supportRequestIntlUrl=null,n.prototype.earthIntlUrl=null,n.prototype.addContentUrl=null,n.prototype.sketchupNotInstalledUrl=null,n.prototype.sketchupErrorUrl=null,n.prototype.freeLicenseUrl=null,n.prototype.proLicenseUrl=null,n.prototype.tutorialUrl=null,n.prototype.keyboardShortcutsUrl=null,n.prototype.releaseNotesUrl=null,n.prototype.hideUserData=!1,n.prototype.useGeLogo=!0,n.prototype.dioramaDescriptionUrlBase=null,n.prototype.dioramaDefaultColor=4291281607,n.prototype.dioramaBlacklistUrl=null,n.prototype.clientOptions=null,n.prototype.fetchingOptions=null,n.prototype.timeMachineOptions=null,n.prototype.csiOptions=null,n.prototype.searchTab=t.emptyArray,n.prototype.cobrandInfo=t.emptyArray,n.prototype.validDatabase=t.emptyArray,n.prototype.configScript=t.emptyArray,n.prototype.deauthServerUrl=null,n.prototype.swoopParameters=null,n.prototype.bbsServerInfo=null,n.prototype.dataErrorServerInfo=null,n.prototype.planetaryDatabase=t.emptyArray,n.prototype.logServer=null,n.prototype.autopiaOptions=null,n.prototype.searchConfig=null,n.prototype.searchInfo=null,n.prototype.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",n.prototype.elevationProfileQueryDelay=500,n.prototype.proUpgradeUrl=null,n.prototype.earthCommunityUrl=null,n.prototype.googleMapsUrl=null,n.prototype.sharingUrl=null,n.prototype.privacyPolicyUrl=null,n.prototype.doGplusUserCheck=!1,n.prototype.rocktreeDataProto=null,n.prototype.filmstripConfig=t.emptyArray,n.prototype.showSigninButton=!1,n.prototype.proMeasureUpsellUrl=null,n.prototype.proPrintUpsellUrl=null,n.prototype.starDataProto=null,n.prototype.feedbackUrl=null,n.prototype.oauth2LoginUrl=null,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.model=o.keyhole.dbroot.PlanetModelProto.decode(e,e.uint32());break;case 2:a.authServerUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.disableAuthentication=e.bool();break;case 4:a.mfeDomains&&a.mfeDomains.length||(a.mfeDomains=[]),a.mfeDomains.push(o.keyhole.dbroot.MfeDomainFeaturesProto.decode(e,e.uint32()));break;case 5:a.mfeLangParam=e.string();break;case 6:a.adsUrlPatterns=e.string();break;case 7:a.reverseGeocoderUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 8:a.reverseGeocoderProtocolVersion=e.int32();break;case 9:a.skyDatabaseIsAvailable=e.bool();break;case 10:a.skyDatabaseUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 11:a.defaultWebPageIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 12:a.numStartUpTips=e.int32();break;case 13:a.startUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 51:a.numProStartUpTips=e.int32();break;case 52:a.proStartUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 64:a.startupTipsIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 14:a.userGuideIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 15:a.supportCenterIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 16:a.businessListingIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 17:a.supportAnswerIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 18:a.supportTopicIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 19:a.supportRequestIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 20:a.earthIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 21:a.addContentUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 22:a.sketchupNotInstalledUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 23:a.sketchupErrorUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 24:a.freeLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 25:a.proLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 48:a.tutorialUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 49:a.keyboardShortcutsUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 50:a.releaseNotesUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 26:a.hideUserData=e.bool();break;case 27:a.useGeLogo=e.bool();break;case 28:a.dioramaDescriptionUrlBase=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 29:a.dioramaDefaultColor=e.uint32();break;case 53:a.dioramaBlacklistUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 30:a.clientOptions=o.keyhole.dbroot.ClientOptionsProto.decode(e,e.uint32());break;case 31:a.fetchingOptions=o.keyhole.dbroot.FetchingOptionsProto.decode(e,e.uint32());break;case 32:a.timeMachineOptions=o.keyhole.dbroot.TimeMachineOptionsProto.decode(e,e.uint32());break;case 33:a.csiOptions=o.keyhole.dbroot.CSIOptionsProto.decode(e,e.uint32());break;case 34:a.searchTab&&a.searchTab.length||(a.searchTab=[]),a.searchTab.push(o.keyhole.dbroot.SearchTabProto.decode(e,e.uint32()));break;case 35:a.cobrandInfo&&a.cobrandInfo.length||(a.cobrandInfo=[]),a.cobrandInfo.push(o.keyhole.dbroot.CobrandProto.decode(e,e.uint32()));break;case 36:a.validDatabase&&a.validDatabase.length||(a.validDatabase=[]),a.validDatabase.push(o.keyhole.dbroot.DatabaseDescriptionProto.decode(e,e.uint32()));break;case 37:a.configScript&&a.configScript.length||(a.configScript=[]),a.configScript.push(o.keyhole.dbroot.ConfigScriptProto.decode(e,e.uint32()));break;case 38:a.deauthServerUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 39:a.swoopParameters=o.keyhole.dbroot.SwoopParamsProto.decode(e,e.uint32());break;case 40:a.bbsServerInfo=o.keyhole.dbroot.PostingServerProto.decode(e,e.uint32());break;case 41:a.dataErrorServerInfo=o.keyhole.dbroot.PostingServerProto.decode(e,e.uint32());break;case 42:a.planetaryDatabase&&a.planetaryDatabase.length||(a.planetaryDatabase=[]),a.planetaryDatabase.push(o.keyhole.dbroot.PlanetaryDatabaseProto.decode(e,e.uint32()));break;case 43:a.logServer=o.keyhole.dbroot.LogServerProto.decode(e,e.uint32());break;case 44:a.autopiaOptions=o.keyhole.dbroot.AutopiaOptionsProto.decode(e,e.uint32());break;case 54:a.searchConfig=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.decode(e,e.uint32());break;case 45:a.searchInfo=o.keyhole.dbroot.EndSnippetProto.SearchInfoProto.decode(e,e.uint32());break;case 46:a.elevationServiceBaseUrl=e.string();break;case 47:a.elevationProfileQueryDelay=e.int32();break;case 55:a.proUpgradeUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 56:a.earthCommunityUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 57:a.googleMapsUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 58:a.sharingUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 59:a.privacyPolicyUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 60:a.doGplusUserCheck=e.bool();break;case 61:a.rocktreeDataProto=o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto.decode(e,e.uint32());break;case 62:a.filmstripConfig&&a.filmstripConfig.length||(a.filmstripConfig=[]),a.filmstripConfig.push(o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.decode(e,e.uint32()));break;case 63:a.showSigninButton=e.bool();break;case 65:a.proMeasureUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 66:a.proPrintUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 67:a.starDataProto=o.keyhole.dbroot.EndSnippetProto.StarDataProto.decode(e,e.uint32());break;case 68:a.feedbackUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 69:a.oauth2LoginUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.model&&e.hasOwnProperty("model")){var r=o.keyhole.dbroot.PlanetModelProto.verify(e.model);if(r)return"model."+r}if(null!=e.authServerUrl&&e.hasOwnProperty("authServerUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.authServerUrl);if(r)return"authServerUrl."+r}if(null!=e.disableAuthentication&&e.hasOwnProperty("disableAuthentication")&&"boolean"!=typeof e.disableAuthentication)return"disableAuthentication: boolean expected";if(null!=e.mfeDomains&&e.hasOwnProperty("mfeDomains")){if(!Array.isArray(e.mfeDomains))return"mfeDomains: array expected";for(var n=0;n<e.mfeDomains.length;++n){r=o.keyhole.dbroot.MfeDomainFeaturesProto.verify(e.mfeDomains[n]);if(r)return"mfeDomains."+r}}if(null!=e.mfeLangParam&&e.hasOwnProperty("mfeLangParam")&&!t.isString(e.mfeLangParam))return"mfeLangParam: string expected";if(null!=e.adsUrlPatterns&&e.hasOwnProperty("adsUrlPatterns")&&!t.isString(e.adsUrlPatterns))return"adsUrlPatterns: string expected";if(null!=e.reverseGeocoderUrl&&e.hasOwnProperty("reverseGeocoderUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.reverseGeocoderUrl);if(r)return"reverseGeocoderUrl."+r}if(null!=e.reverseGeocoderProtocolVersion&&e.hasOwnProperty("reverseGeocoderProtocolVersion")&&!t.isInteger(e.reverseGeocoderProtocolVersion))return"reverseGeocoderProtocolVersion: integer expected";if(null!=e.skyDatabaseIsAvailable&&e.hasOwnProperty("skyDatabaseIsAvailable")&&"boolean"!=typeof e.skyDatabaseIsAvailable)return"skyDatabaseIsAvailable: boolean expected";if(null!=e.skyDatabaseUrl&&e.hasOwnProperty("skyDatabaseUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.skyDatabaseUrl);if(r)return"skyDatabaseUrl."+r}if(null!=e.defaultWebPageIntlUrl&&e.hasOwnProperty("defaultWebPageIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.defaultWebPageIntlUrl);if(r)return"defaultWebPageIntlUrl."+r}if(null!=e.numStartUpTips&&e.hasOwnProperty("numStartUpTips")&&!t.isInteger(e.numStartUpTips))return"numStartUpTips: integer expected";if(null!=e.startUpTipsUrl&&e.hasOwnProperty("startUpTipsUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.startUpTipsUrl);if(r)return"startUpTipsUrl."+r}if(null!=e.numProStartUpTips&&e.hasOwnProperty("numProStartUpTips")&&!t.isInteger(e.numProStartUpTips))return"numProStartUpTips: integer expected";if(null!=e.proStartUpTipsUrl&&e.hasOwnProperty("proStartUpTipsUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.proStartUpTipsUrl);if(r)return"proStartUpTipsUrl."+r}if(null!=e.startupTipsIntlUrl&&e.hasOwnProperty("startupTipsIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.startupTipsIntlUrl);if(r)return"startupTipsIntlUrl."+r}if(null!=e.userGuideIntlUrl&&e.hasOwnProperty("userGuideIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.userGuideIntlUrl);if(r)return"userGuideIntlUrl."+r}if(null!=e.supportCenterIntlUrl&&e.hasOwnProperty("supportCenterIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.supportCenterIntlUrl);if(r)return"supportCenterIntlUrl."+r}if(null!=e.businessListingIntlUrl&&e.hasOwnProperty("businessListingIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.businessListingIntlUrl);if(r)return"businessListingIntlUrl."+r}if(null!=e.supportAnswerIntlUrl&&e.hasOwnProperty("supportAnswerIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.supportAnswerIntlUrl);if(r)return"supportAnswerIntlUrl."+r}if(null!=e.supportTopicIntlUrl&&e.hasOwnProperty("supportTopicIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.supportTopicIntlUrl);if(r)return"supportTopicIntlUrl."+r}if(null!=e.supportRequestIntlUrl&&e.hasOwnProperty("supportRequestIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.supportRequestIntlUrl);if(r)return"supportRequestIntlUrl."+r}if(null!=e.earthIntlUrl&&e.hasOwnProperty("earthIntlUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.earthIntlUrl);if(r)return"earthIntlUrl."+r}if(null!=e.addContentUrl&&e.hasOwnProperty("addContentUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.addContentUrl);if(r)return"addContentUrl."+r}if(null!=e.sketchupNotInstalledUrl&&e.hasOwnProperty("sketchupNotInstalledUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.sketchupNotInstalledUrl);if(r)return"sketchupNotInstalledUrl."+r}if(null!=e.sketchupErrorUrl&&e.hasOwnProperty("sketchupErrorUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.sketchupErrorUrl);if(r)return"sketchupErrorUrl."+r}if(null!=e.freeLicenseUrl&&e.hasOwnProperty("freeLicenseUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.freeLicenseUrl);if(r)return"freeLicenseUrl."+r}if(null!=e.proLicenseUrl&&e.hasOwnProperty("proLicenseUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.proLicenseUrl);if(r)return"proLicenseUrl."+r}if(null!=e.tutorialUrl&&e.hasOwnProperty("tutorialUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.tutorialUrl);if(r)return"tutorialUrl."+r}if(null!=e.keyboardShortcutsUrl&&e.hasOwnProperty("keyboardShortcutsUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.keyboardShortcutsUrl);if(r)return"keyboardShortcutsUrl."+r}if(null!=e.releaseNotesUrl&&e.hasOwnProperty("releaseNotesUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.releaseNotesUrl);if(r)return"releaseNotesUrl."+r}if(null!=e.hideUserData&&e.hasOwnProperty("hideUserData")&&"boolean"!=typeof e.hideUserData)return"hideUserData: boolean expected";if(null!=e.useGeLogo&&e.hasOwnProperty("useGeLogo")&&"boolean"!=typeof e.useGeLogo)return"useGeLogo: boolean expected";if(null!=e.dioramaDescriptionUrlBase&&e.hasOwnProperty("dioramaDescriptionUrlBase")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.dioramaDescriptionUrlBase);if(r)return"dioramaDescriptionUrlBase."+r}if(null!=e.dioramaDefaultColor&&e.hasOwnProperty("dioramaDefaultColor")&&!t.isInteger(e.dioramaDefaultColor))return"dioramaDefaultColor: integer expected";if(null!=e.dioramaBlacklistUrl&&e.hasOwnProperty("dioramaBlacklistUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.dioramaBlacklistUrl);if(r)return"dioramaBlacklistUrl."+r}if(null!=e.clientOptions&&e.hasOwnProperty("clientOptions")){r=o.keyhole.dbroot.ClientOptionsProto.verify(e.clientOptions);if(r)return"clientOptions."+r}if(null!=e.fetchingOptions&&e.hasOwnProperty("fetchingOptions")){r=o.keyhole.dbroot.FetchingOptionsProto.verify(e.fetchingOptions);if(r)return"fetchingOptions."+r}if(null!=e.timeMachineOptions&&e.hasOwnProperty("timeMachineOptions")){r=o.keyhole.dbroot.TimeMachineOptionsProto.verify(e.timeMachineOptions);if(r)return"timeMachineOptions."+r}if(null!=e.csiOptions&&e.hasOwnProperty("csiOptions")){r=o.keyhole.dbroot.CSIOptionsProto.verify(e.csiOptions);if(r)return"csiOptions."+r}if(null!=e.searchTab&&e.hasOwnProperty("searchTab")){if(!Array.isArray(e.searchTab))return"searchTab: array expected";for(n=0;n<e.searchTab.length;++n){r=o.keyhole.dbroot.SearchTabProto.verify(e.searchTab[n]);if(r)return"searchTab."+r}}if(null!=e.cobrandInfo&&e.hasOwnProperty("cobrandInfo")){if(!Array.isArray(e.cobrandInfo))return"cobrandInfo: array expected";for(n=0;n<e.cobrandInfo.length;++n){r=o.keyhole.dbroot.CobrandProto.verify(e.cobrandInfo[n]);if(r)return"cobrandInfo."+r}}if(null!=e.validDatabase&&e.hasOwnProperty("validDatabase")){if(!Array.isArray(e.validDatabase))return"validDatabase: array expected";for(n=0;n<e.validDatabase.length;++n){r=o.keyhole.dbroot.DatabaseDescriptionProto.verify(e.validDatabase[n]);if(r)return"validDatabase."+r}}if(null!=e.configScript&&e.hasOwnProperty("configScript")){if(!Array.isArray(e.configScript))return"configScript: array expected";for(n=0;n<e.configScript.length;++n){r=o.keyhole.dbroot.ConfigScriptProto.verify(e.configScript[n]);if(r)return"configScript."+r}}if(null!=e.deauthServerUrl&&e.hasOwnProperty("deauthServerUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.deauthServerUrl);if(r)return"deauthServerUrl."+r}if(null!=e.swoopParameters&&e.hasOwnProperty("swoopParameters")){r=o.keyhole.dbroot.SwoopParamsProto.verify(e.swoopParameters);if(r)return"swoopParameters."+r}if(null!=e.bbsServerInfo&&e.hasOwnProperty("bbsServerInfo")){r=o.keyhole.dbroot.PostingServerProto.verify(e.bbsServerInfo);if(r)return"bbsServerInfo."+r}if(null!=e.dataErrorServerInfo&&e.hasOwnProperty("dataErrorServerInfo")){r=o.keyhole.dbroot.PostingServerProto.verify(e.dataErrorServerInfo);if(r)return"dataErrorServerInfo."+r}if(null!=e.planetaryDatabase&&e.hasOwnProperty("planetaryDatabase")){if(!Array.isArray(e.planetaryDatabase))return"planetaryDatabase: array expected";for(n=0;n<e.planetaryDatabase.length;++n){r=o.keyhole.dbroot.PlanetaryDatabaseProto.verify(e.planetaryDatabase[n]);if(r)return"planetaryDatabase."+r}}if(null!=e.logServer&&e.hasOwnProperty("logServer")){r=o.keyhole.dbroot.LogServerProto.verify(e.logServer);if(r)return"logServer."+r}if(null!=e.autopiaOptions&&e.hasOwnProperty("autopiaOptions")){r=o.keyhole.dbroot.AutopiaOptionsProto.verify(e.autopiaOptions);if(r)return"autopiaOptions."+r}if(null!=e.searchConfig&&e.hasOwnProperty("searchConfig")){r=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.verify(e.searchConfig);if(r)return"searchConfig."+r}if(null!=e.searchInfo&&e.hasOwnProperty("searchInfo")){r=o.keyhole.dbroot.EndSnippetProto.SearchInfoProto.verify(e.searchInfo);if(r)return"searchInfo."+r}if(null!=e.elevationServiceBaseUrl&&e.hasOwnProperty("elevationServiceBaseUrl")&&!t.isString(e.elevationServiceBaseUrl))return"elevationServiceBaseUrl: string expected";if(null!=e.elevationProfileQueryDelay&&e.hasOwnProperty("elevationProfileQueryDelay")&&!t.isInteger(e.elevationProfileQueryDelay))return"elevationProfileQueryDelay: integer expected";if(null!=e.proUpgradeUrl&&e.hasOwnProperty("proUpgradeUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.proUpgradeUrl);if(r)return"proUpgradeUrl."+r}if(null!=e.earthCommunityUrl&&e.hasOwnProperty("earthCommunityUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.earthCommunityUrl);if(r)return"earthCommunityUrl."+r}if(null!=e.googleMapsUrl&&e.hasOwnProperty("googleMapsUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.googleMapsUrl);if(r)return"googleMapsUrl."+r}if(null!=e.sharingUrl&&e.hasOwnProperty("sharingUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.sharingUrl);if(r)return"sharingUrl."+r}if(null!=e.privacyPolicyUrl&&e.hasOwnProperty("privacyPolicyUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.privacyPolicyUrl);if(r)return"privacyPolicyUrl."+r}if(null!=e.doGplusUserCheck&&e.hasOwnProperty("doGplusUserCheck")&&"boolean"!=typeof e.doGplusUserCheck)return"doGplusUserCheck: boolean expected";if(null!=e.rocktreeDataProto&&e.hasOwnProperty("rocktreeDataProto")){r=o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto.verify(e.rocktreeDataProto);if(r)return"rocktreeDataProto."+r}if(null!=e.filmstripConfig&&e.hasOwnProperty("filmstripConfig")){if(!Array.isArray(e.filmstripConfig))return"filmstripConfig: array expected";for(n=0;n<e.filmstripConfig.length;++n){r=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.verify(e.filmstripConfig[n]);if(r)return"filmstripConfig."+r}}if(null!=e.showSigninButton&&e.hasOwnProperty("showSigninButton")&&"boolean"!=typeof e.showSigninButton)return"showSigninButton: boolean expected";if(null!=e.proMeasureUpsellUrl&&e.hasOwnProperty("proMeasureUpsellUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.proMeasureUpsellUrl);if(r)return"proMeasureUpsellUrl."+r}if(null!=e.proPrintUpsellUrl&&e.hasOwnProperty("proPrintUpsellUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.proPrintUpsellUrl);if(r)return"proPrintUpsellUrl."+r}if(null!=e.starDataProto&&e.hasOwnProperty("starDataProto")){r=o.keyhole.dbroot.EndSnippetProto.StarDataProto.verify(e.starDataProto);if(r)return"starDataProto."+r}if(null!=e.feedbackUrl&&e.hasOwnProperty("feedbackUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.feedbackUrl);if(r)return"feedbackUrl."+r}if(null!=e.oauth2LoginUrl&&e.hasOwnProperty("oauth2LoginUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.oauth2LoginUrl);if(r)return"oauth2LoginUrl."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto;if(null!=e.model){if("object"!=typeof e.model)throw TypeError(".keyhole.dbroot.EndSnippetProto.model: object expected");r.model=o.keyhole.dbroot.PlanetModelProto.fromObject(e.model)}if(null!=e.authServerUrl){if("object"!=typeof e.authServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.authServerUrl: object expected");r.authServerUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.authServerUrl)}if(null!=e.disableAuthentication&&(r.disableAuthentication=Boolean(e.disableAuthentication)),e.mfeDomains){if(!Array.isArray(e.mfeDomains))throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: array expected");r.mfeDomains=[];for(var t=0;t<e.mfeDomains.length;++t){if("object"!=typeof e.mfeDomains[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: object expected");r.mfeDomains[t]=o.keyhole.dbroot.MfeDomainFeaturesProto.fromObject(e.mfeDomains[t])}}if(null!=e.mfeLangParam&&(r.mfeLangParam=String(e.mfeLangParam)),null!=e.adsUrlPatterns&&(r.adsUrlPatterns=String(e.adsUrlPatterns)),null!=e.reverseGeocoderUrl){if("object"!=typeof e.reverseGeocoderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.reverseGeocoderUrl: object expected");r.reverseGeocoderUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.reverseGeocoderUrl)}if(null!=e.reverseGeocoderProtocolVersion&&(r.reverseGeocoderProtocolVersion=0|e.reverseGeocoderProtocolVersion),null!=e.skyDatabaseIsAvailable&&(r.skyDatabaseIsAvailable=Boolean(e.skyDatabaseIsAvailable)),null!=e.skyDatabaseUrl){if("object"!=typeof e.skyDatabaseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.skyDatabaseUrl: object expected");r.skyDatabaseUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.skyDatabaseUrl)}if(null!=e.defaultWebPageIntlUrl){if("object"!=typeof e.defaultWebPageIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.defaultWebPageIntlUrl: object expected");r.defaultWebPageIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.defaultWebPageIntlUrl)}if(null!=e.numStartUpTips&&(r.numStartUpTips=0|e.numStartUpTips),null!=e.startUpTipsUrl){if("object"!=typeof e.startUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startUpTipsUrl: object expected");r.startUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.startUpTipsUrl)}if(null!=e.numProStartUpTips&&(r.numProStartUpTips=0|e.numProStartUpTips),null!=e.proStartUpTipsUrl){if("object"!=typeof e.proStartUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proStartUpTipsUrl: object expected");r.proStartUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.proStartUpTipsUrl)}if(null!=e.startupTipsIntlUrl){if("object"!=typeof e.startupTipsIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startupTipsIntlUrl: object expected");r.startupTipsIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.startupTipsIntlUrl)}if(null!=e.userGuideIntlUrl){if("object"!=typeof e.userGuideIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.userGuideIntlUrl: object expected");r.userGuideIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.userGuideIntlUrl)}if(null!=e.supportCenterIntlUrl){if("object"!=typeof e.supportCenterIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportCenterIntlUrl: object expected");r.supportCenterIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.supportCenterIntlUrl)}if(null!=e.businessListingIntlUrl){if("object"!=typeof e.businessListingIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.businessListingIntlUrl: object expected");r.businessListingIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.businessListingIntlUrl)}if(null!=e.supportAnswerIntlUrl){if("object"!=typeof e.supportAnswerIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportAnswerIntlUrl: object expected");r.supportAnswerIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.supportAnswerIntlUrl)}if(null!=e.supportTopicIntlUrl){if("object"!=typeof e.supportTopicIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportTopicIntlUrl: object expected");r.supportTopicIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.supportTopicIntlUrl)}if(null!=e.supportRequestIntlUrl){if("object"!=typeof e.supportRequestIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportRequestIntlUrl: object expected");r.supportRequestIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.supportRequestIntlUrl)}if(null!=e.earthIntlUrl){if("object"!=typeof e.earthIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthIntlUrl: object expected");r.earthIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.earthIntlUrl)}if(null!=e.addContentUrl){if("object"!=typeof e.addContentUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.addContentUrl: object expected");r.addContentUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.addContentUrl)}if(null!=e.sketchupNotInstalledUrl){if("object"!=typeof e.sketchupNotInstalledUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupNotInstalledUrl: object expected");r.sketchupNotInstalledUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.sketchupNotInstalledUrl)}if(null!=e.sketchupErrorUrl){if("object"!=typeof e.sketchupErrorUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupErrorUrl: object expected");r.sketchupErrorUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.sketchupErrorUrl)}if(null!=e.freeLicenseUrl){if("object"!=typeof e.freeLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.freeLicenseUrl: object expected");r.freeLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.freeLicenseUrl)}if(null!=e.proLicenseUrl){if("object"!=typeof e.proLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proLicenseUrl: object expected");r.proLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.proLicenseUrl)}if(null!=e.tutorialUrl){if("object"!=typeof e.tutorialUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.tutorialUrl: object expected");r.tutorialUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.tutorialUrl)}if(null!=e.keyboardShortcutsUrl){if("object"!=typeof e.keyboardShortcutsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.keyboardShortcutsUrl: object expected");r.keyboardShortcutsUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.keyboardShortcutsUrl)}if(null!=e.releaseNotesUrl){if("object"!=typeof e.releaseNotesUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.releaseNotesUrl: object expected");r.releaseNotesUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.releaseNotesUrl)}if(null!=e.hideUserData&&(r.hideUserData=Boolean(e.hideUserData)),null!=e.useGeLogo&&(r.useGeLogo=Boolean(e.useGeLogo)),null!=e.dioramaDescriptionUrlBase){if("object"!=typeof e.dioramaDescriptionUrlBase)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaDescriptionUrlBase: object expected");r.dioramaDescriptionUrlBase=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.dioramaDescriptionUrlBase)}if(null!=e.dioramaDefaultColor&&(r.dioramaDefaultColor=e.dioramaDefaultColor>>>0),null!=e.dioramaBlacklistUrl){if("object"!=typeof e.dioramaBlacklistUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaBlacklistUrl: object expected");r.dioramaBlacklistUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.dioramaBlacklistUrl)}if(null!=e.clientOptions){if("object"!=typeof e.clientOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.clientOptions: object expected");r.clientOptions=o.keyhole.dbroot.ClientOptionsProto.fromObject(e.clientOptions)}if(null!=e.fetchingOptions){if("object"!=typeof e.fetchingOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.fetchingOptions: object expected");r.fetchingOptions=o.keyhole.dbroot.FetchingOptionsProto.fromObject(e.fetchingOptions)}if(null!=e.timeMachineOptions){if("object"!=typeof e.timeMachineOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.timeMachineOptions: object expected");r.timeMachineOptions=o.keyhole.dbroot.TimeMachineOptionsProto.fromObject(e.timeMachineOptions)}if(null!=e.csiOptions){if("object"!=typeof e.csiOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.csiOptions: object expected");r.csiOptions=o.keyhole.dbroot.CSIOptionsProto.fromObject(e.csiOptions)}if(e.searchTab){if(!Array.isArray(e.searchTab))throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: array expected");r.searchTab=[];for(t=0;t<e.searchTab.length;++t){if("object"!=typeof e.searchTab[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: object expected");r.searchTab[t]=o.keyhole.dbroot.SearchTabProto.fromObject(e.searchTab[t])}}if(e.cobrandInfo){if(!Array.isArray(e.cobrandInfo))throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: array expected");r.cobrandInfo=[];for(t=0;t<e.cobrandInfo.length;++t){if("object"!=typeof e.cobrandInfo[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: object expected");r.cobrandInfo[t]=o.keyhole.dbroot.CobrandProto.fromObject(e.cobrandInfo[t])}}if(e.validDatabase){if(!Array.isArray(e.validDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: array expected");r.validDatabase=[];for(t=0;t<e.validDatabase.length;++t){if("object"!=typeof e.validDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: object expected");r.validDatabase[t]=o.keyhole.dbroot.DatabaseDescriptionProto.fromObject(e.validDatabase[t])}}if(e.configScript){if(!Array.isArray(e.configScript))throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: array expected");r.configScript=[];for(t=0;t<e.configScript.length;++t){if("object"!=typeof e.configScript[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: object expected");r.configScript[t]=o.keyhole.dbroot.ConfigScriptProto.fromObject(e.configScript[t])}}if(null!=e.deauthServerUrl){if("object"!=typeof e.deauthServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.deauthServerUrl: object expected");r.deauthServerUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.deauthServerUrl)}if(null!=e.swoopParameters){if("object"!=typeof e.swoopParameters)throw TypeError(".keyhole.dbroot.EndSnippetProto.swoopParameters: object expected");r.swoopParameters=o.keyhole.dbroot.SwoopParamsProto.fromObject(e.swoopParameters)}if(null!=e.bbsServerInfo){if("object"!=typeof e.bbsServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.bbsServerInfo: object expected");r.bbsServerInfo=o.keyhole.dbroot.PostingServerProto.fromObject(e.bbsServerInfo)}if(null!=e.dataErrorServerInfo){if("object"!=typeof e.dataErrorServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.dataErrorServerInfo: object expected");r.dataErrorServerInfo=o.keyhole.dbroot.PostingServerProto.fromObject(e.dataErrorServerInfo)}if(e.planetaryDatabase){if(!Array.isArray(e.planetaryDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: array expected");r.planetaryDatabase=[];for(t=0;t<e.planetaryDatabase.length;++t){if("object"!=typeof e.planetaryDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: object expected");r.planetaryDatabase[t]=o.keyhole.dbroot.PlanetaryDatabaseProto.fromObject(e.planetaryDatabase[t])}}if(null!=e.logServer){if("object"!=typeof e.logServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.logServer: object expected");r.logServer=o.keyhole.dbroot.LogServerProto.fromObject(e.logServer)}if(null!=e.autopiaOptions){if("object"!=typeof e.autopiaOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.autopiaOptions: object expected");r.autopiaOptions=o.keyhole.dbroot.AutopiaOptionsProto.fromObject(e.autopiaOptions)}if(null!=e.searchConfig){if("object"!=typeof e.searchConfig)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchConfig: object expected");r.searchConfig=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.fromObject(e.searchConfig)}if(null!=e.searchInfo){if("object"!=typeof e.searchInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchInfo: object expected");r.searchInfo=o.keyhole.dbroot.EndSnippetProto.SearchInfoProto.fromObject(e.searchInfo)}if(null!=e.elevationServiceBaseUrl&&(r.elevationServiceBaseUrl=String(e.elevationServiceBaseUrl)),null!=e.elevationProfileQueryDelay&&(r.elevationProfileQueryDelay=0|e.elevationProfileQueryDelay),null!=e.proUpgradeUrl){if("object"!=typeof e.proUpgradeUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proUpgradeUrl: object expected");r.proUpgradeUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.proUpgradeUrl)}if(null!=e.earthCommunityUrl){if("object"!=typeof e.earthCommunityUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthCommunityUrl: object expected");r.earthCommunityUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.earthCommunityUrl)}if(null!=e.googleMapsUrl){if("object"!=typeof e.googleMapsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.googleMapsUrl: object expected");r.googleMapsUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.googleMapsUrl)}if(null!=e.sharingUrl){if("object"!=typeof e.sharingUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sharingUrl: object expected");r.sharingUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.sharingUrl)}if(null!=e.privacyPolicyUrl){if("object"!=typeof e.privacyPolicyUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.privacyPolicyUrl: object expected");r.privacyPolicyUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.privacyPolicyUrl)}if(null!=e.doGplusUserCheck&&(r.doGplusUserCheck=Boolean(e.doGplusUserCheck)),null!=e.rocktreeDataProto){if("object"!=typeof e.rocktreeDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.rocktreeDataProto: object expected");r.rocktreeDataProto=o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto.fromObject(e.rocktreeDataProto)}if(e.filmstripConfig){if(!Array.isArray(e.filmstripConfig))throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: array expected");r.filmstripConfig=[];for(t=0;t<e.filmstripConfig.length;++t){if("object"!=typeof e.filmstripConfig[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: object expected");r.filmstripConfig[t]=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.fromObject(e.filmstripConfig[t])}}if(null!=e.showSigninButton&&(r.showSigninButton=Boolean(e.showSigninButton)),null!=e.proMeasureUpsellUrl){if("object"!=typeof e.proMeasureUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proMeasureUpsellUrl: object expected");r.proMeasureUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.proMeasureUpsellUrl)}if(null!=e.proPrintUpsellUrl){if("object"!=typeof e.proPrintUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proPrintUpsellUrl: object expected");r.proPrintUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.proPrintUpsellUrl)}if(null!=e.starDataProto){if("object"!=typeof e.starDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.starDataProto: object expected");r.starDataProto=o.keyhole.dbroot.EndSnippetProto.StarDataProto.fromObject(e.starDataProto)}if(null!=e.feedbackUrl){if("object"!=typeof e.feedbackUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.feedbackUrl: object expected");r.feedbackUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.feedbackUrl)}if(null!=e.oauth2LoginUrl){if("object"!=typeof e.oauth2LoginUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.oauth2LoginUrl: object expected");r.oauth2LoginUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.oauth2LoginUrl)}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.mfeDomains=[],t.searchTab=[],t.cobrandInfo=[],t.validDatabase=[],t.configScript=[],t.planetaryDatabase=[],t.filmstripConfig=[]),r.defaults&&(t.model=null,t.authServerUrl=null,t.disableAuthentication=!1,t.mfeLangParam="hl=$5Bhl5D",t.adsUrlPatterns="",t.reverseGeocoderUrl=null,t.reverseGeocoderProtocolVersion=3,t.skyDatabaseIsAvailable=!0,t.skyDatabaseUrl=null,t.defaultWebPageIntlUrl=null,t.numStartUpTips=17,t.startUpTipsUrl=null,t.userGuideIntlUrl=null,t.supportCenterIntlUrl=null,t.businessListingIntlUrl=null,t.supportAnswerIntlUrl=null,t.supportTopicIntlUrl=null,t.supportRequestIntlUrl=null,t.earthIntlUrl=null,t.addContentUrl=null,t.sketchupNotInstalledUrl=null,t.sketchupErrorUrl=null,t.freeLicenseUrl=null,t.proLicenseUrl=null,t.hideUserData=!1,t.useGeLogo=!0,t.dioramaDescriptionUrlBase=null,t.dioramaDefaultColor=4291281607,t.clientOptions=null,t.fetchingOptions=null,t.timeMachineOptions=null,t.csiOptions=null,t.deauthServerUrl=null,t.swoopParameters=null,t.bbsServerInfo=null,t.dataErrorServerInfo=null,t.logServer=null,t.autopiaOptions=null,t.searchInfo=null,t.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",t.elevationProfileQueryDelay=500,t.tutorialUrl=null,t.keyboardShortcutsUrl=null,t.releaseNotesUrl=null,t.numProStartUpTips=0,t.proStartUpTipsUrl=null,t.dioramaBlacklistUrl=null,t.searchConfig=null,t.proUpgradeUrl=null,t.earthCommunityUrl=null,t.googleMapsUrl=null,t.sharingUrl=null,t.privacyPolicyUrl=null,t.doGplusUserCheck=!1,t.rocktreeDataProto=null,t.showSigninButton=!1,t.startupTipsIntlUrl=null,t.proMeasureUpsellUrl=null,t.proPrintUpsellUrl=null,t.starDataProto=null,t.feedbackUrl=null,t.oauth2LoginUrl=null),null!=e.model&&e.hasOwnProperty("model")&&(t.model=o.keyhole.dbroot.PlanetModelProto.toObject(e.model,r)),null!=e.authServerUrl&&e.hasOwnProperty("authServerUrl")&&(t.authServerUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.authServerUrl,r)),null!=e.disableAuthentication&&e.hasOwnProperty("disableAuthentication")&&(t.disableAuthentication=e.disableAuthentication),e.mfeDomains&&e.mfeDomains.length){t.mfeDomains=[];for(var n=0;n<e.mfeDomains.length;++n)t.mfeDomains[n]=o.keyhole.dbroot.MfeDomainFeaturesProto.toObject(e.mfeDomains[n],r)}if(null!=e.mfeLangParam&&e.hasOwnProperty("mfeLangParam")&&(t.mfeLangParam=e.mfeLangParam),null!=e.adsUrlPatterns&&e.hasOwnProperty("adsUrlPatterns")&&(t.adsUrlPatterns=e.adsUrlPatterns),null!=e.reverseGeocoderUrl&&e.hasOwnProperty("reverseGeocoderUrl")&&(t.reverseGeocoderUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.reverseGeocoderUrl,r)),null!=e.reverseGeocoderProtocolVersion&&e.hasOwnProperty("reverseGeocoderProtocolVersion")&&(t.reverseGeocoderProtocolVersion=e.reverseGeocoderProtocolVersion),null!=e.skyDatabaseIsAvailable&&e.hasOwnProperty("skyDatabaseIsAvailable")&&(t.skyDatabaseIsAvailable=e.skyDatabaseIsAvailable),null!=e.skyDatabaseUrl&&e.hasOwnProperty("skyDatabaseUrl")&&(t.skyDatabaseUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.skyDatabaseUrl,r)),null!=e.defaultWebPageIntlUrl&&e.hasOwnProperty("defaultWebPageIntlUrl")&&(t.defaultWebPageIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.defaultWebPageIntlUrl,r)),null!=e.numStartUpTips&&e.hasOwnProperty("numStartUpTips")&&(t.numStartUpTips=e.numStartUpTips),null!=e.startUpTipsUrl&&e.hasOwnProperty("startUpTipsUrl")&&(t.startUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.startUpTipsUrl,r)),null!=e.userGuideIntlUrl&&e.hasOwnProperty("userGuideIntlUrl")&&(t.userGuideIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.userGuideIntlUrl,r)),null!=e.supportCenterIntlUrl&&e.hasOwnProperty("supportCenterIntlUrl")&&(t.supportCenterIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.supportCenterIntlUrl,r)),null!=e.businessListingIntlUrl&&e.hasOwnProperty("businessListingIntlUrl")&&(t.businessListingIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.businessListingIntlUrl,r)),null!=e.supportAnswerIntlUrl&&e.hasOwnProperty("supportAnswerIntlUrl")&&(t.supportAnswerIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.supportAnswerIntlUrl,r)),null!=e.supportTopicIntlUrl&&e.hasOwnProperty("supportTopicIntlUrl")&&(t.supportTopicIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.supportTopicIntlUrl,r)),null!=e.supportRequestIntlUrl&&e.hasOwnProperty("supportRequestIntlUrl")&&(t.supportRequestIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.supportRequestIntlUrl,r)),null!=e.earthIntlUrl&&e.hasOwnProperty("earthIntlUrl")&&(t.earthIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.earthIntlUrl,r)),null!=e.addContentUrl&&e.hasOwnProperty("addContentUrl")&&(t.addContentUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.addContentUrl,r)),null!=e.sketchupNotInstalledUrl&&e.hasOwnProperty("sketchupNotInstalledUrl")&&(t.sketchupNotInstalledUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.sketchupNotInstalledUrl,r)),null!=e.sketchupErrorUrl&&e.hasOwnProperty("sketchupErrorUrl")&&(t.sketchupErrorUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.sketchupErrorUrl,r)),null!=e.freeLicenseUrl&&e.hasOwnProperty("freeLicenseUrl")&&(t.freeLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.freeLicenseUrl,r)),null!=e.proLicenseUrl&&e.hasOwnProperty("proLicenseUrl")&&(t.proLicenseUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.proLicenseUrl,r)),null!=e.hideUserData&&e.hasOwnProperty("hideUserData")&&(t.hideUserData=e.hideUserData),null!=e.useGeLogo&&e.hasOwnProperty("useGeLogo")&&(t.useGeLogo=e.useGeLogo),null!=e.dioramaDescriptionUrlBase&&e.hasOwnProperty("dioramaDescriptionUrlBase")&&(t.dioramaDescriptionUrlBase=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.dioramaDescriptionUrlBase,r)),null!=e.dioramaDefaultColor&&e.hasOwnProperty("dioramaDefaultColor")&&(t.dioramaDefaultColor=e.dioramaDefaultColor),null!=e.clientOptions&&e.hasOwnProperty("clientOptions")&&(t.clientOptions=o.keyhole.dbroot.ClientOptionsProto.toObject(e.clientOptions,r)),null!=e.fetchingOptions&&e.hasOwnProperty("fetchingOptions")&&(t.fetchingOptions=o.keyhole.dbroot.FetchingOptionsProto.toObject(e.fetchingOptions,r)),null!=e.timeMachineOptions&&e.hasOwnProperty("timeMachineOptions")&&(t.timeMachineOptions=o.keyhole.dbroot.TimeMachineOptionsProto.toObject(e.timeMachineOptions,r)),null!=e.csiOptions&&e.hasOwnProperty("csiOptions")&&(t.csiOptions=o.keyhole.dbroot.CSIOptionsProto.toObject(e.csiOptions,r)),e.searchTab&&e.searchTab.length){t.searchTab=[];for(n=0;n<e.searchTab.length;++n)t.searchTab[n]=o.keyhole.dbroot.SearchTabProto.toObject(e.searchTab[n],r)}if(e.cobrandInfo&&e.cobrandInfo.length){t.cobrandInfo=[];for(n=0;n<e.cobrandInfo.length;++n)t.cobrandInfo[n]=o.keyhole.dbroot.CobrandProto.toObject(e.cobrandInfo[n],r)}if(e.validDatabase&&e.validDatabase.length){t.validDatabase=[];for(n=0;n<e.validDatabase.length;++n)t.validDatabase[n]=o.keyhole.dbroot.DatabaseDescriptionProto.toObject(e.validDatabase[n],r)}if(e.configScript&&e.configScript.length){t.configScript=[];for(n=0;n<e.configScript.length;++n)t.configScript[n]=o.keyhole.dbroot.ConfigScriptProto.toObject(e.configScript[n],r)}if(null!=e.deauthServerUrl&&e.hasOwnProperty("deauthServerUrl")&&(t.deauthServerUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.deauthServerUrl,r)),null!=e.swoopParameters&&e.hasOwnProperty("swoopParameters")&&(t.swoopParameters=o.keyhole.dbroot.SwoopParamsProto.toObject(e.swoopParameters,r)),null!=e.bbsServerInfo&&e.hasOwnProperty("bbsServerInfo")&&(t.bbsServerInfo=o.keyhole.dbroot.PostingServerProto.toObject(e.bbsServerInfo,r)),null!=e.dataErrorServerInfo&&e.hasOwnProperty("dataErrorServerInfo")&&(t.dataErrorServerInfo=o.keyhole.dbroot.PostingServerProto.toObject(e.dataErrorServerInfo,r)),e.planetaryDatabase&&e.planetaryDatabase.length){t.planetaryDatabase=[];for(n=0;n<e.planetaryDatabase.length;++n)t.planetaryDatabase[n]=o.keyhole.dbroot.PlanetaryDatabaseProto.toObject(e.planetaryDatabase[n],r)}if(null!=e.logServer&&e.hasOwnProperty("logServer")&&(t.logServer=o.keyhole.dbroot.LogServerProto.toObject(e.logServer,r)),null!=e.autopiaOptions&&e.hasOwnProperty("autopiaOptions")&&(t.autopiaOptions=o.keyhole.dbroot.AutopiaOptionsProto.toObject(e.autopiaOptions,r)),null!=e.searchInfo&&e.hasOwnProperty("searchInfo")&&(t.searchInfo=o.keyhole.dbroot.EndSnippetProto.SearchInfoProto.toObject(e.searchInfo,r)),null!=e.elevationServiceBaseUrl&&e.hasOwnProperty("elevationServiceBaseUrl")&&(t.elevationServiceBaseUrl=e.elevationServiceBaseUrl),null!=e.elevationProfileQueryDelay&&e.hasOwnProperty("elevationProfileQueryDelay")&&(t.elevationProfileQueryDelay=e.elevationProfileQueryDelay),null!=e.tutorialUrl&&e.hasOwnProperty("tutorialUrl")&&(t.tutorialUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.tutorialUrl,r)),null!=e.keyboardShortcutsUrl&&e.hasOwnProperty("keyboardShortcutsUrl")&&(t.keyboardShortcutsUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.keyboardShortcutsUrl,r)),null!=e.releaseNotesUrl&&e.hasOwnProperty("releaseNotesUrl")&&(t.releaseNotesUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.releaseNotesUrl,r)),null!=e.numProStartUpTips&&e.hasOwnProperty("numProStartUpTips")&&(t.numProStartUpTips=e.numProStartUpTips),null!=e.proStartUpTipsUrl&&e.hasOwnProperty("proStartUpTipsUrl")&&(t.proStartUpTipsUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.proStartUpTipsUrl,r)),null!=e.dioramaBlacklistUrl&&e.hasOwnProperty("dioramaBlacklistUrl")&&(t.dioramaBlacklistUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.dioramaBlacklistUrl,r)),null!=e.searchConfig&&e.hasOwnProperty("searchConfig")&&(t.searchConfig=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.toObject(e.searchConfig,r)),null!=e.proUpgradeUrl&&e.hasOwnProperty("proUpgradeUrl")&&(t.proUpgradeUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.proUpgradeUrl,r)),null!=e.earthCommunityUrl&&e.hasOwnProperty("earthCommunityUrl")&&(t.earthCommunityUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.earthCommunityUrl,r)),null!=e.googleMapsUrl&&e.hasOwnProperty("googleMapsUrl")&&(t.googleMapsUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.googleMapsUrl,r)),null!=e.sharingUrl&&e.hasOwnProperty("sharingUrl")&&(t.sharingUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.sharingUrl,r)),null!=e.privacyPolicyUrl&&e.hasOwnProperty("privacyPolicyUrl")&&(t.privacyPolicyUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.privacyPolicyUrl,r)),null!=e.doGplusUserCheck&&e.hasOwnProperty("doGplusUserCheck")&&(t.doGplusUserCheck=e.doGplusUserCheck),null!=e.rocktreeDataProto&&e.hasOwnProperty("rocktreeDataProto")&&(t.rocktreeDataProto=o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto.toObject(e.rocktreeDataProto,r)),e.filmstripConfig&&e.filmstripConfig.length){t.filmstripConfig=[];for(n=0;n<e.filmstripConfig.length;++n)t.filmstripConfig[n]=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.toObject(e.filmstripConfig[n],r)}return null!=e.showSigninButton&&e.hasOwnProperty("showSigninButton")&&(t.showSigninButton=e.showSigninButton),null!=e.startupTipsIntlUrl&&e.hasOwnProperty("startupTipsIntlUrl")&&(t.startupTipsIntlUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.startupTipsIntlUrl,r)),null!=e.proMeasureUpsellUrl&&e.hasOwnProperty("proMeasureUpsellUrl")&&(t.proMeasureUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.proMeasureUpsellUrl,r)),null!=e.proPrintUpsellUrl&&e.hasOwnProperty("proPrintUpsellUrl")&&(t.proPrintUpsellUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.proPrintUpsellUrl,r)),null!=e.starDataProto&&e.hasOwnProperty("starDataProto")&&(t.starDataProto=o.keyhole.dbroot.EndSnippetProto.StarDataProto.toObject(e.starDataProto,r)),null!=e.feedbackUrl&&e.hasOwnProperty("feedbackUrl")&&(t.feedbackUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.feedbackUrl,r)),null!=e.oauth2LoginUrl&&e.hasOwnProperty("oauth2LoginUrl")&&(t.oauth2LoginUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.oauth2LoginUrl,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto"},n.SearchConfigProto=function(){function n(e){if(this.searchServer=[],this.oneboxService=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.searchServer=t.emptyArray,n.prototype.oneboxService=t.emptyArray,n.prototype.kmlSearchUrl=null,n.prototype.kmlRenderUrl=null,n.prototype.searchHistoryUrl=null,n.prototype.errorPageUrl=null,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.searchServer&&a.searchServer.length||(a.searchServer=[]),a.searchServer.push(o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.decode(e,e.uint32()));break;case 2:a.oneboxService&&a.oneboxService.length||(a.oneboxService=[]),a.oneboxService.push(o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.decode(e,e.uint32()));break;case 3:a.kmlSearchUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 4:a.kmlRenderUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 6:a.searchHistoryUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 5:a.errorPageUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.searchServer&&e.hasOwnProperty("searchServer")){if(!Array.isArray(e.searchServer))return"searchServer: array expected";for(var r=0;r<e.searchServer.length;++r){var t=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.verify(e.searchServer[r]);if(t)return"searchServer."+t}}if(null!=e.oneboxService&&e.hasOwnProperty("oneboxService")){if(!Array.isArray(e.oneboxService))return"oneboxService: array expected";for(r=0;r<e.oneboxService.length;++r){t=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.verify(e.oneboxService[r]);if(t)return"oneboxService."+t}}if(null!=e.kmlSearchUrl&&e.hasOwnProperty("kmlSearchUrl")){t=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlSearchUrl);if(t)return"kmlSearchUrl."+t}if(null!=e.kmlRenderUrl&&e.hasOwnProperty("kmlRenderUrl")){t=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlRenderUrl);if(t)return"kmlRenderUrl."+t}if(null!=e.searchHistoryUrl&&e.hasOwnProperty("searchHistoryUrl")){t=o.keyhole.dbroot.StringIdOrValueProto.verify(e.searchHistoryUrl);if(t)return"searchHistoryUrl."+t}if(null!=e.errorPageUrl&&e.hasOwnProperty("errorPageUrl")){t=o.keyhole.dbroot.StringIdOrValueProto.verify(e.errorPageUrl);if(t)return"errorPageUrl."+t}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchConfigProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto;if(e.searchServer){if(!Array.isArray(e.searchServer))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: array expected");r.searchServer=[];for(var t=0;t<e.searchServer.length;++t){if("object"!=typeof e.searchServer[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: object expected");r.searchServer[t]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.fromObject(e.searchServer[t])}}if(e.oneboxService){if(!Array.isArray(e.oneboxService))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: array expected");r.oneboxService=[];for(t=0;t<e.oneboxService.length;++t){if("object"!=typeof e.oneboxService[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: object expected");r.oneboxService[t]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.fromObject(e.oneboxService[t])}}if(null!=e.kmlSearchUrl){if("object"!=typeof e.kmlSearchUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlSearchUrl: object expected");r.kmlSearchUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlSearchUrl)}if(null!=e.kmlRenderUrl){if("object"!=typeof e.kmlRenderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlRenderUrl: object expected");r.kmlRenderUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlRenderUrl)}if(null!=e.searchHistoryUrl){if("object"!=typeof e.searchHistoryUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchHistoryUrl: object expected");r.searchHistoryUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.searchHistoryUrl)}if(null!=e.errorPageUrl){if("object"!=typeof e.errorPageUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.errorPageUrl: object expected");r.errorPageUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.errorPageUrl)}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.searchServer=[],t.oneboxService=[]),r.defaults&&(t.kmlSearchUrl=null,t.kmlRenderUrl=null,t.errorPageUrl=null,t.searchHistoryUrl=null),e.searchServer&&e.searchServer.length){t.searchServer=[];for(var n=0;n<e.searchServer.length;++n)t.searchServer[n]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.toObject(e.searchServer[n],r)}if(e.oneboxService&&e.oneboxService.length){t.oneboxService=[];for(n=0;n<e.oneboxService.length;++n)t.oneboxService[n]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.toObject(e.oneboxService[n],r)}return null!=e.kmlSearchUrl&&e.hasOwnProperty("kmlSearchUrl")&&(t.kmlSearchUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlSearchUrl,r)),null!=e.kmlRenderUrl&&e.hasOwnProperty("kmlRenderUrl")&&(t.kmlRenderUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlRenderUrl,r)),null!=e.errorPageUrl&&e.hasOwnProperty("errorPageUrl")&&(t.errorPageUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.errorPageUrl,r)),null!=e.searchHistoryUrl&&e.hasOwnProperty("searchHistoryUrl")&&(t.searchHistoryUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.searchHistoryUrl,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchConfigProto"},n.SearchServer=function(){function n(e){if(this.suggestion=[],this.searchlet=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.name=null,n.prototype.url=null,n.prototype.type=0,n.prototype.htmlTransformUrl=null,n.prototype.kmlTransformUrl=null,n.prototype.supplementalUi=null,n.prototype.suggestion=t.emptyArray,n.prototype.searchlet=t.emptyArray,n.prototype.requirements=null,n.prototype.suggestServer=null,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.name=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.type=e.int32();break;case 4:a.htmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 5:a.kmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 6:a.supplementalUi=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.decode(e,e.uint32());break;case 9:a.suggestion&&a.suggestion.length||(a.suggestion=[]),a.suggestion.push(o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32()));break;case 7:a.searchlet&&a.searchlet.length||(a.searchlet=[]),a.searchlet.push(o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.decode(e,e.uint32()));break;case 8:a.requirements=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;case 10:a.suggestServer=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.name);if(r)return"name."+r}if(null!=e.url&&e.hasOwnProperty("url")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:break}if(null!=e.htmlTransformUrl&&e.hasOwnProperty("htmlTransformUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.htmlTransformUrl);if(r)return"htmlTransformUrl."+r}if(null!=e.kmlTransformUrl&&e.hasOwnProperty("kmlTransformUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlTransformUrl);if(r)return"kmlTransformUrl."+r}if(null!=e.supplementalUi&&e.hasOwnProperty("supplementalUi")){r=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.verify(e.supplementalUi);if(r)return"supplementalUi."+r}if(null!=e.suggestion&&e.hasOwnProperty("suggestion")){if(!Array.isArray(e.suggestion))return"suggestion: array expected";for(var t=0;t<e.suggestion.length;++t){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.suggestion[t]);if(r)return"suggestion."+r}}if(null!=e.searchlet&&e.hasOwnProperty("searchlet")){if(!Array.isArray(e.searchlet))return"searchlet: array expected";for(t=0;t<e.searchlet.length;++t){r=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.verify(e.searchlet[t]);if(r)return"searchlet."+r}}if(null!=e.requirements&&e.hasOwnProperty("requirements")){r=o.keyhole.dbroot.RequirementProto.verify(e.requirements);if(r)return"requirements."+r}if(null!=e.suggestServer&&e.hasOwnProperty("suggestServer")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.suggestServer);if(r)return"suggestServer."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;if(null!=e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.name: object expected");r.name=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.name)}if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}switch(e.type){case"RESULT_TYPE_KML":case 0:r.type=0;break;case"RESULT_TYPE_XML":case 1:r.type=1;break}if(null!=e.htmlTransformUrl){if("object"!=typeof e.htmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.htmlTransformUrl: object expected");r.htmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.htmlTransformUrl)}if(null!=e.kmlTransformUrl){if("object"!=typeof e.kmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.kmlTransformUrl: object expected");r.kmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlTransformUrl)}if(null!=e.supplementalUi){if("object"!=typeof e.supplementalUi)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.supplementalUi: object expected");r.supplementalUi=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.fromObject(e.supplementalUi)}if(e.suggestion){if(!Array.isArray(e.suggestion))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: array expected");r.suggestion=[];for(var t=0;t<e.suggestion.length;++t){if("object"!=typeof e.suggestion[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: object expected");r.suggestion[t]=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.suggestion[t])}}if(e.searchlet){if(!Array.isArray(e.searchlet))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: array expected");r.searchlet=[];for(t=0;t<e.searchlet.length;++t){if("object"!=typeof e.searchlet[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: object expected");r.searchlet[t]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.fromObject(e.searchlet[t])}}if(null!=e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.requirements: object expected");r.requirements=o.keyhole.dbroot.RequirementProto.fromObject(e.requirements)}if(null!=e.suggestServer){if("object"!=typeof e.suggestServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestServer: object expected");r.suggestServer=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.suggestServer)}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.searchlet=[],t.suggestion=[]),r.defaults&&(t.name=null,t.url=null,t.type=r.enums===String?"RESULT_TYPE_KML":0,t.htmlTransformUrl=null,t.kmlTransformUrl=null,t.supplementalUi=null,t.requirements=null,t.suggestServer=null),null!=e.name&&e.hasOwnProperty("name")&&(t.name=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.name,r)),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),null!=e.type&&e.hasOwnProperty("type")&&(t.type=r.enums===String?o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.ResultType[e.type]:e.type),null!=e.htmlTransformUrl&&e.hasOwnProperty("htmlTransformUrl")&&(t.htmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.htmlTransformUrl,r)),null!=e.kmlTransformUrl&&e.hasOwnProperty("kmlTransformUrl")&&(t.kmlTransformUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlTransformUrl,r)),null!=e.supplementalUi&&e.hasOwnProperty("supplementalUi")&&(t.supplementalUi=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.toObject(e.supplementalUi,r)),e.searchlet&&e.searchlet.length){t.searchlet=[];for(var n=0;n<e.searchlet.length;++n)t.searchlet[n]=o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.toObject(e.searchlet[n],r)}if(null!=e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=o.keyhole.dbroot.RequirementProto.toObject(e.requirements,r)),e.suggestion&&e.suggestion.length){t.suggestion=[];for(n=0;n<e.suggestion.length;++n)t.suggestion[n]=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.suggestion[n],r)}return null!=e.suggestServer&&e.hasOwnProperty("suggestServer")&&(t.suggestServer=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.suggestServer,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer"},n.ResultType=function(){var e={},r=Object.create(e);return r[e[0]="RESULT_TYPE_KML"]=0,r[e[1]="RESULT_TYPE_XML"]=1,r}(),n.SupplementalUi=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.url=null,n.prototype.label=null,n.prototype.height=160,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.label=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.height=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.url&&e.hasOwnProperty("url")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}if(null!=e.label&&e.hasOwnProperty("label")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.label);if(r)return"label."+r}return null!=e.height&&e.hasOwnProperty("height")&&!t.isInteger(e.height)?"height: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}if(null!=e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.label: object expected");r.label=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.label)}return null!=e.height&&(r.height=0|e.height),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.label=null,t.height=160),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),null!=e.label&&e.hasOwnProperty("label")&&(t.label=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.label,r)),null!=e.height&&e.hasOwnProperty("height")&&(t.height=e.height),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi"},n}(),n.SearchletProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.url=null,t.prototype.name=null,t.prototype.requirements=null,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.name=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.requirements=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},t.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.url&&e.hasOwnProperty("url")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}if(null!=e.name&&e.hasOwnProperty("name")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.name);if(r)return"name."+r}if(null!=e.requirements&&e.hasOwnProperty("requirements")){r=o.keyhole.dbroot.RequirementProto.verify(e.requirements);if(r)return"requirements."+r}return null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}if(null!=e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.name: object expected");r.name=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.name)}if(null!=e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.requirements: object expected");r.requirements=o.keyhole.dbroot.RequirementProto.fromObject(e.requirements)}return r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.name=null,t.requirements=null),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),null!=e.name&&e.hasOwnProperty("name")&&(t.name=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.name,r)),null!=e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=o.keyhole.dbroot.RequirementProto.toObject(e.requirements,r)),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto"},t}(),n}(),n.OneboxServiceProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.serviceUrl=null,t.prototype.requirements=null,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.serviceUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 2:a.requirements=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},t.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.serviceUrl&&e.hasOwnProperty("serviceUrl")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.serviceUrl);if(r)return"serviceUrl."+r}if(null!=e.requirements&&e.hasOwnProperty("requirements")){r=o.keyhole.dbroot.RequirementProto.verify(e.requirements);if(r)return"requirements."+r}return null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;if(null!=e.serviceUrl){if("object"!=typeof e.serviceUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.serviceUrl: object expected");r.serviceUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.serviceUrl)}if(null!=e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.requirements: object expected");r.requirements=o.keyhole.dbroot.RequirementProto.fromObject(e.requirements)}return r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.serviceUrl=null,t.requirements=null),null!=e.serviceUrl&&e.hasOwnProperty("serviceUrl")&&(t.serviceUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.serviceUrl,r)),null!=e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=o.keyhole.dbroot.RequirementProto.toObject(e.requirements,r)),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto"},t}(),n}(),n.SearchInfoProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.defaultUrl="http://maps.google.com/maps",n.prototype.geocodeParam="q",n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.SearchInfoProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.defaultUrl=e.string();break;case 2:a.geocodeParam=e.string();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.defaultUrl&&e.hasOwnProperty("defaultUrl")&&!t.isString(e.defaultUrl)?"defaultUrl: string expected":null!=e.geocodeParam&&e.hasOwnProperty("geocodeParam")&&!t.isString(e.geocodeParam)?"geocodeParam: string expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.SearchInfoProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.SearchInfoProto;return null!=e.defaultUrl&&(r.defaultUrl=String(e.defaultUrl)),null!=e.geocodeParam&&(r.geocodeParam=String(e.geocodeParam)),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.defaultUrl="http://maps.google.com/maps",t.geocodeParam="q"),null!=e.defaultUrl&&e.hasOwnProperty("defaultUrl")&&(t.defaultUrl=e.defaultUrl),null!=e.geocodeParam&&e.hasOwnProperty("geocodeParam")&&(t.geocodeParam=e.geocodeParam),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.SearchInfoProto"},n}(),n.RockTreeDataProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.url=null,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},t.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.url&&e.hasOwnProperty("url")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}return null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.RockTreeDataProto.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}return r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.RockTreeDataProto"},t}(),n.FilmstripConfigProto=function(){function n(e){if(this.imageryType=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.requirements=null,n.prototype.alleycatUrlTemplate=null,n.prototype.fallbackAlleycatUrlTemplate=null,n.prototype.metadataUrlTemplate=null,n.prototype.thumbnailUrlTemplate=null,n.prototype.kmlUrlTemplate=null,n.prototype.featuredToursUrl=null,n.prototype.enableViewportFallback=!1,n.prototype.viewportFallbackDistance=0,n.prototype.imageryType=t.emptyArray,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.requirements=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;case 2:a.alleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 9:a.fallbackAlleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 3:a.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 4:a.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 5:a.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 6:a.featuredToursUrl=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 7:a.enableViewportFallback=e.bool();break;case 8:a.viewportFallbackDistance=e.uint32();break;case 10:a.imageryType&&a.imageryType.length||(a.imageryType=[]),a.imageryType.push(o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.decode(e,e.uint32()));break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.requirements&&e.hasOwnProperty("requirements")){var r=o.keyhole.dbroot.RequirementProto.verify(e.requirements);if(r)return"requirements."+r}if(null!=e.alleycatUrlTemplate&&e.hasOwnProperty("alleycatUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.alleycatUrlTemplate);if(r)return"alleycatUrlTemplate."+r}if(null!=e.fallbackAlleycatUrlTemplate&&e.hasOwnProperty("fallbackAlleycatUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.fallbackAlleycatUrlTemplate);if(r)return"fallbackAlleycatUrlTemplate."+r}if(null!=e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.metadataUrlTemplate);if(r)return"metadataUrlTemplate."+r}if(null!=e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.thumbnailUrlTemplate);if(r)return"thumbnailUrlTemplate."+r}if(null!=e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlUrlTemplate);if(r)return"kmlUrlTemplate."+r}if(null!=e.featuredToursUrl&&e.hasOwnProperty("featuredToursUrl")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.featuredToursUrl);if(r)return"featuredToursUrl."+r}if(null!=e.enableViewportFallback&&e.hasOwnProperty("enableViewportFallback")&&"boolean"!=typeof e.enableViewportFallback)return"enableViewportFallback: boolean expected";if(null!=e.viewportFallbackDistance&&e.hasOwnProperty("viewportFallbackDistance")&&!t.isInteger(e.viewportFallbackDistance))return"viewportFallbackDistance: integer expected";if(null!=e.imageryType&&e.hasOwnProperty("imageryType")){if(!Array.isArray(e.imageryType))return"imageryType: array expected";for(var n=0;n<e.imageryType.length;++n){r=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.verify(e.imageryType[n]);if(r)return"imageryType."+r}}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;if(null!=e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.requirements: object expected");r.requirements=o.keyhole.dbroot.RequirementProto.fromObject(e.requirements)}if(null!=e.alleycatUrlTemplate){if("object"!=typeof e.alleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.alleycatUrlTemplate: object expected");r.alleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.alleycatUrlTemplate)}if(null!=e.fallbackAlleycatUrlTemplate){if("object"!=typeof e.fallbackAlleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.fallbackAlleycatUrlTemplate: object expected");r.fallbackAlleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.fallbackAlleycatUrlTemplate)}if(null!=e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.metadataUrlTemplate)}if(null!=e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.thumbnailUrlTemplate)}if(null!=e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlUrlTemplate)}if(null!=e.featuredToursUrl){if("object"!=typeof e.featuredToursUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.featuredToursUrl: object expected");r.featuredToursUrl=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.featuredToursUrl)}if(null!=e.enableViewportFallback&&(r.enableViewportFallback=Boolean(e.enableViewportFallback)),null!=e.viewportFallbackDistance&&(r.viewportFallbackDistance=e.viewportFallbackDistance>>>0),e.imageryType){if(!Array.isArray(e.imageryType))throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: array expected");r.imageryType=[];for(var t=0;t<e.imageryType.length;++t){if("object"!=typeof e.imageryType[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: object expected");r.imageryType[t]=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.fromObject(e.imageryType[t])}}return r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.imageryType=[]),r.defaults&&(t.requirements=null,t.alleycatUrlTemplate=null,t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null,t.featuredToursUrl=null,t.enableViewportFallback=!1,t.viewportFallbackDistance=0,t.fallbackAlleycatUrlTemplate=null),null!=e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=o.keyhole.dbroot.RequirementProto.toObject(e.requirements,r)),null!=e.alleycatUrlTemplate&&e.hasOwnProperty("alleycatUrlTemplate")&&(t.alleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.alleycatUrlTemplate,r)),null!=e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.metadataUrlTemplate,r)),null!=e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.thumbnailUrlTemplate,r)),null!=e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlUrlTemplate,r)),null!=e.featuredToursUrl&&e.hasOwnProperty("featuredToursUrl")&&(t.featuredToursUrl=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.featuredToursUrl,r)),null!=e.enableViewportFallback&&e.hasOwnProperty("enableViewportFallback")&&(t.enableViewportFallback=e.enableViewportFallback),null!=e.viewportFallbackDistance&&e.hasOwnProperty("viewportFallbackDistance")&&(t.viewportFallbackDistance=e.viewportFallbackDistance),null!=e.fallbackAlleycatUrlTemplate&&e.hasOwnProperty("fallbackAlleycatUrlTemplate")&&(t.fallbackAlleycatUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.fallbackAlleycatUrlTemplate,r)),e.imageryType&&e.imageryType.length){t.imageryType=[];for(var n=0;n<e.imageryType.length;++n)t.imageryType[n]=o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.toObject(e.imageryType[n],r)}return t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.FilmstripConfigProto"},n.AlleycatImageryTypeProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.imageryTypeId=0,n.prototype.imageryTypeLabel="",n.prototype.metadataUrlTemplate=null,n.prototype.thumbnailUrlTemplate=null,n.prototype.kmlUrlTemplate=null,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.imageryTypeId=e.int32();break;case 2:a.imageryTypeLabel=e.string();break;case 3:a.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 4:a.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 5:a.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.imageryTypeId&&e.hasOwnProperty("imageryTypeId")&&!t.isInteger(e.imageryTypeId))return"imageryTypeId: integer expected";if(null!=e.imageryTypeLabel&&e.hasOwnProperty("imageryTypeLabel")&&!t.isString(e.imageryTypeLabel))return"imageryTypeLabel: string expected";if(null!=e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.metadataUrlTemplate);if(r)return"metadataUrlTemplate."+r}if(null!=e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.thumbnailUrlTemplate);if(r)return"thumbnailUrlTemplate."+r}if(null!=e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")){r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.kmlUrlTemplate);if(r)return"kmlUrlTemplate."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;if(null!=e.imageryTypeId&&(r.imageryTypeId=0|e.imageryTypeId),null!=e.imageryTypeLabel&&(r.imageryTypeLabel=String(e.imageryTypeLabel)),null!=e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.metadataUrlTemplate)}if(null!=e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.thumbnailUrlTemplate)}if(null!=e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.kmlUrlTemplate)}return r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.imageryTypeId=0,t.imageryTypeLabel="",t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null),null!=e.imageryTypeId&&e.hasOwnProperty("imageryTypeId")&&(t.imageryTypeId=e.imageryTypeId),null!=e.imageryTypeLabel&&e.hasOwnProperty("imageryTypeLabel")&&(t.imageryTypeLabel=e.imageryTypeLabel),null!=e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.metadataUrlTemplate,r)),null!=e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.thumbnailUrlTemplate,r)),null!=e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.kmlUrlTemplate,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto"},n}(),n}(),n.StarDataProto=function(){function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return t.prototype.url=null,t.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EndSnippetProto.StarDataProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.url=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;default:e.skipType(7&l);break}}return a},t.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.url&&e.hasOwnProperty("url")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.url);if(r)return"url."+r}return null},t.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EndSnippetProto.StarDataProto)return e;var r=new o.keyhole.dbroot.EndSnippetProto.StarDataProto;if(null!=e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.StarDataProto.url: object expected");r.url=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.url)}return r},t.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null),null!=e.url&&e.hasOwnProperty("url")&&(t.url=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.url,r)),t},t.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},t.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EndSnippetProto.StarDataProto"},t}(),n}(),n.DbRootRefProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.url="",n.prototype.isCritical=!1,n.prototype.requirements=null,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.DbRootRefProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 2:l.url=e.string();break;case 1:l.isCritical=e.bool();break;case 3:l.requirements=o.keyhole.dbroot.RequirementProto.decode(e,e.uint32());break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("url"))throw t.ProtocolError("missing required 'url'",{instance:l});return l},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!t.isString(e.url))return"url: string expected";if(null!=e.isCritical&&e.hasOwnProperty("isCritical")&&"boolean"!=typeof e.isCritical)return"isCritical: boolean expected";if(null!=e.requirements&&e.hasOwnProperty("requirements")){var r=o.keyhole.dbroot.RequirementProto.verify(e.requirements);if(r)return"requirements."+r}return null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.DbRootRefProto)return e;var r=new o.keyhole.dbroot.DbRootRefProto;if(null!=e.url&&(r.url=String(e.url)),null!=e.isCritical&&(r.isCritical=Boolean(e.isCritical)),null!=e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.DbRootRefProto.requirements: object expected");r.requirements=o.keyhole.dbroot.RequirementProto.fromObject(e.requirements)}return r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.isCritical=!1,t.url="",t.requirements=null),null!=e.isCritical&&e.hasOwnProperty("isCritical")&&(t.isCritical=e.isCritical),null!=e.url&&e.hasOwnProperty("url")&&(t.url=e.url),null!=e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=o.keyhole.dbroot.RequirementProto.toObject(e.requirements,r)),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.DbRootRefProto"},n}(),n.DatabaseVersionProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.quadtreeVersion=0,n.decode=function(e,n){e instanceof r||(e=r.create(e));for(var a=void 0===n?e.len:e.pos+n,l=new o.keyhole.dbroot.DatabaseVersionProto;e.pos<a;){var i=e.uint32();switch(i>>>3){case 1:l.quadtreeVersion=e.uint32();break;default:e.skipType(7&i);break}}if(!l.hasOwnProperty("quadtreeVersion"))throw t.ProtocolError("missing required 'quadtreeVersion'",{instance:l});return l},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":t.isInteger(e.quadtreeVersion)?null:"quadtreeVersion: integer expected"},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.DatabaseVersionProto)return e;var r=new o.keyhole.dbroot.DatabaseVersionProto;return null!=e.quadtreeVersion&&(r.quadtreeVersion=e.quadtreeVersion>>>0),r},n.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.quadtreeVersion=0),null!=e.quadtreeVersion&&e.hasOwnProperty("quadtreeVersion")&&(t.quadtreeVersion=e.quadtreeVersion),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.DatabaseVersionProto"},n}(),n.DbRootProto=function(){function n(e){if(this.providerInfo=[],this.nestedFeature=[],this.styleAttribute=[],this.styleMap=[],this.translationEntry=[],this.dbrootReference=[],e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.databaseName=null,n.prototype.imageryPresent=!0,n.prototype.protoImagery=!1,n.prototype.terrainPresent=!1,n.prototype.providerInfo=t.emptyArray,n.prototype.nestedFeature=t.emptyArray,n.prototype.styleAttribute=t.emptyArray,n.prototype.styleMap=t.emptyArray,n.prototype.endSnippet=null,n.prototype.translationEntry=t.emptyArray,n.prototype.language="en",n.prototype.version=5,n.prototype.dbrootReference=t.emptyArray,n.prototype.databaseVersion=null,n.prototype.refreshTimeout=0,n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.DbRootProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 15:a.databaseName=o.keyhole.dbroot.StringIdOrValueProto.decode(e,e.uint32());break;case 1:a.imageryPresent=e.bool();break;case 14:a.protoImagery=e.bool();break;case 2:a.terrainPresent=e.bool();break;case 3:a.providerInfo&&a.providerInfo.length||(a.providerInfo=[]),a.providerInfo.push(o.keyhole.dbroot.ProviderInfoProto.decode(e,e.uint32()));break;case 4:a.nestedFeature&&a.nestedFeature.length||(a.nestedFeature=[]),a.nestedFeature.push(o.keyhole.dbroot.NestedFeatureProto.decode(e,e.uint32()));break;case 5:a.styleAttribute&&a.styleAttribute.length||(a.styleAttribute=[]),a.styleAttribute.push(o.keyhole.dbroot.StyleAttributeProto.decode(e,e.uint32()));break;case 6:a.styleMap&&a.styleMap.length||(a.styleMap=[]),a.styleMap.push(o.keyhole.dbroot.StyleMapProto.decode(e,e.uint32()));break;case 7:a.endSnippet=o.keyhole.dbroot.EndSnippetProto.decode(e,e.uint32());break;case 8:a.translationEntry&&a.translationEntry.length||(a.translationEntry=[]),a.translationEntry.push(o.keyhole.dbroot.StringEntryProto.decode(e,e.uint32()));break;case 9:a.language=e.string();break;case 10:a.version=e.int32();break;case 11:a.dbrootReference&&a.dbrootReference.length||(a.dbrootReference=[]),a.dbrootReference.push(o.keyhole.dbroot.DbRootRefProto.decode(e,e.uint32()));break;case 13:a.databaseVersion=o.keyhole.dbroot.DatabaseVersionProto.decode(e,e.uint32());break;case 16:a.refreshTimeout=e.int32();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.databaseName&&e.hasOwnProperty("databaseName")){var r=o.keyhole.dbroot.StringIdOrValueProto.verify(e.databaseName);if(r)return"databaseName."+r}if(null!=e.imageryPresent&&e.hasOwnProperty("imageryPresent")&&"boolean"!=typeof e.imageryPresent)return"imageryPresent: boolean expected";if(null!=e.protoImagery&&e.hasOwnProperty("protoImagery")&&"boolean"!=typeof e.protoImagery)return"protoImagery: boolean expected";if(null!=e.terrainPresent&&e.hasOwnProperty("terrainPresent")&&"boolean"!=typeof e.terrainPresent)return"terrainPresent: boolean expected";if(null!=e.providerInfo&&e.hasOwnProperty("providerInfo")){if(!Array.isArray(e.providerInfo))return"providerInfo: array expected";for(var n=0;n<e.providerInfo.length;++n){r=o.keyhole.dbroot.ProviderInfoProto.verify(e.providerInfo[n]);if(r)return"providerInfo."+r}}if(null!=e.nestedFeature&&e.hasOwnProperty("nestedFeature")){if(!Array.isArray(e.nestedFeature))return"nestedFeature: array expected";for(n=0;n<e.nestedFeature.length;++n){r=o.keyhole.dbroot.NestedFeatureProto.verify(e.nestedFeature[n]);if(r)return"nestedFeature."+r}}if(null!=e.styleAttribute&&e.hasOwnProperty("styleAttribute")){if(!Array.isArray(e.styleAttribute))return"styleAttribute: array expected";for(n=0;n<e.styleAttribute.length;++n){r=o.keyhole.dbroot.StyleAttributeProto.verify(e.styleAttribute[n]);if(r)return"styleAttribute."+r}}if(null!=e.styleMap&&e.hasOwnProperty("styleMap")){if(!Array.isArray(e.styleMap))return"styleMap: array expected";for(n=0;n<e.styleMap.length;++n){r=o.keyhole.dbroot.StyleMapProto.verify(e.styleMap[n]);if(r)return"styleMap."+r}}if(null!=e.endSnippet&&e.hasOwnProperty("endSnippet")){r=o.keyhole.dbroot.EndSnippetProto.verify(e.endSnippet);if(r)return"endSnippet."+r}if(null!=e.translationEntry&&e.hasOwnProperty("translationEntry")){if(!Array.isArray(e.translationEntry))return"translationEntry: array expected";for(n=0;n<e.translationEntry.length;++n){r=o.keyhole.dbroot.StringEntryProto.verify(e.translationEntry[n]);if(r)return"translationEntry."+r}}if(null!=e.language&&e.hasOwnProperty("language")&&!t.isString(e.language))return"language: string expected";if(null!=e.version&&e.hasOwnProperty("version")&&!t.isInteger(e.version))return"version: integer expected";if(null!=e.dbrootReference&&e.hasOwnProperty("dbrootReference")){if(!Array.isArray(e.dbrootReference))return"dbrootReference: array expected";for(n=0;n<e.dbrootReference.length;++n){r=o.keyhole.dbroot.DbRootRefProto.verify(e.dbrootReference[n]);if(r)return"dbrootReference."+r}}if(null!=e.databaseVersion&&e.hasOwnProperty("databaseVersion")){r=o.keyhole.dbroot.DatabaseVersionProto.verify(e.databaseVersion);if(r)return"databaseVersion."+r}return null!=e.refreshTimeout&&e.hasOwnProperty("refreshTimeout")&&!t.isInteger(e.refreshTimeout)?"refreshTimeout: integer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.DbRootProto)return e;var r=new o.keyhole.dbroot.DbRootProto;if(null!=e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DbRootProto.databaseName: object expected");r.databaseName=o.keyhole.dbroot.StringIdOrValueProto.fromObject(e.databaseName)}if(null!=e.imageryPresent&&(r.imageryPresent=Boolean(e.imageryPresent)),null!=e.protoImagery&&(r.protoImagery=Boolean(e.protoImagery)),null!=e.terrainPresent&&(r.terrainPresent=Boolean(e.terrainPresent)),e.providerInfo){if(!Array.isArray(e.providerInfo))throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: array expected");r.providerInfo=[];for(var t=0;t<e.providerInfo.length;++t){if("object"!=typeof e.providerInfo[t])throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: object expected");r.providerInfo[t]=o.keyhole.dbroot.ProviderInfoProto.fromObject(e.providerInfo[t])}}if(e.nestedFeature){if(!Array.isArray(e.nestedFeature))throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: array expected");r.nestedFeature=[];for(t=0;t<e.nestedFeature.length;++t){if("object"!=typeof e.nestedFeature[t])throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: object expected");r.nestedFeature[t]=o.keyhole.dbroot.NestedFeatureProto.fromObject(e.nestedFeature[t])}}if(e.styleAttribute){if(!Array.isArray(e.styleAttribute))throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: array expected");r.styleAttribute=[];for(t=0;t<e.styleAttribute.length;++t){if("object"!=typeof e.styleAttribute[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: object expected");r.styleAttribute[t]=o.keyhole.dbroot.StyleAttributeProto.fromObject(e.styleAttribute[t])}}if(e.styleMap){if(!Array.isArray(e.styleMap))throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: array expected");r.styleMap=[];for(t=0;t<e.styleMap.length;++t){if("object"!=typeof e.styleMap[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: object expected");r.styleMap[t]=o.keyhole.dbroot.StyleMapProto.fromObject(e.styleMap[t])}}if(null!=e.endSnippet){if("object"!=typeof e.endSnippet)throw TypeError(".keyhole.dbroot.DbRootProto.endSnippet: object expected");r.endSnippet=o.keyhole.dbroot.EndSnippetProto.fromObject(e.endSnippet)}if(e.translationEntry){if(!Array.isArray(e.translationEntry))throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: array expected");r.translationEntry=[];for(t=0;t<e.translationEntry.length;++t){if("object"!=typeof e.translationEntry[t])throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: object expected");r.translationEntry[t]=o.keyhole.dbroot.StringEntryProto.fromObject(e.translationEntry[t])}}if(null!=e.language&&(r.language=String(e.language)),null!=e.version&&(r.version=0|e.version),e.dbrootReference){if(!Array.isArray(e.dbrootReference))throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: array expected");r.dbrootReference=[];for(t=0;t<e.dbrootReference.length;++t){if("object"!=typeof e.dbrootReference[t])throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: object expected");r.dbrootReference[t]=o.keyhole.dbroot.DbRootRefProto.fromObject(e.dbrootReference[t])}}if(null!=e.databaseVersion){if("object"!=typeof e.databaseVersion)throw TypeError(".keyhole.dbroot.DbRootProto.databaseVersion: object expected");r.databaseVersion=o.keyhole.dbroot.DatabaseVersionProto.fromObject(e.databaseVersion)}return null!=e.refreshTimeout&&(r.refreshTimeout=0|e.refreshTimeout),r},n.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.providerInfo=[],t.nestedFeature=[],t.styleAttribute=[],t.styleMap=[],t.translationEntry=[],t.dbrootReference=[]),r.defaults&&(t.imageryPresent=!0,t.terrainPresent=!1,t.endSnippet=null,t.language="en",t.version=5,t.databaseVersion=null,t.protoImagery=!1,t.databaseName=null,t.refreshTimeout=0),null!=e.imageryPresent&&e.hasOwnProperty("imageryPresent")&&(t.imageryPresent=e.imageryPresent),null!=e.terrainPresent&&e.hasOwnProperty("terrainPresent")&&(t.terrainPresent=e.terrainPresent),e.providerInfo&&e.providerInfo.length){t.providerInfo=[];for(var n=0;n<e.providerInfo.length;++n)t.providerInfo[n]=o.keyhole.dbroot.ProviderInfoProto.toObject(e.providerInfo[n],r)}if(e.nestedFeature&&e.nestedFeature.length){t.nestedFeature=[];for(n=0;n<e.nestedFeature.length;++n)t.nestedFeature[n]=o.keyhole.dbroot.NestedFeatureProto.toObject(e.nestedFeature[n],r)}if(e.styleAttribute&&e.styleAttribute.length){t.styleAttribute=[];for(n=0;n<e.styleAttribute.length;++n)t.styleAttribute[n]=o.keyhole.dbroot.StyleAttributeProto.toObject(e.styleAttribute[n],r)}if(e.styleMap&&e.styleMap.length){t.styleMap=[];for(n=0;n<e.styleMap.length;++n)t.styleMap[n]=o.keyhole.dbroot.StyleMapProto.toObject(e.styleMap[n],r)}if(null!=e.endSnippet&&e.hasOwnProperty("endSnippet")&&(t.endSnippet=o.keyhole.dbroot.EndSnippetProto.toObject(e.endSnippet,r)),e.translationEntry&&e.translationEntry.length){t.translationEntry=[];for(n=0;n<e.translationEntry.length;++n)t.translationEntry[n]=o.keyhole.dbroot.StringEntryProto.toObject(e.translationEntry[n],r)}if(null!=e.language&&e.hasOwnProperty("language")&&(t.language=e.language),null!=e.version&&e.hasOwnProperty("version")&&(t.version=e.version),e.dbrootReference&&e.dbrootReference.length){t.dbrootReference=[];for(n=0;n<e.dbrootReference.length;++n)t.dbrootReference[n]=o.keyhole.dbroot.DbRootRefProto.toObject(e.dbrootReference[n],r)}return null!=e.databaseVersion&&e.hasOwnProperty("databaseVersion")&&(t.databaseVersion=o.keyhole.dbroot.DatabaseVersionProto.toObject(e.databaseVersion,r)),null!=e.protoImagery&&e.hasOwnProperty("protoImagery")&&(t.protoImagery=e.protoImagery),null!=e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=o.keyhole.dbroot.StringIdOrValueProto.toObject(e.databaseName,r)),null!=e.refreshTimeout&&e.hasOwnProperty("refreshTimeout")&&(t.refreshTimeout=e.refreshTimeout),t},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.DbRootProto"},n}(),n.EncryptedDbRootProto=function(){function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)null!=e[r[t]]&&(this[r[t]]=e[r[t]])}return n.prototype.encryptionType=0,n.prototype.encryptionData=t.newBuffer([]),n.prototype.dbrootData=t.newBuffer([]),n.decode=function(e,t){e instanceof r||(e=r.create(e));for(var n=void 0===t?e.len:e.pos+t,a=new o.keyhole.dbroot.EncryptedDbRootProto;e.pos<n;){var l=e.uint32();switch(l>>>3){case 1:a.encryptionType=e.int32();break;case 2:a.encryptionData=e.bytes();break;case 3:a.dbrootData=e.bytes();break;default:e.skipType(7&l);break}}return a},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.encryptionType&&e.hasOwnProperty("encryptionType"))switch(e.encryptionType){default:return"encryptionType: enum value expected";case 0:break}return null!=e.encryptionData&&e.hasOwnProperty("encryptionData")&&!(e.encryptionData&&"number"==typeof e.encryptionData.length||t.isString(e.encryptionData))?"encryptionData: buffer expected":null!=e.dbrootData&&e.hasOwnProperty("dbrootData")&&!(e.dbrootData&&"number"==typeof e.dbrootData.length||t.isString(e.dbrootData))?"dbrootData: buffer expected":null},n.fromObject=function(e){if(e instanceof o.keyhole.dbroot.EncryptedDbRootProto)return e;var r=new o.keyhole.dbroot.EncryptedDbRootProto;switch(e.encryptionType){case"ENCRYPTION_XOR":case 0:r.encryptionType=0;break}return null!=e.encryptionData&&("string"==typeof e.encryptionData?t.base64.decode(e.encryptionData,r.encryptionData=t.newBuffer(t.base64.length(e.encryptionData)),0):e.encryptionData.length>=0&&(r.encryptionData=e.encryptionData)),null!=e.dbrootData&&("string"==typeof e.dbrootData?t.base64.decode(e.dbrootData,r.dbrootData=t.newBuffer(t.base64.length(e.dbrootData)),0):e.dbrootData.length>=0&&(r.dbrootData=e.dbrootData)),r},n.toObject=function(e,r){r||(r={});var n={};return r.defaults&&(n.encryptionType=r.enums===String?"ENCRYPTION_XOR":0,r.bytes===String?n.encryptionData="":(n.encryptionData=[],r.bytes!==Array&&(n.encryptionData=t.newBuffer(n.encryptionData))),r.bytes===String?n.dbrootData="":(n.dbrootData=[],r.bytes!==Array&&(n.dbrootData=t.newBuffer(n.dbrootData)))),null!=e.encryptionType&&e.hasOwnProperty("encryptionType")&&(n.encryptionType=r.enums===String?o.keyhole.dbroot.EncryptedDbRootProto.EncryptionType[e.encryptionType]:e.encryptionType),null!=e.encryptionData&&e.hasOwnProperty("encryptionData")&&(n.encryptionData=r.bytes===String?t.base64.encode(e.encryptionData,0,e.encryptionData.length):r.bytes===Array?Array.prototype.slice.call(e.encryptionData):e.encryptionData),null!=e.dbrootData&&e.hasOwnProperty("dbrootData")&&(n.dbrootData=r.bytes===String?t.base64.encode(e.dbrootData,0,e.dbrootData.length):r.bytes===Array?Array.prototype.slice.call(e.dbrootData):e.dbrootData),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/keyhole.dbroot.EncryptedDbRootProto"},n.EncryptionType=function(){var e={},r=Object.create(e);return r[e[0]="ENCRYPTION_XOR"]=0,r}(),n}(),n}(),n}(),o.keyhole.dbroot}})();