{
  "nested": {
    "enfonica": {
      "nested": {
        "voice": {
          "nested": {
            "v1beta1": {
              "options": {
                "cc_enable_arenas": true,
                "csharp_namespace": "Enfonica.Voice.V1Beta1",
                "go_package": "github.com/enfonica/enfonica-go/voice/v1beta1;voice",
                "java_multiple_files": true,
                "java_outer_classname": "TranscriptionsProto",
                "java_package": "com.enfonica.voice.v1beta1",
                "objc_class_prefix": "ENFON",
                "(google.api.resource_definition).type": "voice.api.enfonica.com/Stream",
                "(google.api.resource_definition).pattern": "projects/{project}/streams/{streams}"
              },
              "nested": {
                "Aliases": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "CreateAlias": {
                      "requestType": "CreateAliasRequest",
                      "responseType": "Alias",
                      "options": {
                        "(google.api.http).post": "/v1beta1/{parent=projects/*/sipDomains/*}/aliases",
                        "(google.api.http).body": "alias",
                        "(google.api.method_signature)": "parent,alias,alias_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1beta1/{parent=projects/*/sipDomains/*}/aliases",
                            "body": "alias"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent,alias,alias_id"
                        }
                      ]
                    },
                    "GetAlias": {
                      "requestType": "GetAliasRequest",
                      "responseType": "Alias",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/sipDomains/*/aliases/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/sipDomains/*/aliases/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListAliases": {
                      "requestType": "ListAliasesRequest",
                      "responseType": "ListAliasesResponse",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{parent=projects/*/sipDomains/*}/aliases",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{parent=projects/*/sipDomains/*}/aliases"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    },
                    "UpdateAlias": {
                      "requestType": "UpdateAliasRequest",
                      "responseType": "Alias",
                      "options": {
                        "(google.api.http).patch": "/v1beta1/{alias.name=projects/*/sipDomains/*/aliases/*}",
                        "(google.api.http).body": "alias",
                        "(google.api.method_signature)": "alias,update_mask"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "patch": "/v1beta1/{alias.name=projects/*/sipDomains/*/aliases/*}",
                            "body": "alias"
                          }
                        },
                        {
                          "(google.api.method_signature)": "alias,update_mask"
                        }
                      ]
                    },
                    "DeleteAlias": {
                      "requestType": "DeleteAliasRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1beta1/{name=projects/*/sipDomains/*/aliases/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1beta1/{name=projects/*/sipDomains/*/aliases/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    }
                  }
                },
                "Alias": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/Alias",
                    "(google.api.resource).pattern": "projects/{project}/sipDomains/{sip_domain}/aliases/{alias}"
                  },
                  "oneofs": {
                    "config": {
                      "oneof": [
                        "loadBalancerConfig"
                      ]
                    }
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "aliasId": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "displayName": {
                      "type": "string",
                      "id": 3
                    },
                    "loadBalancerConfig": {
                      "type": "LoadBalancerConfig",
                      "id": 4
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  }
                },
                "LoadBalancerConfig": {
                  "fields": {
                    "endpoints": {
                      "rule": "repeated",
                      "type": "LoadBalancerEndpoint",
                      "id": 1
                    },
                    "failoverCallHandlerUris": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "LoadBalancerEndpoint": {
                  "fields": {
                    "uri": {
                      "type": "string",
                      "id": 1
                    },
                    "priority": {
                      "type": "int32",
                      "id": 2
                    },
                    "weight": {
                      "type": "int32",
                      "id": 3
                    },
                    "enabled": {
                      "type": "bool",
                      "id": 4
                    }
                  }
                },
                "CreateAliasRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Alias"
                      }
                    },
                    "alias": {
                      "type": "Alias",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "aliasId": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "GetAliasRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Alias"
                      }
                    }
                  }
                },
                "ListAliasesRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Alias"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3
                    }
                  }
                },
                "ListAliasesResponse": {
                  "fields": {
                    "aliases": {
                      "rule": "repeated",
                      "type": "Alias",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "UpdateAliasRequest": {
                  "fields": {
                    "alias": {
                      "type": "Alias",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "updateMask": {
                      "type": "google.protobuf.FieldMask",
                      "id": 2
                    }
                  }
                },
                "DeleteAliasRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Alias"
                      }
                    }
                  }
                },
                "CallRecordingConfig": {
                  "fields": {
                    "trigger": {
                      "type": "CallRecordingTrigger",
                      "id": 1
                    },
                    "postProcessing": {
                      "rule": "repeated",
                      "type": "PostProcessing",
                      "id": 2
                    },
                    "recordingReadyUri": {
                      "type": "string",
                      "id": 3
                    },
                    "transcribe": {
                      "type": "TranscribeOption",
                      "id": 4
                    },
                    "transcriptionReadyUri": {
                      "type": "string",
                      "id": 5
                    }
                  },
                  "nested": {
                    "CallRecordingTrigger": {
                      "values": {
                        "CALL_RECORDING_TRIGGER_UNSPECIFIED": 0,
                        "DISABLED": 1,
                        "ANSWER": 2,
                        "BRIDGE": 3
                      }
                    }
                  }
                },
                "PostProcessing": {
                  "values": {
                    "POST_PROCESSING_UNSPECIFIED": 0,
                    "TRIM_SILENCE": 1
                  }
                },
                "TranscribeOption": {
                  "values": {
                    "TRANSCRIBE_OPTION_UNSPECIFIED": 0,
                    "DISABLED": 1,
                    "DEFAULT": 2
                  }
                },
                "CallRequest": {
                  "fields": {
                    "call": {
                      "type": "enfonica.voice.v1beta1.Call",
                      "id": 1
                    },
                    "parameters": {
                      "keyType": "string",
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "Calls": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "CreateCall": {
                      "requestType": "CreateCallRequest",
                      "responseType": "Call",
                      "options": {
                        "(google.api.http).post": "/v1beta1/{parent=projects/*}/calls",
                        "(google.api.http).body": "call",
                        "(google.api.method_signature)": "parent,call"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1beta1/{parent=projects/*}/calls",
                            "body": "call"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent,call"
                        }
                      ]
                    },
                    "GetCall": {
                      "requestType": "GetCallRequest",
                      "responseType": "Call",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/calls/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/calls/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListCalls": {
                      "requestType": "ListCallsRequest",
                      "responseType": "ListCallsResponse",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{parent=projects/*}/calls",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{parent=projects/*}/calls"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    }
                  }
                },
                "Call": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/Call",
                    "(google.api.resource).pattern": "projects/{project}/calls/{call}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "to": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "from": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "fromLocation": {
                      "type": "NumberLocation",
                      "id": 25
                    },
                    "fromZone": {
                      "type": "string",
                      "id": 26
                    },
                    "isPrivate": {
                      "type": "bool",
                      "id": 4
                    },
                    "labels": {
                      "keyType": "string",
                      "type": "string",
                      "id": 8
                    },
                    "transport": {
                      "type": "Transport",
                      "id": 9,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "direction": {
                      "type": "Direction",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "errorCode": {
                      "type": "string",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "errorMessage": {
                      "type": "string",
                      "id": 12,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "price": {
                      "type": "google.type.Money",
                      "id": 13,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "state": {
                      "type": "State",
                      "id": 14,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 16,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "startTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 17,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "ringTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 18,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "answerTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 19,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "endTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 20,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "bridged": {
                      "type": "bool",
                      "id": 21,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "originatingCall": {
                      "type": "string",
                      "id": 22,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "createMethod": {
                      "type": "CreateMethod",
                      "id": 23,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "options": {
                      "type": "ApiCallOptions",
                      "id": 24,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "sipCallId": {
                      "type": "string",
                      "id": 27,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "answerDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 28,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  },
                  "nested": {
                    "ApiCallOptions": {
                      "fields": {
                        "handlerUris": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "stateUpdateUri": {
                          "type": "string",
                          "id": 2
                        },
                        "timeoutSeconds": {
                          "type": "int32",
                          "id": 3
                        },
                        "recording": {
                          "type": "CallRecordingConfig",
                          "id": 4
                        }
                      }
                    },
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "QUEUED": 1,
                        "STARTING": 2,
                        "RINGING": 3,
                        "IN_PROGRESS": 4,
                        "COMPLETED": 5,
                        "FAILED": 6,
                        "NOT_ANSWERED": 7,
                        "BUSY": 8,
                        "REJECTED": 9
                      }
                    },
                    "Direction": {
                      "values": {
                        "DIRECTION_UNSPECIFIED": 0,
                        "OUTGOING": 1,
                        "INCOMING": 2
                      }
                    },
                    "Transport": {
                      "values": {
                        "TRANSPORT_UNSPECIFIED": 0,
                        "PSTN": 1,
                        "CLIENT": 2,
                        "SIP": 3
                      }
                    },
                    "CreateMethod": {
                      "values": {
                        "CREATE_METHOD_UNSPECIFIED": 0,
                        "INCOMING_CALL": 1,
                        "PARENT_CALL": 2,
                        "API": 3
                      }
                    }
                  }
                },
                "NumberLocation": {
                  "fields": {
                    "regionCode": {
                      "type": "string",
                      "id": 1
                    },
                    "administrativeArea": {
                      "type": "string",
                      "id": 2
                    },
                    "locality": {
                      "type": "string",
                      "id": 3
                    },
                    "coordinates": {
                      "type": "google.type.LatLng",
                      "id": 4
                    }
                  }
                },
                "CreateCallRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Call"
                      }
                    },
                    "call": {
                      "type": "Call",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "GetCallRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Call"
                      }
                    }
                  }
                },
                "ListCallsRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Call"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3
                    },
                    "filter": {
                      "type": "string",
                      "id": 4
                    }
                  }
                },
                "ListCallsResponse": {
                  "fields": {
                    "calls": {
                      "rule": "repeated",
                      "type": "Call",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "Recordings": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "GetRecording": {
                      "requestType": "GetRecordingRequest",
                      "responseType": "Recording",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/calls/*/recordings/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/calls/*/recordings/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListRecordings": {
                      "requestType": "ListRecordingsRequest",
                      "responseType": "ListRecordingsResponse",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{parent=projects/*/calls/*}/recordings",
                        "(google.api.http).additional_bindings.get": "/v1beta1/{parent=projects/*}/recordings",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{parent=projects/*/calls/*}/recordings",
                            "additional_bindings": {
                              "get": "/v1beta1/{parent=projects/*}/recordings"
                            }
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    },
                    "DeleteRecording": {
                      "requestType": "DeleteRecordingRequest",
                      "responseType": "Recording",
                      "options": {
                        "(google.api.http).delete": "/v1beta1/{name=projects/*/calls/*/recordings/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1beta1/{name=projects/*/calls/*/recordings/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    }
                  }
                },
                "Recording": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/Recording",
                    "(google.api.resource).pattern": "projects/{project}/calls/{call}/recordings/{recording}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "state": {
                      "type": "State",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "source": {
                      "type": "Source",
                      "id": 4
                    },
                    "duration": {
                      "type": "google.protobuf.Duration",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "channelCount": {
                      "type": "int32",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "postProcessing": {
                      "rule": "repeated",
                      "type": "PostProcessing",
                      "id": 7
                    },
                    "errorCode": {
                      "type": "ErrorCode",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "audio": {
                      "rule": "repeated",
                      "type": "RecordingAudio",
                      "id": 9,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "startTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "readyUri": {
                      "type": "string",
                      "id": 12
                    }
                  },
                  "nested": {
                    "Source": {
                      "values": {
                        "SOURCE_UNSPECIFIED": 0,
                        "RECORD_ACTION": 1,
                        "CALL_RECORDING": 2
                      }
                    },
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "PENDING": 1,
                        "SUCCEEDED": 2,
                        "EMPTY": 3,
                        "FAILED": 4
                      }
                    },
                    "ErrorCode": {
                      "values": {
                        "ERROR_CODE_UNSPECIFIED": 0,
                        "TIMEOUT": 1,
                        "INTERNAL_ERROR": 2
                      }
                    }
                  }
                },
                "RecordingAudio": {
                  "fields": {
                    "mimeType": {
                      "type": "string",
                      "id": 1
                    },
                    "encoding": {
                      "type": "AudioEncoding",
                      "id": 2
                    },
                    "sampleRate": {
                      "type": "int32",
                      "id": 3
                    },
                    "sizeBytes": {
                      "type": "int32",
                      "id": 4
                    },
                    "uri": {
                      "type": "string",
                      "id": 5
                    }
                  },
                  "nested": {
                    "AudioEncoding": {
                      "values": {
                        "AUDIO_ENCODING_UNSPECIFIED": 0,
                        "AUDIO_ENCODING_PCM_16BIT": 1,
                        "AUDIO_ENCODING_MP3": 2
                      }
                    }
                  }
                },
                "GetRecordingRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Recording"
                      }
                    },
                    "view": {
                      "type": "RecordingView",
                      "id": 2
                    }
                  }
                },
                "ListRecordingsRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Recording"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3
                    },
                    "view": {
                      "type": "RecordingView",
                      "id": 4
                    }
                  }
                },
                "ListRecordingsResponse": {
                  "fields": {
                    "recordings": {
                      "rule": "repeated",
                      "type": "Recording",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "DeleteRecordingRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Recording"
                      }
                    }
                  }
                },
                "RecordingView": {
                  "values": {
                    "RECORDING_VIEW_UNSPECIFIED": 0,
                    "BASIC": 1,
                    "FULL": 2
                  }
                },
                "SipDomains": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "CreateSipDomain": {
                      "requestType": "CreateSipDomainRequest",
                      "responseType": "SipDomain",
                      "options": {
                        "(google.api.http).post": "/v1beta1/{parent=projects/*}/sipDomains",
                        "(google.api.http).body": "sip_domain",
                        "(google.api.method_signature)": "parent,sip_domain,sip_domain_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1beta1/{parent=projects/*}/sipDomains",
                            "body": "sip_domain"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent,sip_domain,sip_domain_id"
                        }
                      ]
                    },
                    "GetSipDomain": {
                      "requestType": "GetSipDomainRequest",
                      "responseType": "SipDomain",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/sipDomains/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/sipDomains/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListSipDomains": {
                      "requestType": "ListSipDomainsRequest",
                      "responseType": "ListSipDomainsResponse",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{parent=projects/*}/sipDomains",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{parent=projects/*}/sipDomains"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    },
                    "UpdateSipDomain": {
                      "requestType": "UpdateSipDomainRequest",
                      "responseType": "SipDomain",
                      "options": {
                        "(google.api.http).patch": "/v1beta1/{sip_domain.name=projects/*/sipDomains/*}",
                        "(google.api.http).body": "sip_domain",
                        "(google.api.method_signature)": "sip_domain,update_mask"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "patch": "/v1beta1/{sip_domain.name=projects/*/sipDomains/*}",
                            "body": "sip_domain"
                          }
                        },
                        {
                          "(google.api.method_signature)": "sip_domain,update_mask"
                        }
                      ]
                    },
                    "DeleteSipDomain": {
                      "requestType": "DeleteSipDomainRequest",
                      "responseType": "SipDomain",
                      "options": {
                        "(google.api.http).delete": "/v1beta1/{name=projects/*/sipDomains/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1beta1/{name=projects/*/sipDomains/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    }
                  }
                },
                "SipDomain": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/SipDomain",
                    "(google.api.resource).pattern": "projects/{project}/sipDomains/{sip_domain}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "sipDomainId": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "displayName": {
                      "type": "string",
                      "id": 3
                    },
                    "allowRegister": {
                      "type": "bool",
                      "id": 4
                    },
                    "callTerminationMode": {
                      "type": "TerminationMode",
                      "id": 5
                    },
                    "callTerminationHandlerUris": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    },
                    "cidrBlocks": {
                      "rule": "repeated",
                      "type": "CidrBlock",
                      "id": 8
                    },
                    "callRecording": {
                      "type": "CallRecordingConfig",
                      "id": 9
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "deleteTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  },
                  "nested": {
                    "TerminationMode": {
                      "values": {
                        "TERMINATION_MODE_UNSPECIFIED": 0,
                        "TERMINATION_MODE_DISABLED": 1,
                        "PSTN_TRUNK": 2,
                        "PROGRAMMABLE": 3
                      }
                    }
                  }
                },
                "CidrBlock": {
                  "fields": {
                    "displayName": {
                      "type": "string",
                      "id": 1
                    },
                    "cidrBlock": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "CreateSipDomainRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/SipDomain"
                      }
                    },
                    "sipDomain": {
                      "type": "SipDomain",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "sipDomainId": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "GetSipDomainRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/SipDomain"
                      }
                    }
                  }
                },
                "ListSipDomainsRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/SipDomain"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3
                    },
                    "showDeleted": {
                      "type": "bool",
                      "id": 4
                    }
                  }
                },
                "ListSipDomainsResponse": {
                  "fields": {
                    "sipDomains": {
                      "rule": "repeated",
                      "type": "SipDomain",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "UpdateSipDomainRequest": {
                  "fields": {
                    "sipDomain": {
                      "type": "SipDomain",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "updateMask": {
                      "type": "google.protobuf.FieldMask",
                      "id": 2
                    }
                  }
                },
                "DeleteSipDomainRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/SipDomain"
                      }
                    }
                  }
                },
                "SipInfoService": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "GetSipInfo": {
                      "requestType": "GetSipInfoRequest",
                      "responseType": "SipInfo",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/calls/*/sipInfo}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/calls/*/sipInfo}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    }
                  }
                },
                "SipInfo": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/SipInfo",
                    "(google.api.resource).pattern": "projects/{project}/calls/{call}/sipInfo"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "startTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 2
                    },
                    "endTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 3
                    },
                    "messages": {
                      "rule": "repeated",
                      "type": "SipMessage",
                      "id": 4
                    },
                    "sipCallId": {
                      "type": "string",
                      "id": 5
                    },
                    "pcap": {
                      "type": "bytes",
                      "id": 6
                    }
                  }
                },
                "SipMessage": {
                  "fields": {
                    "offsetDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 1
                    },
                    "sourceIp": {
                      "type": "string",
                      "id": 2
                    },
                    "sourcePort": {
                      "type": "int32",
                      "id": 3
                    },
                    "destinationIp": {
                      "type": "string",
                      "id": 4
                    },
                    "destinationPort": {
                      "type": "int32",
                      "id": 5
                    },
                    "method": {
                      "type": "string",
                      "id": 6
                    },
                    "requestLine": {
                      "type": "string",
                      "id": 7
                    },
                    "data": {
                      "type": "string",
                      "id": 8
                    }
                  }
                },
                "GetSipInfoRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/SipInfo"
                      }
                    }
                  }
                },
                "Streams": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "StreamCall": {
                      "requestType": "StreamCallRequest",
                      "requestStream": true,
                      "responseType": "StreamCallResponse",
                      "responseStream": true
                    }
                  }
                },
                "StreamCallRequest": {
                  "fields": {
                    "setup": {
                      "type": "StreamSetup",
                      "id": 1
                    },
                    "inputAudio": {
                      "type": "InputAudio",
                      "id": 2
                    },
                    "updateRequestParameters": {
                      "type": "UpdateRequestParameters",
                      "id": 3
                    }
                  }
                },
                "StreamSetup": {
                  "fields": {
                    "stream": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Stream"
                      }
                    },
                    "audioConfig": {
                      "type": "AudioConfig",
                      "id": 2
                    }
                  }
                },
                "UpdateRequestParameters": {
                  "fields": {
                    "parameters": {
                      "keyType": "string",
                      "type": "string",
                      "id": 1
                    }
                  }
                },
                "StreamCallResponse": {
                  "oneofs": {
                    "event": {
                      "oneof": [
                        "callConnected",
                        "outputAudio",
                        "inputAudioBufferEmpty"
                      ]
                    }
                  },
                  "fields": {
                    "callConnected": {
                      "type": "CallConnectedEvent",
                      "id": 1
                    },
                    "outputAudio": {
                      "type": "OutputAudioEvent",
                      "id": 2
                    },
                    "inputAudioBufferEmpty": {
                      "type": "InputAudioBufferEmptyEvent",
                      "id": 3
                    }
                  }
                },
                "CallConnectedEvent": {
                  "fields": {
                    "call": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Call"
                      }
                    }
                  }
                },
                "OutputAudioEvent": {
                  "fields": {
                    "audio": {
                      "type": "bytes",
                      "id": 1
                    }
                  }
                },
                "InputAudioBufferEmptyEvent": {
                  "fields": {}
                },
                "InputAudio": {
                  "fields": {
                    "config": {
                      "type": "AudioConfig",
                      "id": 1
                    },
                    "audio": {
                      "type": "bytes",
                      "id": 2
                    },
                    "clear": {
                      "type": "bool",
                      "id": 3
                    }
                  }
                },
                "AudioConfig": {
                  "fields": {
                    "audioEncoding": {
                      "type": "AudioEncoding",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "sampleRateHertz": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                },
                "AudioEncoding": {
                  "values": {
                    "AUDIO_ENCODING_UNSPECIFIED": 0,
                    "AUDIO_ENCODING_MULAW": 1,
                    "AUDIO_ENCODING_ALAW": 2
                  }
                },
                "Transcriptions": {
                  "options": {
                    "(google.api.default_host)": "voice.api.enfonica.com",
                    "(google.api.oauth_scopes)": "https://api.enfonica.com/auth/voice"
                  },
                  "methods": {
                    "GetTranscription": {
                      "requestType": "GetTranscriptionRequest",
                      "responseType": "Transcription",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{name=projects/*/calls/*/transcriptions/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{name=projects/*/calls/*/transcriptions/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListTranscriptions": {
                      "requestType": "ListTranscriptionsRequest",
                      "responseType": "ListTranscriptionsResponse",
                      "options": {
                        "(google.api.http).get": "/v1beta1/{parent=projects/*/calls/*}/transcriptions",
                        "(google.api.http).additional_bindings.get": "/v1beta1/{parent=projects/*}/transcriptions",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1beta1/{parent=projects/*/calls/*}/transcriptions",
                            "additional_bindings": {
                              "get": "/v1beta1/{parent=projects/*}/transcriptions"
                            }
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    },
                    "DeleteTranscription": {
                      "requestType": "DeleteTranscriptionRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1beta1/{name=projects/*/calls/*/transcriptions/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1beta1/{name=projects/*/calls/*/transcriptions/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    }
                  }
                },
                "Transcription": {
                  "options": {
                    "(google.api.resource).type": "voice.api.enfonica.com/Transcription",
                    "(google.api.resource).pattern": "projects/{project}/calls/{call}/transcriptions/{transcription}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    },
                    "recording": {
                      "type": "string",
                      "id": 2
                    },
                    "state": {
                      "type": "State",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "duration": {
                      "type": "google.protobuf.Duration",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "channelCount": {
                      "type": "int32",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "updateTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 12,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "readyUri": {
                      "type": "string",
                      "id": 13
                    },
                    "utterances": {
                      "rule": "repeated",
                      "type": "Utterance",
                      "id": 15,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  },
                  "nested": {
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "PENDING": 1,
                        "COMPLETED": 2,
                        "FAILED": 3
                      }
                    }
                  }
                },
                "Utterance": {
                  "fields": {
                    "channel": {
                      "type": "int32",
                      "id": 1
                    },
                    "offset": {
                      "type": "google.protobuf.Duration",
                      "id": 2
                    },
                    "duration": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "text": {
                      "type": "string",
                      "id": 4
                    }
                  }
                },
                "GetTranscriptionRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Transcription"
                      }
                    },
                    "view": {
                      "type": "TranscriptionView",
                      "id": 2
                    }
                  }
                },
                "ListTranscriptionsRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "voice.api.enfonica.com/Transcription"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3
                    },
                    "view": {
                      "type": "TranscriptionView",
                      "id": 4
                    }
                  }
                },
                "ListTranscriptionsResponse": {
                  "fields": {
                    "transcriptions": {
                      "rule": "repeated",
                      "type": "Transcription",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "DeleteTranscriptionRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "voice.api.enfonica.com/Transcription"
                      }
                    }
                  }
                },
                "TranscriptionView": {
                  "values": {
                    "TRANSCRIPTION_VIEW_UNSPECIFIED": 0,
                    "TRANSCRIPTION_VIEW_BASIC": 1,
                    "TRANSCRIPTION_VIEW_FULL": 2
                  }
                }
              }
            }
          }
        }
      }
    },
    "google": {
      "nested": {
        "protobuf": {
          "options": {
            "go_package": "google.golang.org/protobuf/types/descriptorpb",
            "java_package": "com.google.protobuf",
            "java_outer_classname": "DescriptorProtos",
            "csharp_namespace": "Google.Protobuf.Reflection",
            "objc_class_prefix": "GPB",
            "cc_enable_arenas": true,
            "optimize_for": "SPEED"
          },
          "nested": {
            "Timestamp": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "FieldMask": {
              "fields": {
                "paths": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                }
              }
            },
            "Empty": {
              "fields": {}
            },
            "FileDescriptorSet": {
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "FileDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "publicDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10,
                  "options": {
                    "packed": false
                  }
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11,
                  "options": {
                    "packed": false
                  }
                },
                "messageType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "sourceCodeInfo": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                }
              }
            },
            "DescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nestedType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extensionRange": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneofDecl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    },
                    "options": {
                      "type": "ExtensionRangeOptions",
                      "id": 3
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "ExtensionRangeOptions": {
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "FieldDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "typeName": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "defaultValue": {
                  "type": "string",
                  "id": 7
                },
                "oneofIndex": {
                  "type": "int32",
                  "id": 9
                },
                "jsonName": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                },
                "proto3Optional": {
                  "type": "bool",
                  "id": 17
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REQUIRED": 2,
                    "LABEL_REPEATED": 3
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "EnumReservedRange",
                  "id": 4
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "inputType": {
                  "type": "string",
                  "id": 2
                },
                "outputType": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "clientStreaming": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "serverStreaming": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "default": false
                  }
                }
              }
            },
            "FileOptions": {
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "javaGenerateEqualsAndHash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "javaStringCheckUtf8": {
                  "type": "bool",
                  "id": 27,
                  "options": {
                    "default": false
                  }
                },
                "optimizeFor": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "goPackage": {
                  "type": "string",
                  "id": 11
                },
                "ccGenericServices": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "javaGenericServices": {
                  "type": "bool",
                  "id": 17,
                  "options": {
                    "default": false
                  }
                },
                "pyGenericServices": {
                  "type": "bool",
                  "id": 18,
                  "options": {
                    "default": false
                  }
                },
                "phpGenericServices": {
                  "type": "bool",
                  "id": 42,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23,
                  "options": {
                    "default": false
                  }
                },
                "ccEnableArenas": {
                  "type": "bool",
                  "id": 31,
                  "options": {
                    "default": true
                  }
                },
                "objcClassPrefix": {
                  "type": "string",
                  "id": 36
                },
                "csharpNamespace": {
                  "type": "string",
                  "id": 37
                },
                "swiftPrefix": {
                  "type": "string",
                  "id": 39
                },
                "phpClassPrefix": {
                  "type": "string",
                  "id": 40
                },
                "phpNamespace": {
                  "type": "string",
                  "id": 41
                },
                "phpMetadataNamespace": {
                  "type": "string",
                  "id": 44
                },
                "rubyPackage": {
                  "type": "string",
                  "id": 45
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "fields": {
                "messageSetWireFormat": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "noStandardDescriptorAccessor": {
                  "type": "bool",
                  "id": 2,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "mapEntry": {
                  "type": "bool",
                  "id": 7
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "unverifiedLazy": {
                  "type": "bool",
                  "id": 15,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "weak": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                }
              }
            },
            "OneofOptions": {
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "fields": {
                "allowAlias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "idempotencyLevel": {
                  "type": "IdempotencyLevel",
                  "id": 34,
                  "options": {
                    "default": "IDEMPOTENCY_UNKNOWN"
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifierValue": {
                  "type": "string",
                  "id": 3
                },
                "positiveIntValue": {
                  "type": "uint64",
                  "id": 4
                },
                "negativeIntValue": {
                  "type": "int64",
                  "id": 5
                },
                "doubleValue": {
                  "type": "double",
                  "id": 6
                },
                "stringValue": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregateValue": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "namePart": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "isExtension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "SourceCodeInfo": {
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "sourceFile": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    }
                  }
                }
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Any": {
              "fields": {
                "type_url": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "type": "bytes",
                  "id": 2
                }
              }
            }
          }
        },
        "api": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations",
            "java_multiple_files": true,
            "java_outer_classname": "ResourceProto",
            "java_package": "com.google.api",
            "objc_class_prefix": "GAPI",
            "cc_enable_arenas": true
          },
          "nested": {
            "http": {
              "type": "HttpRule",
              "id": 72295728,
              "extend": "google.protobuf.MethodOptions"
            },
            "Http": {
              "fields": {
                "rules": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 1
                },
                "fullyDecodeReservedExpansion": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "HttpRule": {
              "oneofs": {
                "pattern": {
                  "oneof": [
                    "get",
                    "put",
                    "post",
                    "delete",
                    "patch",
                    "custom"
                  ]
                }
              },
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "get": {
                  "type": "string",
                  "id": 2
                },
                "put": {
                  "type": "string",
                  "id": 3
                },
                "post": {
                  "type": "string",
                  "id": 4
                },
                "delete": {
                  "type": "string",
                  "id": 5
                },
                "patch": {
                  "type": "string",
                  "id": 6
                },
                "custom": {
                  "type": "CustomHttpPattern",
                  "id": 8
                },
                "body": {
                  "type": "string",
                  "id": 7
                },
                "responseBody": {
                  "type": "string",
                  "id": 12
                },
                "additionalBindings": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 11
                }
              }
            },
            "CustomHttpPattern": {
              "fields": {
                "kind": {
                  "type": "string",
                  "id": 1
                },
                "path": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "methodSignature": {
              "rule": "repeated",
              "type": "string",
              "id": 1051,
              "extend": "google.protobuf.MethodOptions"
            },
            "defaultHost": {
              "type": "string",
              "id": 1049,
              "extend": "google.protobuf.ServiceOptions"
            },
            "oauthScopes": {
              "type": "string",
              "id": 1050,
              "extend": "google.protobuf.ServiceOptions"
            },
            "fieldBehavior": {
              "rule": "repeated",
              "type": "google.api.FieldBehavior",
              "id": 1052,
              "extend": "google.protobuf.FieldOptions"
            },
            "FieldBehavior": {
              "values": {
                "FIELD_BEHAVIOR_UNSPECIFIED": 0,
                "OPTIONAL": 1,
                "REQUIRED": 2,
                "OUTPUT_ONLY": 3,
                "INPUT_ONLY": 4,
                "IMMUTABLE": 5,
                "UNORDERED_LIST": 6,
                "NON_EMPTY_DEFAULT": 7
              }
            },
            "resourceReference": {
              "type": "google.api.ResourceReference",
              "id": 1055,
              "extend": "google.protobuf.FieldOptions"
            },
            "resourceDefinition": {
              "rule": "repeated",
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.FileOptions"
            },
            "resource": {
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.MessageOptions"
            },
            "ResourceDescriptor": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "pattern": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 2
                },
                "nameField": {
                  "type": "string",
                  "id": 3
                },
                "history": {
                  "type": "History",
                  "id": 4
                },
                "plural": {
                  "type": "string",
                  "id": 5
                },
                "singular": {
                  "type": "string",
                  "id": 6
                },
                "style": {
                  "rule": "repeated",
                  "type": "Style",
                  "id": 10
                }
              },
              "nested": {
                "History": {
                  "values": {
                    "HISTORY_UNSPECIFIED": 0,
                    "ORIGINALLY_SINGLE_PATTERN": 1,
                    "FUTURE_MULTI_PATTERN": 2
                  }
                },
                "Style": {
                  "values": {
                    "STYLE_UNSPECIFIED": 0,
                    "DECLARATIVE_FRIENDLY": 1
                  }
                }
              }
            },
            "ResourceReference": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "childType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "type": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng",
            "java_multiple_files": true,
            "java_outer_classname": "LatLngProto",
            "java_package": "com.google.type",
            "objc_class_prefix": "GTP"
          },
          "nested": {
            "Money": {
              "fields": {
                "currencyCode": {
                  "type": "string",
                  "id": 1
                },
                "units": {
                  "type": "int64",
                  "id": 2
                },
                "nanos": {
                  "type": "int32",
                  "id": 3
                }
              }
            },
            "LatLng": {
              "fields": {
                "latitude": {
                  "type": "double",
                  "id": 1
                },
                "longitude": {
                  "type": "double",
                  "id": 2
                }
              }
            }
          }
        },
        "rpc": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/rpc/status;status",
            "java_multiple_files": true,
            "java_outer_classname": "StatusProto",
            "java_package": "com.google.rpc",
            "objc_class_prefix": "RPC"
          },
          "nested": {
            "Status": {
              "fields": {
                "code": {
                  "type": "int32",
                  "id": 1
                },
                "message": {
                  "type": "string",
                  "id": 2
                },
                "details": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        }
      }
    }
  }
}