@alphauspkgs/blue-sdk-ts 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,9 +3,9 @@
3
3
  // @generated from file cost/v1/cost.proto (package blueapi.cost.v1, syntax proto3)
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReadCostAttributesRequestSchema = exports.DeleteCalculationsScheduleRequestSchema = exports.CreateCalculationsScheduleRequestSchema = exports.ListCalculationsSchedulesResponseSchema = exports.ListCalculationsSchedulesRequestSchema = exports.CalculationsScheduleSchema = exports.ListCalculationsHistoryResponseSchema = exports.ListCalculationsHistoryAwsResponseSchema = exports.ListCalculationsHistoryRequestSchema = exports.CalculateCostsRequestSchema = exports.CalculateCostsRequestAwsOptionsSchema = exports.CostItemSchema = exports.ImportCurFilesRequestSchema = exports.DeleteCalculatorCostModifierRequestSchema = exports.CreateCalculatorCostModifierResponseSchema = exports.CreateCalculatorCostModifierRequestSchema = exports.ListCalculatorCostModifiersRequestSchema = exports.CalculatorCostModifierSchema = exports.CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema = exports.CalculatorCostModifierAzureOptions_ModifierSchema = exports.CalculatorCostModifierAzureOptions_QualifierSchema = exports.CalculatorCostModifierAzureOptionsSchema = exports.CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema = exports.CalculatorCostModifierAwsOptions_ModifierSchema = exports.CalculatorCostModifierAwsOptions_QualifierSchema = exports.CalculatorCostModifierAwsOptionsSchema = exports.GetCalculatorConfigResponseSchema = exports.GetCalculatorConfigRequestSchema = exports.ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema = exports.ListCalculatorRunningAccountsResponseSchema = exports.ListCalculatorRunningAccountsRequestSchema = exports.ListTagsRequestSchema = exports.DeleteAccountRequestSchema = exports.UpdateAccountRequestSchema = exports.CreateAccountRequestSchema = exports.CreateAccountRequestGcpOptionsSchema = exports.CreateAccountRequestAwsOptionsSchema = exports.GetAccountRequestSchema = exports.ListAccountsRequestSchema = exports.DeletePayerAccountRequestSchema = exports.CreatePayerAccountRequestSchema = exports.CreatePayerAccountRequestAwsOptionsSchema = exports.ProformaReportsSchema = exports.GetPayerProformaReportsResponseSchema = exports.GetPayerProformaReportsRequestSchema = exports.GetPayerAccountImportHistoryResponseSchema = exports.GetPayerAccountImportHistoryRequestSchema = exports.GetPayerAccountRequestSchema = exports.ListPayerAccountsRequestSchema = exports.file_cost_v1_cost = void 0;
7
- exports.CreateCostFiltersResponseSchema = exports.CreateCostFiltersRequestSchema = exports.ListCostFiltersSchema = exports.ListCostFiltersResponseSchema = exports.ListCostFiltersRequestSchema = exports.GetBreakevenPointResponseSchema = exports.GetBreakevenPointRequestSchema = exports.GetCoverageOndemandResponseSchema = exports.GetCoverageOndemandRequestSchema = exports.GetCoverageOptionsResponseSchema = exports.GetCoverageOptionsRequestSchema = exports.GetUtilizationResponseSchema = exports.GetUtilizationRequestSchema = exports.GetExportRISPResponseSchema = exports.GetExportRISPRequestSchema = exports.GetCostReductionResponseSchema = exports.GetCostReductionRequestSchema = exports.GetRecommendationsResponseSchema = exports.GetRecommendationsRequestSchema = exports.GetRecommendationsRequestAwsOptionsSchema = exports.DeleteAccountBudgetRequestSchema = exports.UpdateAccountBudgetRequestSchema = exports.CreateAccountBudgetResponseSchema = exports.CreateAccountBudgetRequestSchema = exports.GetAccountBudgetResponseSchema = exports.GetAccountBudgetRequestSchema = exports.GetMonthToDateCostForecastResponseSchema = exports.GetMonthToDateCostForecastRequestSchema = exports.GetMonthOnMonthCostForecastResponseSchema = exports.GetMonthOnMonthCostForecastRequestSchema = exports.GetMonthlyCostForecastResponseSchema = exports.GetMonthlyCostForecastRequestSchema = exports.GetForecastsResponseSchema = exports.GetForecastsRequestSchema = exports.ReadNonTagCostsRequestSchema = exports.ReadTagCostsRequestSchema = exports.ReadTagCostsRequestAwsOptions_TagFiltersSchema = exports.ReadTagCostsRequestAwsOptionsSchema = exports.ReadAdjustmentsRequestSchema = exports.ReadAdjustmentsRequestAwsOptionsSchema = exports.ReadCostsRequestSchema = exports.ReadCostsRequestAwsOptions_TagFiltersSchema = exports.ReadCostsRequestAwsOptionsSchema = exports.ReadCostsRequestAwsOptionsFiltersSchema = exports.CostAttributeSchema = exports.GetCostAttributesResponseSchema = exports.GetCostAttributesRequestSchema = exports.CostAttributeItemSchema = exports.ReadCostAttributesRequest_AzureOptionsSchema = exports.ReadCostAttributesRequest_AwsOptionsSchema = void 0;
8
- exports.Cost = exports.ListCalculationPrerequisitesResponseSchema = exports.CalculationPrerequisiteSchema = exports.ListCalculationPrerequisitesRequestSchema = exports.UpdatePayerAccountRequestSchema = exports.RegisterPayerAccountRequestSchema = exports.ReadAccountOriginalResourcesRequestSchema = exports.ReadInvoiceGroupCostsRequestSchema = exports.ReadInvoiceCostsRequestSchema = exports.ReadInvoiceOverviewsRequestSchema = exports.PeriodRange_UnitSchema = exports.PeriodRange_Unit = exports.PeriodRangeSchema = exports.ReadInvoiceIdsResponseSchema = exports.ReadInvoiceIdsRequestSchema = exports.CheckAccountsResponseSchema = exports.CheckAccountsRequestSchema = exports.DeleteBudgetAlertsRequestSchema = exports.UpdateBudgetAlertsRequestSchema = exports.CreateBudgetAlertsRequestSchema = exports.GetBudgetAlertsRequestSchema = exports.ReadBudgetAlertsRequestSchema = exports.BudgetAlertsSchema = exports.ReadCostsRequestAzureOptionsSchema = exports.DeleteAccountBudgetAlertsRequestSchema = exports.UpdateAccountBudgetAlertsRequestSchema = exports.CreateAccountBudgetAlertsRequestSchema = exports.GetAccountBudgetAlertsRequestSchema = exports.ReadCostsRequestGcpOptionsFiltersSchema = exports.ReadCostsRequestGcpOptionsSchema = exports.ExportCostFiltersFileResponseSchema = exports.ExportCostFiltersFileRequestSchema = exports.DeleteCostFiltersRequestSchema = exports.UpdateCostFiltersResponseSchema = exports.UpdateCostFiltersRequestSchema = void 0;
6
+ exports.DeleteCalculationsScheduleRequestSchema = exports.CreateCalculationsScheduleRequestSchema = exports.ListCalculationsSchedulesResponseSchema = exports.ListCalculationsSchedulesRequestSchema = exports.CalculationsScheduleSchema = exports.ListCalculationsHistoryResponseSchema = exports.ListCalculationsHistoryAwsResponseSchema = exports.ListCalculationsHistoryRequestSchema = exports.CalculateCostsRequestSchema = exports.CalculateCostsRequestAwsOptionsSchema = exports.CostItemSchema = exports.ImportCurFilesRequestSchema = exports.DeleteCalculatorCostModifierRequestSchema = exports.CreateCalculatorCostModifierResponseSchema = exports.CreateCalculatorCostModifierRequestSchema = exports.ListCalculatorCostModifiersRequestSchema = exports.CalculatorCostModifierSchema = exports.CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema = exports.CalculatorCostModifierAzureOptions_ModifierSchema = exports.CalculatorCostModifierAzureOptions_QualifierSchema = exports.CalculatorCostModifierAzureOptionsSchema = exports.CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema = exports.CalculatorCostModifierAwsOptions_ModifierSchema = exports.CalculatorCostModifierAwsOptions_QualifierSchema = exports.CalculatorCostModifierAwsOptionsSchema = exports.GetCalculatorConfigResponseSchema = exports.GetCalculatorConfigRequestSchema = exports.ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema = exports.ListCalculatorRunningAccountsResponseSchema = exports.ListCalculatorRunningAccountsRequestSchema = exports.ListTagsRequestSchema = exports.DeleteAccountRequestSchema = exports.UpdateAccountRequestSchema = exports.CreateAccountRequestSchema = exports.CreateAccountRequestGcpOptionsSchema = exports.CreateAccountRequestAwsOptionsSchema = exports.GetAccountRequestSchema = exports.ListAccountsRequestSchema = exports.DeletePayerAccountRequestSchema = exports.CreatePayerAccountRequestSchema = exports.CreatePayerAccountRequestAwsOptionsSchema = exports.ProformaReportsSchema = exports.GetPayerProformaReportsResponseSchema = exports.GetPayerProformaReportsRequestSchema = exports.GetPayerAccountImportHistoryResponseSchema = exports.GetPayerAccountImportHistoryRequestSchema = exports.PayerAccountExtendedSchema = exports.GetPayerAccountRequestSchema = exports.ListPayerAccountsRequestSchema = exports.file_cost_v1_cost = void 0;
7
+ exports.CreateCostFiltersRequestSchema = exports.ListCostFiltersSchema = exports.ListCostFiltersResponseSchema = exports.ListCostFiltersRequestSchema = exports.GetBreakevenPointResponseSchema = exports.GetBreakevenPointRequestSchema = exports.GetCoverageOndemandResponseSchema = exports.GetCoverageOndemandRequestSchema = exports.GetCoverageOptionsResponseSchema = exports.GetCoverageOptionsRequestSchema = exports.GetUtilizationResponseSchema = exports.GetUtilizationRequestSchema = exports.GetExportRISPResponseSchema = exports.GetExportRISPRequestSchema = exports.GetCostReductionResponseSchema = exports.GetCostReductionRequestSchema = exports.GetRecommendationsResponseSchema = exports.GetRecommendationsRequestSchema = exports.GetRecommendationsRequestAwsOptionsSchema = exports.DeleteAccountBudgetRequestSchema = exports.UpdateAccountBudgetRequestSchema = exports.CreateAccountBudgetResponseSchema = exports.CreateAccountBudgetRequestSchema = exports.GetAccountBudgetResponseSchema = exports.GetAccountBudgetRequestSchema = exports.GetMonthToDateCostForecastResponseSchema = exports.GetMonthToDateCostForecastRequestSchema = exports.GetMonthOnMonthCostForecastResponseSchema = exports.GetMonthOnMonthCostForecastRequestSchema = exports.GetMonthlyCostForecastResponseSchema = exports.GetMonthlyCostForecastRequestSchema = exports.GetForecastsResponseSchema = exports.GetForecastsRequestSchema = exports.ReadNonTagCostsRequestSchema = exports.ReadTagCostsRequestSchema = exports.ReadTagCostsRequestAwsOptions_TagFiltersSchema = exports.ReadTagCostsRequestAwsOptionsSchema = exports.ReadAdjustmentsRequestSchema = exports.ReadAdjustmentsRequestAwsOptionsSchema = exports.ReadCostsRequestSchema = exports.ReadCostsRequestAwsOptions_TagFiltersSchema = exports.ReadCostsRequestAwsOptionsSchema = exports.ReadCostsRequestAwsOptionsFiltersSchema = exports.CostAttributeSchema = exports.GetCostAttributesResponseSchema = exports.GetCostAttributesRequestSchema = exports.CostAttributeItemSchema = exports.ReadCostAttributesRequest_AzureOptionsSchema = exports.ReadCostAttributesRequest_AwsOptionsSchema = exports.ReadCostAttributesRequestSchema = void 0;
8
+ exports.Cost = exports.ListCalculationPrerequisitesResponseSchema = exports.CalculationPrerequisiteSchema = exports.ListCalculationPrerequisitesRequestSchema = exports.UpdatePayerAccountRequestSchema = exports.RegisterPayerAccountRequestSchema = exports.ReadAccountOriginalResourcesRequestSchema = exports.ReadInvoiceGroupCostsRequestSchema = exports.ReadInvoiceCostsRequestSchema = exports.ReadInvoiceOverviewsRequestSchema = exports.PeriodRange_UnitSchema = exports.PeriodRange_Unit = exports.PeriodRangeSchema = exports.ReadInvoiceIdsResponseSchema = exports.ReadInvoiceIdsRequestSchema = exports.CheckAccountsResponseSchema = exports.CheckAccountsRequestSchema = exports.DeleteBudgetAlertsRequestSchema = exports.UpdateBudgetAlertsRequestSchema = exports.CreateBudgetAlertsRequestSchema = exports.GetBudgetAlertsRequestSchema = exports.ReadBudgetAlertsRequestSchema = exports.BudgetAlertsSchema = exports.ReadCostsRequestAzureOptionsSchema = exports.DeleteAccountBudgetAlertsRequestSchema = exports.UpdateAccountBudgetAlertsRequestSchema = exports.CreateAccountBudgetAlertsRequestSchema = exports.GetAccountBudgetAlertsRequestSchema = exports.ReadCostsRequestGcpOptionsFiltersSchema = exports.ReadCostsRequestGcpOptionsSchema = exports.ExportCostFiltersFileResponseSchema = exports.ExportCostFiltersFileRequestSchema = exports.DeleteCostFiltersRequestSchema = exports.UpdateCostFiltersResponseSchema = exports.UpdateCostFiltersRequestSchema = exports.CreateCostFiltersResponseSchema = void 0;
9
9
  const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
10
10
  const account_pb_1 = require("../../api/account_pb");
11
11
  const coverage_pb_1 = require("../../api/coverage_pb");
@@ -31,7 +31,7 @@ const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations
31
31
  /**
32
32
  * Describes the file cost/v1/cost.proto.
33
33
  */
34
- exports.file_cost_v1_cost = (0, codegenv2_1.fileDesc)("ChJjb3N0L3YxL2Nvc3QucHJvdG8SD2JsdWVhcGkuY29zdC52MSJaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjQKFkdldFBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIlAKI0dldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRINCgVtb250aBgDIAEoCSJVCiRHZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5UmVzcG9uc2USCgoCaWQYASABKAkSDQoFbW9udGgYAiABKAkSEgoKdGltZXN0YW1wcxgDIAMoCSI8Ch5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIlQKH0dldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVzcG9uc2USMQoHcmVwb3J0cxgBIAMoCzIgLmJsdWVhcGkuY29zdC52MS5Qcm9mb3JtYVJlcG9ydHMimwEKD1Byb2Zvcm1hUmVwb3J0cxIKCgJpZBgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAMgASgJEhIKCmJ1Y2tldE5hbWUYBCABKAkSDgoGcHJlZml4GAUgASgJEhIKCnJlcG9ydE5hbWUYBiABKAkSDwoHcm9sZUFybhgHIAEoCSKIAQojQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgpidWNrZXROYW1lGAMgASgJEg4KBnByZWZpeBgEIAEoCRISCgpyZXBvcnROYW1lGAUgASgJEg8KB3JvbGVBcm4YBiABKAkidQoZQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSSAoKYXdzT3B0aW9ucxgCIAEoCzI0LmJsdWVhcGkuY29zdC52MS5DcmVhdGVQYXllckFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucyI3ChlEZWxldGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCSJmChNMaXN0QWNjb3VudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIl8KEUdldEFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIuCgpmaWVsZF9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayI9Ch5DcmVhdGVBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSGwoTbWFuYWdlbWVudEFjY291bnRJZBgBIAEoCSJaCh5DcmVhdGVBY2NvdW50UmVxdWVzdEdjcE9wdGlvbnMSGwoTbWFuYWdlbWVudEFjY291bnRJZBgBIAEoCRIbChNtYW5hZ2VtZW50QmlsbGluZ0lkGAIgASgJItoBChRDcmVhdGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZwYXJlbnQYBCABKAkSQwoKYXdzT3B0aW9ucxgFIAEoCzIvLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdEF3c09wdGlvbnMSQwoKZ2NwT3B0aW9ucxgGIAEoCzIvLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdEdjcE9wdGlvbnMiQAoUVXBkYXRlQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkiMgoURGVsZXRlQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJImIKD0xpc3RUYWdzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRIuCgpmaWVsZF9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJFCiRMaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJItIBCiVMaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlElUKA2F3cxgBIAEoCzJILmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlLkF3c1J1bm5pbmdBY2NvdW50GlIKEUF3c1J1bm5pbmdBY2NvdW50Eg0KBW1vbnRoGAEgASgJEg8KB2FjY291bnQYAiABKAkSDAoEZGF0ZRgDIAEoCRIPCgdzdGFydGVkGAQgASgJIiwKGkdldENhbGN1bGF0b3JDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJNChtHZXRDYWxjdWxhdG9yQ29uZmlnUmVzcG9uc2USLgoDYXdzGAEgASgLMiEuYmx1ZWFwaS5hcGkuYXdzLkNhbGN1bGF0b3JDb25maWciqQYKIENhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEhEKCWFjY291bnRJZBgBIAEoCRIPCgdncm91cElkGAIgASgJEg8KB3BheWVySWQYAyABKAkSTwoKcXVhbGlmaWVycxgEIAMoCzI7LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5RdWFsaWZpZXISTAoIbW9kaWZpZXIYBSABKAsyOi5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXISDQoFYWZ0ZXIYBiABKAkSFAoMY3JlYXRlTmV3Um93GAcgASgIGooBCglRdWFsaWZpZXISUQoDYW5kGAEgAygLMkQuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLlF1YWxpZmllci5BbmRFbnRyeRoqCghBbmRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGv4CCghNb2RpZmllchIPCgdmb3JtdWxhGAEgASgJEmsKE2Rlc2NyaXB0aW9uTW9kaWZpZXIYAiABKAsyTi5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXIuRGVzY3JpcHRpb25Nb2RpZmllchrzAQoTRGVzY3JpcHRpb25Nb2RpZmllchIOCgZwcmVmaXgYASABKAkSDgoGc3VmZml4GAIgASgJEg8KB3JlcGxhY2UYAyABKAkSdgoMcmVwbGFjZU1hdGNoGAQgAygLMmAuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLk1vZGlmaWVyLkRlc2NyaXB0aW9uTW9kaWZpZXIuUmVwbGFjZU1hdGNoRW50cnkaMwoRUmVwbGFjZU1hdGNoRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKfBQoiQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucxIPCgdncm91cElkGAEgASgJEg8KB3BheWVySWQYAiABKAkSEgoKY3VzdG9tZXJJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCRIVCg1lbnRpdGxlbWVudElkGAUgASgJElEKCnF1YWxpZmllcnMYBiADKAsyPS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5RdWFsaWZpZXISTgoIbW9kaWZpZXIYByABKAsyPC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5Nb2RpZmllchINCgVhZnRlchgIIAEoCRqMAQoJUXVhbGlmaWVyElMKA2FuZBgBIAMoCzJGLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLlF1YWxpZmllci5BbmRFbnRyeRoqCghBbmRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGtIBCghNb2RpZmllchIPCgdmb3JtdWxhGAEgASgJEm0KE2Rlc2NyaXB0aW9uTW9kaWZpZXIYAiABKAsyUC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucy5Nb2RpZmllci5EZXNjcmlwdGlvbk1vZGlmaWVyGkYKE0Rlc2NyaXB0aW9uTW9kaWZpZXISDgoGcHJlZml4GAEgASgJEg4KBnN1ZmZpeBgCIAEoCRIPCgdyZXBsYWNlGAMgASgJIt4BChZDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEgoKAmlkGAEgASgJEhIKCmNyZWF0ZVRpbWUYAiABKAkSEgoKdXBkYXRlVGltZRgDIAEoCRJFCgphd3NPcHRpb25zGAQgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEkkKDGF6dXJlT3B0aW9ucxgFIAEoCzIzLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zIjQKIkxpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIscBCiNDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSRQoKYXdzT3B0aW9ucxgCIAEoCzIxLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucxJJCgxhenVyZU9wdGlvbnMYAyABKAsyMy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF6dXJlT3B0aW9ucyKUAQokQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlc3BvbnNlEjQKA2F3cxgBIAMoCzInLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjYKBWF6dXJlGAIgAygLMicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXIiQQojRGVsZXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIjYKFUltcG9ydEN1ckZpbGVzUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZmaWx0ZXIYAiABKAkiegoIQ29zdEl0ZW0SIgoDYXdzGAEgASgLMhUuYmx1ZWFwaS5hcGkuYXdzLkNvc3QSIgoDZ2NwGAIgASgLMhUuYmx1ZWFwaS5hcGkuZ2NwLkNvc3QSJgoFYXp1cmUYAyABKAsyFy5ibHVlYXBpLmFwaS5henVyZS5Db3N0IlgKH0NhbGN1bGF0ZUNvc3RzUmVxdWVzdEF3c09wdGlvbnMSDQoFZm9yY2UYASABKAgSFAoMYWNjb3VudHNPbmx5GAIgASgIEhAKCHRhZ3NPbmx5GAMgASgIIo0BChVDYWxjdWxhdGVDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSDQoFbW9udGgYAyABKAkSRAoKYXdzT3B0aW9ucxgEIAEoCzIwLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGVDb3N0c1JlcXVlc3RBd3NPcHRpb25zIlMKHkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEYXNPZhgCIAEoCRITCgtleGNsdWRlRG9uZRgDIAEoCCJLCiJMaXN0Q2FsY3VsYXRpb25zSGlzdG9yeUF3c1Jlc3BvbnNlEiUKCm9wZXJhdGlvbnMYASADKAsyES5wcm90b3MuT3BlcmF0aW9uImMKH0xpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVzcG9uc2USQAoDYXdzGAEgASgLMjMuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5QXdzUmVzcG9uc2UivQEKFENhbGN1bGF0aW9uc1NjaGVkdWxlEgoKAmlkGAEgASgJEhAKCHNjaGVkdWxlGAIgASgJEhUKDXNjaGVkdWxlTWFjcm8YCCABKAkSEwoLdGFyZ2V0TW9udGgYCSABKAkSDwoHbmV4dFJ1bhgDIAEoCRIbChNub3RpZmljYXRpb25DaGFubmVsGAQgASgJEg0KBWZvcmNlGAUgASgIEg4KBmRyeVJ1bhgGIAEoCBIOCgZzdGF0dXMYByABKAkiMgogTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIl0KIUxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXNwb25zZRI4CglzY2hlZHVsZXMYASADKAsyJS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRpb25zU2NoZWR1bGUirQEKIUNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIc2NoZWR1bGUYAiABKAkSFQoNc2NoZWR1bGVNYWNybxgGIAEoCRITCgt0YXJnZXRNb250aBgHIAEoCRIbChNub3RpZmljYXRpb25DaGFubmVsGAMgASgJEg0KBWZvcmNlGAQgASgIEg4KBmRyeVJ1bhgFIAEoCCI/CiFEZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIoIDChlSZWFkQ29zdEF0dHJpYnV0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRIRCglzdGFydFRpbWUYBCABKAkSDwoHZW5kVGltZRgFIAEoCRJJCgphd3NPcHRpb25zGAYgASgLMjUuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QuQXdzT3B0aW9ucxJNCgxhenVyZU9wdGlvbnMYByABKAsyNy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdC5BenVyZU9wdGlvbnMaIAoKQXdzT3B0aW9ucxISCgpkaW1lbnNpb25zGAEgASgJGlEKDEF6dXJlT3B0aW9ucxISCgpjdXN0b21lcklkGAEgASgJEhYKDnN1YnNjcmlwdGlvbklkGAIgASgJEhUKDWVudGl0bGVtZW50SWQYAyABKAkicQoRQ29zdEF0dHJpYnV0ZUl0ZW0SKwoDYXdzGAEgASgLMh4uYmx1ZWFwaS5hcGkuYXdzLkNvc3RBdHRyaWJ1dGUSLwoFYXp1cmUYAiABKAsyIC5ibHVlYXBpLmFwaS5henVyZS5Db3N0QXR0cmlidXRlIm8KGEdldENvc3RBdHRyaWJ1dGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSDwoHZ3JvdXBJZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSEAoIY2F0ZWdvcnkYBSABKAkiSgoZR2V0Q29zdEF0dHJpYnV0ZXNSZXNwb25zZRItCgVpdGVtcxgBIAMoCzIeLmJsdWVhcGkuY29zdC52MS5Db3N0QXR0cmlidXRlIj8KDUNvc3RBdHRyaWJ1dGUSDgoGdmVuZG9yGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEgwKBGRhdGEYAyADKAkirgEKIVJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJWCgphbmRGaWx0ZXJzGAEgAygLMkIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQQKGlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIVCg1ncm91cEFjY291bnRzGAggASgIEhUKDWdyb3VwQnlUYWdLZXkYDCABKAkSQwoHZmlsdGVycxgDIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9uc0ZpbHRlcnMSSgoKdGFnRmlsdGVycxgJIAMoCzI2LmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzEhMKC2luY2x1ZGVUYWdzGAQgASgIEh0KFWluY2x1ZGVDb3N0Q2F0ZWdvcmllcxgFIAEoCBISCgp0b0N1cnJlbmN5GAYgASgJEhMKC2ZvcmNlTGF0ZXN0GAcgASgIEg8KB25vQ2FjaGUYCiABKAgSGgoSaW5jbHVkZUFkanVzdG1lbnRzGAsgASgIGpsBCgpUYWdGaWx0ZXJzEloKCmFuZEZpbHRlcnMYASADKAsyRi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMuVGFnRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQIKEFJlYWRDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMSPwoKZ2NwT3B0aW9ucxgHIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9ucxJDCgxhenVyZU9wdGlvbnMYCCABKAsyLS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF6dXJlT3B0aW9ucyI2CiBSZWFkQWRqdXN0bWVudHNSZXF1ZXN0QXdzT3B0aW9ucxISCgp0b0N1cnJlbmN5GAEgASgJIrcBChZSZWFkQWRqdXN0bWVudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRIRCglzdGFydFRpbWUYBCABKAkSDwoHZW5kVGltZRgFIAEoCRJFCgphd3NPcHRpb25zGAYgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBZGp1c3RtZW50c1JlcXVlc3RBd3NPcHRpb25zIo8ECh1SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxINCgV0YWdJZBgBIAEoCRIWCg5ncm91cEJ5Q29sdW1ucxgCIAEoCRIUCgxncm91cEJ5TW9udGgYAyABKAgSQwoHZmlsdGVycxgEIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9uc0ZpbHRlcnMSTQoKdGFnRmlsdGVycxgFIAMoCzI5LmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzEhMKC2luY2x1ZGVUYWdzGAYgASgIEh0KFWluY2x1ZGVDb3N0Q2F0ZWdvcmllcxgHIAEoCBISCgp0b0N1cnJlbmN5GAggASgJEhMKC2ZvcmNlTGF0ZXN0GAkgASgIEg8KB25vQ2FjaGUYCiABKAgSDgoGdGFnSWRzGAsgAygJGp4BCgpUYWdGaWx0ZXJzEl0KCmFuZEZpbHRlcnMYASADKAsySS5ibHVlYXBpLmNvc3QudjEuUmVhZFRhZ0Nvc3RzUmVxdWVzdEF3c09wdGlvbnMuVGFnRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEivwEKE1JlYWRUYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgSQgoKYXdzT3B0aW9ucxgGIAEoCzIuLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyJ+ChZSZWFkTm9uVGFnQ29zdHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIRCglzdGFydFRpbWUYAyABKAkSDwoHZW5kVGltZRgEIAEoCRIVCg1ncm91cEJ5TW9udGhzGAUgASgIIoQBChNHZXRGb3JlY2FzdHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRIRCglmcmVxdWVuY3kYAyABKAkSDQoFbGV2ZWwYBCABKAkSEAoIZnJvbURhdGUYBSABKAkSDgoGdG9EYXRlGAYgASgJIkcKFEdldEZvcmVjYXN0c1Jlc3BvbnNlEi8KBGRhdGEYASABKAsyIS5ibHVlYXBpLmFwaS5CaWxsaW5nR3JvdXBGb3JlY2FzdCJsCh1HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJIm8KHkdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIuCgRkYXRhGAIgAygLMiAuYmx1ZWFwaS5hcGkuTW9udGhseUNvc3RGb3JlY2FzdBIRCgl0aW1lc3RhbXAYAyABKAkiXQoiR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSJ5CiNHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIzCgRkYXRhGAIgAygLMiUuYmx1ZWFwaS5hcGkuTW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJcCiFHZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEgwKBGRhdGUYBCABKAkihwEKIkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2USCgoCaWQYASABKAkSDgoGYnVkZ2V0GAIgASgBEjIKBGRhdGEYAyADKAsyJC5ibHVlYXBpLmFwaS5Nb250aFRvRGF0ZUNvc3RGb3JlY2FzdBIRCgl0aW1lc3RhbXAYBCABKAkiUgoXR2V0QWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEgwKBHllYXIYBCABKAkiPQoYR2V0QWNjb3VudEJ1ZGdldFJlc3BvbnNlEiEKBGRhdGEYASABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiagoaQ3JlYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBWxldmVsGAIgASgJEgoKAmlkGAMgASgJEiEKBGRhdGEYBCABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiLwobQ3JlYXRlQWNjb3VudEJ1ZGdldFJlc3BvbnNlEhAKCGJ1ZGdldElkGAEgASgJImEKGlVwZGF0ZUFjY291bnRCdWRnZXRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghidWRnZXRJZBgCIAEoCRIhCgRkYXRhGAMgASgLMhMuYmx1ZWFwaS5hcGkuQnVkZ2V0Ij4KGkRlbGV0ZUFjY291bnRCdWRnZXRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghidWRnZXRJZBgCIAEoCSKLAgojR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdEF3c09wdGlvbnMSGgoScmVjb21tZW5kYXRpb25UeXBlGAEgASgJEgwKBHR5cGUYAiABKAkSEgoKcmlTZXJ2aWNlcxgDIAMoCRISCgpzcFNlcnZpY2VzGAQgAygJEh4KFnB1cmNoYXNlRUMyU2F2aW5nc1BsYW4YBSABKAgSGgoSZWMyU3BQcm9kdWN0RmFtaWx5GAYgASgJEgwKBHRlcm0YByABKAkSFQoNb2ZmZXJpbmdDbGFzcxgIIAEoCRIVCg1wYXltZW50T3B0aW9uGAkgASgJEhoKEmNvdmVyYWdlUGVyY2VudGFnZRgKIAEoASKrAQoZR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSEAoIYWNjb3VudHMYAyADKAkSEwoLY29zdEdyb3VwSWQYBCABKAkSSAoKYXdzT3B0aW9ucxgFIAEoCzI0LmJsdWVhcGkuY29zdC52MS5HZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucyJsChpHZXRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI/ChJhd3NSZWNvbW1lbmRhdGlvbnMYAiABKAsyIy5ibHVlYXBpLmFwaS5hd3MuQXdzUmVjb21tZW5kYXRpb25zIoICChdHZXRDb3N0UmVkdWN0aW9uUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSGAoQcmVkdWN0aW9uRGlzcGxheRgDIAEoCRIWCg5pbmNsdWRlRGV0YWlscxgEIAEoCBIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkSDwoHcGF5ZXJJZBgHIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgIIAEoCRIPCgdncm91cElkGAkgASgJEhMKC2Nvc3RHcm91cElkGAogASgJEhAKCGFjY291bnRzGAsgAygJEhAKCHNlcnZpY2VzGAwgAygJImgKGEdldENvc3RSZWR1Y3Rpb25SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI9ChFhd3NDb3N0UmVkdWN0aW9ucxgCIAEoCzIiLmJsdWVhcGkuYXBpLmF3cy5Bd3NDb3N0UmVkdWN0aW9ucyJUChRHZXRFeHBvcnRSSVNQUmVxdWVzdBIMCgR0eXBlGAEgASgJEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhYKDmluY2x1ZGVFeHBpcmVkGAMgASgIIi0KFUdldEV4cG9ydFJJU1BSZXNwb25zZRIUCgxkb3dubG9hZExpbmsYASABKAkiuAEKFUdldFV0aWxpemF0aW9uUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJIl4KFkdldFV0aWxpemF0aW9uUmVzcG9uc2USDQoFb3JnSWQYASABKAkSNQoPdXRpbGl6YXRpb25EYXRhGAIgAygLMhwuYmx1ZWFwaS5hcGkuVXRpbGl6YXRpb25EYXRhIvQBChlHZXRDb3ZlcmFnZU9wdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZwZXJpb2QYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCRIQCghhY2NvdW50cxgKIAMoCRIQCghzZXJ2aWNlcxgLIAMoCRIQCghjdXJyZW5jeRgMIAEoCSJaChpHZXRDb3ZlcmFnZU9wdGlvbnNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRItCgtvcHRpb25zRGF0YRgCIAMoCzIYLmJsdWVhcGkuYXBpLk9wdGlvbnNEYXRhIuMBChpHZXRDb3ZlcmFnZU9uZGVtYW5kUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGcGVyaW9kGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkSEAoIYWNjb3VudHMYCiADKAkSEAoIc2VydmljZXMYCyADKAkiXQobR2V0Q292ZXJhZ2VPbmRlbWFuZFJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEi8KDG9uZGVtYW5kRGF0YRgCIAMoCzIZLmJsdWVhcGkuYXBpLk9uZGVtYW5kRGF0YSJUChhHZXRCcmVha2V2ZW5Qb2ludFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSCwoDYXJuGAQgASgJImcKGUdldEJyZWFrZXZlblBvaW50UmVzcG9uc2USDQoFb3JnSWQYASABKAkSOwoQYXdzQ29zdEJyZWFrZXZlbhgCIAEoCzIhLmJsdWVhcGkuYXBpLmF3cy5Bd3NDb3N0QnJlYWtldmVuIigKFkxpc3RDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIlAKF0xpc3RDb3N0RmlsdGVyc1Jlc3BvbnNlEjUKC2Nvc3RGaWx0ZXJzGAEgAygLMiAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVycyKsAQoPTGlzdENvc3RGaWx0ZXJzEhAKCGZpbHRlcklkGAEgASgJEhIKCmZpbHRlck5hbWUYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2dyb3VwSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiowEKGENyZWF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEgoKZmlsdGVyTmFtZRgCIAEoCRIPCgdncm91cElkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRI/Cgphd3NPcHRpb25zGAUgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zIi0KGUNyZWF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2USEAoIZmlsdGVySWQYASABKAkitQEKGFVwZGF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIZmlsdGVySWQYAiABKAkSEgoKZmlsdGVyTmFtZRgDIAEoCRIPCgdncm91cElkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRI/Cgphd3NPcHRpb25zGAYgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zIi0KGVVwZGF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2USEAoIZmlsdGVySWQYASABKAkiPAoYRGVsZXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCSKnAQocRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIZmlsdGVySWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFAoMZ3JvdXBCeU1vbnRoGAUgASgIEhYKDmdyb3VwQnlDb2x1bW5zGAYgASgJEhMKC2luY2x1ZGVUYWdzGAcgASgIIiwKHUV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlEgsKA3VybBgBIAEoCSKSAgoaUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYAyABKAgSQwoHZmlsdGVycxgEIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9uc0ZpbHRlcnMSGwoTaW5jbHVkZUludm9pY2VNb250aBgGIAEoCBIWCg5pbmNsdWRlQ3JlZGl0cxgHIAEoCBIQCghyb3VuZGluZxgIIAEoCBIPCgdub0NhY2hlGAUgASgIEhIKCnRvQ3VycmVuY3kYCSABKAkirgEKIVJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycxJWCgphbmRGaWx0ZXJzGAEgAygLMkIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwodR2V0QWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJInIKIENyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIyCgtidWRnZXRBbGVydBgDIAEoCzIdLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQicgogVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEjIKC2J1ZGdldEFsZXJ0GAMgASgLMh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCI+CiBEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkicQocUmVhZENvc3RzUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIUCgxncm91cEJ5TW9udGgYAiABKAgSDwoHbm9DYWNoZRgDIAEoCBISCgp0b0N1cnJlbmN5GAQgASgJIqgDCgxCdWRnZXRBbGVydHMSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEiYKCGFjY291bnRzGAMgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudBJACgxub3RpZmljYXRpb24YBCABKAsyKi5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbkRldGFpbBIsCgVkYWlseRgFIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAcgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAYgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgIIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAkgASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCJJChdSZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayIkChZHZXRCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJIo0DChlDcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghhY2NvdW50cxgCIAMoCRI6Cgxub3RpZmljYXRpb24YAyABKAsyJC5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbhIsCgVkYWlseRgEIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAYgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAUgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgHIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAggASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCKZAwoZVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIYWNjb3VudHMYAyADKAkSOgoMbm90aWZpY2F0aW9uGAQgASgLMiQuYmx1ZWFwaS5hcGkuQnVkZ2V0QWxlcnROb3RpZmljYXRpb24SLAoFZGFpbHkYBSABKAsyHS5ibHVlYXBpLmFwaS5EYWlseUJ1ZGdldEFsZXJ0EjwKCWRhaWx5UmF0ZRgHIAEoCzIpLmJsdWVhcGkuYXBpLkRhaWx5UmF0ZUluY3JlYXNlQnVkZ2V0QWxlcnQSMAoHbW9udGhseRgGIAEoCzIfLmJsdWVhcGkuYXBpLk1vbnRobHlCdWRnZXRBbGVydBI6CgxjdXN0b21QZXJpb2QYCCABKAsyJC5ibHVlYXBpLmFwaS5DdXN0b21QZXJpb2RCdWRnZXRBbGVydBI4CgtjdXN0b21Nb250aBgJIAEoCzIjLmJsdWVhcGkuYXBpLkN1c3RvbU1vbnRoQnVkZ2V0QWxlcnQiJwoZRGVsZXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCSI6ChRDaGVja0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEgoKYWNjb3VudElkcxgCIAMoCSKKAQoVQ2hlY2tBY2NvdW50c1Jlc3BvbnNlEkIKBmV4aXN0cxgBIAMoCzIyLmJsdWVhcGkuY29zdC52MS5DaGVja0FjY291bnRzUmVzcG9uc2UuRXhpc3RzRW50cnkaLQoLRXhpc3RzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASI2ChVSZWFkSW52b2ljZUlkc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIiQKFlJlYWRJbnZvaWNlSWRzUmVzcG9uc2USCgoCaWQYASABKAkisAEKC1BlcmlvZFJhbmdlEi8KBHVuaXQYASABKA4yIS5ibHVlYXBpLmNvc3QudjEuUGVyaW9kUmFuZ2UuVW5pdBIMCgR5ZWFyGAIgASgNEhAKCHN0YXJ0aW5nGAMgASgNEhAKCGR1cmF0aW9uGAQgASgNIj4KBFVuaXQSFAoQVU5JVF9VTlNQRUNJRklFRBAAEgkKBU1PTlRIEAESCwoHUVVBUlRFUhACEggKBFlFQVIQAyKgAQobUmVhZEludm9pY2VPdmVydmlld3NSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhYKDnVzZVBlcmlvZFJhbmdlGAQgASgIEjEKC3BlcmlvZFJhbmdlGAUgASgLMhwuYmx1ZWFwaS5jb3N0LnYxLlBlcmlvZFJhbmdlEhIKCnRvQ3VycmVuY3kYAyABKAkiUQoXUmVhZEludm9pY2VDb3N0c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSEgoKdG9DdXJyZW5jeRgDIAEoCSJlChxSZWFkSW52b2ljZUdyb3VwQ29zdHNSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhIKCnRvQ3VycmVuY3kYAyABKAkSDQoFbGltaXQYBCABKAUiNQojUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJInMKG1JlZ2lzdGVyUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjdXJUeXBlGAQgASgJEhkKEWNhbGN1bGF0ZVRVUHJvZml0GAUgASgIInEKGVVwZGF0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkSDwoHY3VyVHlwZRgEIAEoCRIZChFjYWxjdWxhdGVUVVByb2ZpdBgFIAEoCCJECiNMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkilQEKF0NhbGN1bGF0aW9uUHJlcmVxdWlzaXRlEhIKCmludm9pY2VfaWQYASABKAkSEAoIcGF5ZXJfaWQYAiABKAkSFQoNZXhjaGFuZ2VfcmF0ZRgDIAEoARIdChV1bmJsZW5kZWRfY29zdF9pbl9jdXIYBCABKAESDAoEbmFtZRgFIAEoCRIQCghjdXJfdHlwZRgGIAEoCSJnCiRMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVzcG9uc2USPwoNcHJlcmVxdWlzaXRlcxgBIAMoCzIoLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvblByZXJlcXVpc2l0ZTL/TQoEQ29zdBJzChFMaXN0UGF5ZXJBY2NvdW50cxIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IhuC0+STAhUSEy92MS97dmVuZG9yfS9wYXllcnMwARJ3Cg9HZXRQYXllckFjY291bnQSJy5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50UmVxdWVzdBoZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllciIggtPkkwIaEhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SvQEKHEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnkSNC5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlc3BvbnNlIi6C0+STAigSJi92MS97dmVuZG9yfS9wYXllcnMve2lkfS9pbXBvcnRoaXN0b3J5MAESpwEKF0dldFBheWVyUHJvZm9ybWFSZXBvcnRzEi8uYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBowLmJsdWVhcGkuY29zdC52MS5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1Jlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9wYXllcnMve2lkfS9wcm9mb3JtYRJ2ChJDcmVhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiHoLT5JMCGDoBKiITL3YxL3t2ZW5kb3J9L3BheWVycxKJAQoUUmVnaXN0ZXJQYXllckFjY291bnQSLC5ibHVlYXBpLmNvc3QudjEuUmVnaXN0ZXJQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoiIC92MS97dmVuZG9yfS9wYXllcnMvYmFzaWNkZXRhaWxzEooBChJVcGRhdGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqOgEqGiUvdjEve3ZlbmRvcn0vcGF5ZXJzL2Jhc2ljZGV0YWlscy97aWR9EnoKEkRlbGV0ZVBheWVyQWNjb3VudBIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9wYXllcnMve2lkfRKVAQoMTGlzdEFjY291bnRzEiQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IkeC0+STAkFaKBImL3YxL3t2ZW5kb3J9L2FjY291bnRzL2dyb3Vwcy97Z3JvdXBJZH0SFS92MS97dmVuZG9yfS9hY2NvdW50czABEmoKCkdldEFjY291bnQSIi5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiKC0+STAhwSGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Em4KDUNyZWF0ZUFjY291bnQSJS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiCC0+STAho6ASoiFS92MS97dmVuZG9yfS9hY2NvdW50cxJzCg1VcGRhdGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIlgtPkkwIfOgEqGhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRJyCg1EZWxldGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwqGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9Ep8BChxSZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzEjQuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBY2NvdW50T3JpZ2luYWxSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5hcGkuQWNjb3VudE9yaWdpbmFsUmVzb3VyY2UiIYLT5JMCGzoBKiIWL3YxL3t2ZW5kb3J9L2FvcnM6cmVhZDABEoUBCghMaXN0VGFncxIgLmJsdWVhcGkuY29zdC52MS5MaXN0VGFnc1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5Db3N0VGFnIj+C0+STAjlaJBIiL3YxL3t2ZW5kb3J9L3RhZ3MvZ3JvdXBzL3tncm91cElkfRIRL3YxL3t2ZW5kb3J9L3RhZ3MwARLBAQodTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHMSNS5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHNSZXF1ZXN0GjYuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvcnVubmluZzpyZWFkMAESmAEKE0dldENhbGN1bGF0b3JDb25maWcSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q2FsY3VsYXRvckNvbmZpZ1Jlc3BvbnNlIiaC0+STAiASHi92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZxKuAQobTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzEjMuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVyc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciIvgtPkkwIpEicvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMwARK/AQocQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllchI0LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBo1LmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzEqIBChxEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjQuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjSC0+STAi4qLC92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kcy97aWR9EmoKDkltcG9ydEN1ckZpbGVzEiYuYmx1ZWFwaS5jb3N0LnYxLkltcG9ydEN1ckZpbGVzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iHYLT5JMCFzoBKiISL3YxL2F3cy9jdXI6aW1wb3J0EnQKDkNhbGN1bGF0ZUNvc3RzEiYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL3t2ZW5kb3J9L2Nvc3RzOmNhbGN1bGF0ZRKnAQoXTGlzdENhbGN1bGF0aW9uc0hpc3RvcnkSLy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0GjAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVzcG9uc2UiKYLT5JMCIxIhL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9oaXN0b3J5Eq8BChlMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzEjEuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXNSZXNwb25zZSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcxKnAQoaQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGUSMi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0aW9uc1NjaGVkdWxlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzEpoBChpEZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZRIyLmJsdWVhcGkuY29zdC52MS5EZWxldGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKiooL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMve2lkfRKGAQoPTGlzdENvc3RGaWx0ZXJzEicuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVyc1JlcXVlc3QaKC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzEo8BChFDcmVhdGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5DcmVhdGVDb3N0RmlsdGVyc1JlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMSmgEKEVVwZGF0ZUNvc3RGaWx0ZXJzEikuYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlIi6C0+STAig6ASoaIy92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9EoMBChFEZWxldGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5EZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJSojL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH0SrQEKFUV4cG9ydENvc3RGaWx0ZXJzRmlsZRItLmJsdWVhcGkuY29zdC52MS5FeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3N0LnYxLkV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlIjWC0+STAi86ASoiKi92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9OmV4cG9ydBKOAQoSUmVhZENvc3RBdHRyaWJ1dGVzEiouYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QaIi5ibHVlYXBpLmNvc3QudjEuQ29zdEF0dHJpYnV0ZUl0ZW0iJoLT5JMCIDoBKiIbL3YxL3t2ZW5kb3J9L2Nvc3RhdHRyczpyZWFkMAESigEKEUdldENvc3RBdHRyaWJ1dGVzEikuYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9jb3N0YXR0cnMSbwoJUmVhZENvc3RzEiEuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iIoLT5JMCHDoBKiIXL3YxL3t2ZW5kb3J9L2Nvc3RzOnJlYWQwARKBAQoPUmVhZEFkanVzdG1lbnRzEicuYmx1ZWFwaS5jb3N0LnYxLlJlYWRBZGp1c3RtZW50c1JlcXVlc3QaGS5ibHVlYXBpLmNvc3QudjEuQ29zdEl0ZW0iKILT5JMCIjoBKiIdL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRzOnJlYWQwARJ4CgxSZWFkVGFnQ29zdHMSJC5ibHVlYXBpLmNvc3QudjEuUmVhZFRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIlgtPkkwIfOgEqIhovdjEve3ZlbmRvcn0vdGFnY29zdHM6cmVhZDABEoEBCg9SZWFkTm9uVGFnQ29zdHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZE5vblRhZ0Nvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vbm9udGFnY29zdHM6cmVhZDABEnsKDEdldEZvcmVjYXN0cxIkLmJsdWVhcGkuY29zdC52MS5HZXRGb3JlY2FzdHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1Jlc3BvbnNlIh6C0+STAhgSFi92MS97dmVuZG9yfS9mb3JlY2FzdHMSrgEKFkdldE1vbnRobHlDb3N0Rm9yZWNhc3QSLi5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlcXVlc3QaLy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlIjOC0+STAi0SKy92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGhseS97bGV2ZWx9L3tpZH0SxAEKG0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdBIzLmJsdWVhcGkuY29zdC52MS5HZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0GjQuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlIjqC0+STAjQSMi92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtb24tbW9udGgve2xldmVsfS97aWR9EsABChpHZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdBIyLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaMy5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZSI5gtPkkwIzEjEvdjEve3ZlbmRvcn0vZm9yZWNhc3RzL21vbnRoLXRvLWRhdGUve2xldmVsfS97aWR9EpEBChBHZXRBY2NvdW50QnVkZ2V0EiguYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXF1ZXN0GikuYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRSZXNwb25zZSIogtPkkwIiEiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKdAQoTQ3JlYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBosLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L2J1ZGdldC97bGV2ZWx9L3tpZH0ShQEKE1VwZGF0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIzoBKhoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EoIBChNEZWxldGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi92MS97dmVuZG9yfS9idWRnZXQve2J1ZGdldElkfRKJAQoWR2V0QWNjb3VudEJ1ZGdldEFsZXJ0cxIuLmJsdWVhcGkuY29zdC52MS5HZXRBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EpIBChlDcmVhdGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIjgtPkkwIdOgEqIhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGVVwZGF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoaGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKIAQoZRGVsZXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5EZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SeQoQUmVhZEJ1ZGdldEFsZXJ0cxIoLmJsdWVhcGkuY29zdC52MS5SZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKiIPL3YxL2FsZXJ0czpyZWFkMAEScgoPR2V0QnVkZ2V0QWxlcnRzEicuYmx1ZWFwaS5jb3N0LnYxLkdldEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmNvc3QudjEuQnVkZ2V0QWxlcnRzIheC0+STAhESDy92MS9hbGVydHMve2lkfRJ2ChJDcmVhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiFYLT5JMCDzoBKiIKL3YxL2FsZXJ0cxJ7ChJVcGRhdGVCdWRnZXRBbGVydHMSKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiGoLT5JMCFDoBKhoPL3YxL2FsZXJ0cy97aWR9EnEKEkRlbGV0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5EZWxldGVCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IheC0+STAhEqDy92MS9hbGVydHMve2lkfRKjAQoSR2V0UmVjb21tZW5kYXRpb25zEiouYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3QaKy5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L3JlY29tbWVuZGF0aW9ucy97b3JnSWR9OnJlYWQSlwEKEEdldENvc3RSZWR1Y3Rpb24SKC5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlIi6C0+STAig6ASoiIy92MS97dmVuZG9yfS9yZWR1Y3Rpb24ve29yZ0lkfTpyZWFkEoYBCg1HZXRFeHBvcnRSSVNQEiUuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkdldEV4cG9ydFJJU1BSZXNwb25zZSImgtPkkwIgOgEqIhsvdjEvZXhwb3J0Y3N2L3BheWVyczpleHBvcnQSiwEKDkdldFV0aWxpemF0aW9uEiYuYmx1ZWFwaS5jb3N0LnYxLkdldFV0aWxpemF0aW9uUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5HZXRVdGlsaXphdGlvblJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS91dGlsaXphdGlvbi97b3JnSWR9EqQBChJHZXRDb3ZlcmFnZU9wdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPcHRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9wdGlvbnNSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEve3ZlbmRvcn0vY292ZXJhZ2Uvb3B0aW9ucy97b3JnSWR9OnJlYWQSqAEKE0dldENvdmVyYWdlT25kZW1hbmQSKy5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlcXVlc3QaLC5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPbmRlbWFuZFJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS97dmVuZG9yfS9jb3ZlcmFnZS9vbmRlbWFuZC97b3JnSWR9OnJlYWQSjAEKEUdldEJyZWFrZXZlblBvaW50EikuYmx1ZWFwaS5jb3N0LnYxLkdldEJyZWFrZXZlblBvaW50UmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5HZXRCcmVha2V2ZW5Qb2ludFJlc3BvbnNlIiCC0+STAhoSGC92MS97dmVuZG9yfS9iZXAve29yZ0lkfRKkAQoYQ2hlY2tBY2NvdW50c0JlbG9uZ1RvTXNwEiUuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXNwb25zZSI5gtPkkwIzOgEqIi4vdjEve3ZlbmRvcn0vYWNjb3VudHMvY3VzdG9tZXJzL2FjY291bnRzOmNoZWNrEowBCg5SZWFkSW52b2ljZUlkcxImLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUlkc1JlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VJZHNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEve3ZlbmRvcn0vaW52b2ljZWlkczpyZWFkMAESlAEKFFJlYWRJbnZvaWNlT3ZlclZpZXdzEiwuYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlT3ZlcnZpZXdzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5PdmVyVmlld1NlY3Rpb24iJILT5JMCHjoBKiIZL3YxL2ludm9pY2VvdmVydmlld3M6cmVhZDABEoUBChBSZWFkSW52b2ljZUNvc3RzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlQ29zdHNSZXF1ZXN0GiMuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlRvdGFsU2VjdGlvbiIggtPkkwIaOgEqIhUvdjEvaW52b2ljZWNvc3RzOnJlYWQwARKbAQoVUmVhZEludm9pY2VHcm91cENvc3RzEi0uYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlR3JvdXBDb3N0c1JlcXVlc3QaKi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQmlsbGluZ0dyb3VwU2VjdGlvbiIlgtPkkwIfOgEqIhovdjEvaW52b2ljZWdyb3VwY29zdHM6cmVhZDABEsMBChxMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzEjQuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXNwb25zZSI2gtPkkwIwEi4vdjEve3ZlbmRvcn0vY2FsY3VsYXRpb24vcHJlcmVxdWlzaXRlcy97bW9udGh9Go0BkkGJARI5Q29zdCBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9jb3N0GkwKElNlcnZpY2UgZGVmaW5pdGlvbhI2aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2Nvc3QvQvwCChZjbG91ZC5hbHBoYXVzLmFwaS5jb3N0QglDb3N0UHJvdG9aI2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9jb3N0kkGwAhLOAQoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2UiUgoaQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWwqVwobTGljZW5zZTogQXBhY2hlIExpY2Vuc2UgMi4wEjhodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9ibG9iL21haW4vTElDRU5TRTIDMS4wcl0KJU1vcmUgYWJvdXQgQWxwaGF1cyBCbHVlOiBDb3N0IFNlcnZpY2USNGh0dHBzOi8vYWxwaGF1c2xhYnMuZ2l0aHViLmlvL2JsdWVhcGkvYXBpcy9jb3N0Lmh0bWxiBnByb3RvMw", [account_pb_1.file_api_account, coverage_pb_1.file_api_coverage, budget_pb_1.file_api_budget, forecast_pb_1.file_api_forecast, utilization_pb_1.file_api_utilization, breakeven_pb_1.file_api_aws_breakeven, cost_pb_1.file_api_aws_cost, calculator_pb_1.file_api_aws_calculator, recommendation_pb_1.file_api_aws_recommendation, reduction_pb_1.file_api_aws_reduction, cost_pb_2.file_api_gcp_cost, cost_pb_3.file_api_azure_cost, payer_pb_1.file_api_ripple_payer, dashboard_pb_1.file_api_ripple_v1_dashboard, budget_pb_2.file_api_wave_budget, costtag_pb_1.file_api_costtag, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, wkt_1.file_google_protobuf_empty, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, wkt_1.file_google_protobuf_field_mask]);
34
+ exports.file_cost_v1_cost = (0, codegenv2_1.fileDesc)("ChJjb3N0L3YxL2Nvc3QucHJvdG8SD2JsdWVhcGkuY29zdC52MSJaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjQKFkdldFBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIsACChRQYXllckFjY291bnRFeHRlbmRlZBIoCgVwYXllchgBIAEoCzIZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllchIOCgZ0YXJnZXQYAiABKAkSDwoHcm9sZUFybhgDIAEoCRISCgpleHRlcm5hbElkGAQgASgJEg8KB3N0YWNrSWQYBSABKAkSEwoLc3RhY2tSZWdpb24YBiABKAkSEwoLdGVtcGxhdGVVcmwYByABKAkSDgoGc3RhdHVzGAggASgJEhMKC2xhc3RVcGRhdGVkGAkgASgJEhIKCmJ1Y2tldE5hbWUYCiABKAkSDgoGcHJlZml4GAsgASgJEhIKCnJlcG9ydE5hbWUYDCABKAkSIAoYZGVmYXVsdENvc3RBY2Nlc3NSb2xlQXJuGA0gASgJEg8KB2N1clR5cGUYDiABKAkiUAojR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEg0KBW1vbnRoGAMgASgJIlUKJEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXNwb25zZRIKCgJpZBgBIAEoCRINCgVtb250aBgCIAEoCRISCgp0aW1lc3RhbXBzGAMgAygJIjwKHkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiVAofR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXNwb25zZRIxCgdyZXBvcnRzGAEgAygLMiAuYmx1ZWFwaS5jb3N0LnYxLlByb2Zvcm1hUmVwb3J0cyKbAQoPUHJvZm9ybWFSZXBvcnRzEgoKAmlkGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEgoKYnVja2V0TmFtZRgEIAEoCRIOCgZwcmVmaXgYBSABKAkSEgoKcmVwb3J0TmFtZRgGIAEoCRIPCgdyb2xlQXJuGAcgASgJIogBCiNDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhIKCmJ1Y2tldE5hbWUYAyABKAkSDgoGcHJlZml4GAQgASgJEhIKCnJlcG9ydE5hbWUYBSABKAkSDwoHcm9sZUFybhgGIAEoCSJ1ChlDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJICgphd3NPcHRpb25zGAIgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZVBheWVyQWNjb3VudFJlcXVlc3RBd3NPcHRpb25zIjcKGURlbGV0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJImYKE0xpc3RBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSLgoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siXwoRR2V0QWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIj0KHkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJIloKHkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJEhsKE21hbmFnZW1lbnRCaWxsaW5nSWQYAiABKAki2gEKFENyZWF0ZUFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBnBhcmVudBgEIAEoCRJDCgphd3NPcHRpb25zGAUgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxJDCgpnY3BPcHRpb25zGAYgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucyJAChRVcGRhdGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCSIyChREZWxldGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiYgoPTGlzdFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIkUKJExpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAki0gEKJUxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2USVQoDYXdzGAEgASgLMkguYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UuQXdzUnVubmluZ0FjY291bnQaUgoRQXdzUnVubmluZ0FjY291bnQSDQoFbW9udGgYASABKAkSDwoHYWNjb3VudBgCIAEoCRIMCgRkYXRlGAMgASgJEg8KB3N0YXJ0ZWQYBCABKAkiLAoaR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIk0KG0dldENhbGN1bGF0b3JDb25maWdSZXNwb25zZRIuCgNhd3MYASABKAsyIS5ibHVlYXBpLmFwaS5hd3MuQ2FsY3VsYXRvckNvbmZpZyKpBgogQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSEQoJYWNjb3VudElkGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSDwoHcGF5ZXJJZBgDIAEoCRJPCgpxdWFsaWZpZXJzGAQgAygLMjsuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLlF1YWxpZmllchJMCghtb2RpZmllchgFIAEoCzI6LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllchINCgVhZnRlchgGIAEoCRIUCgxjcmVhdGVOZXdSb3cYByABKAgaigEKCVF1YWxpZmllchJRCgNhbmQYASADKAsyRC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa/gIKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSawoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJOLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllci5EZXNjcmlwdGlvbk1vZGlmaWVyGvMBChNEZXNjcmlwdGlvbk1vZGlmaWVyEg4KBnByZWZpeBgBIAEoCRIOCgZzdWZmaXgYAiABKAkSDwoHcmVwbGFjZRgDIAEoCRJ2CgxyZXBsYWNlTWF0Y2gYBCADKAsyYC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXIuRGVzY3JpcHRpb25Nb2RpZmllci5SZXBsYWNlTWF0Y2hFbnRyeRozChFSZXBsYWNlTWF0Y2hFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIp8FCiJDYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zEg8KB2dyb3VwSWQYASABKAkSDwoHcGF5ZXJJZBgCIAEoCRISCgpjdXN0b21lcklkGAMgASgJEhYKDnN1YnNjcmlwdGlvbklkGAQgASgJEhUKDWVudGl0bGVtZW50SWQYBSABKAkSUQoKcXVhbGlmaWVycxgGIAMoCzI9LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLlF1YWxpZmllchJOCghtb2RpZmllchgHIAEoCzI8LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyEg0KBWFmdGVyGAggASgJGowBCglRdWFsaWZpZXISUwoDYW5kGAEgAygLMkYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa0gEKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSbQoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJQLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyLkRlc2NyaXB0aW9uTW9kaWZpZXIaRgoTRGVzY3JpcHRpb25Nb2RpZmllchIOCgZwcmVmaXgYASABKAkSDgoGc3VmZml4GAIgASgJEg8KB3JlcGxhY2UYAyABKAki3gEKFkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISCgoCaWQYASABKAkSEgoKY3JlYXRlVGltZRgCIAEoCRISCgp1cGRhdGVUaW1lGAMgASgJEkUKCmF3c09wdGlvbnMYBCABKAsyMS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSSQoMYXp1cmVPcHRpb25zGAUgASgLMjMuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMiNAoiTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkixwEKI0NyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJFCgphd3NPcHRpb25zGAIgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEkkKDGF6dXJlT3B0aW9ucxgDIAEoCzIzLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zIpQBCiRDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2USNAoDYXdzGAEgAygLMicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNgoFYXp1cmUYAiADKAsyJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciJBCiNEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiNgoVSW1wb3J0Q3VyRmlsZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEg4KBmZpbHRlchgCIAEoCSJ6CghDb3N0SXRlbRIiCgNhd3MYASABKAsyFS5ibHVlYXBpLmFwaS5hd3MuQ29zdBIiCgNnY3AYAiABKAsyFS5ibHVlYXBpLmFwaS5nY3AuQ29zdBImCgVhenVyZRgDIAEoCzIXLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3QiWAofQ2FsY3VsYXRlQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxINCgVmb3JjZRgBIAEoCBIUCgxhY2NvdW50c09ubHkYAiABKAgSEAoIdGFnc09ubHkYAyABKAgijQEKFUNhbGN1bGF0ZUNvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRINCgVtb250aBgDIAEoCRJECgphd3NPcHRpb25zGAQgASgLMjAuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdEF3c09wdGlvbnMiUwoeTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIMCgRhc09mGAIgASgJEhMKC2V4Y2x1ZGVEb25lGAMgASgIIksKIkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5QXdzUmVzcG9uc2USJQoKb3BlcmF0aW9ucxgBIAMoCzIRLnByb3Rvcy5PcGVyYXRpb24iYwofTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXNwb25zZRJACgNhd3MYASABKAsyMy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlBd3NSZXNwb25zZSK9AQoUQ2FsY3VsYXRpb25zU2NoZWR1bGUSCgoCaWQYASABKAkSEAoIc2NoZWR1bGUYAiABKAkSFQoNc2NoZWR1bGVNYWNybxgIIAEoCRITCgt0YXJnZXRNb250aBgJIAEoCRIPCgduZXh0UnVuGAMgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYBCABKAkSDQoFZm9yY2UYBSABKAgSDgoGZHJ5UnVuGAYgASgIEg4KBnN0YXR1cxgHIAEoCSIyCiBMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiXQohTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1Jlc3BvbnNlEjgKCXNjaGVkdWxlcxgBIAMoCzIlLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvbnNTY2hlZHVsZSKtAQohQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghzY2hlZHVsZRgCIAEoCRIVCg1zY2hlZHVsZU1hY3JvGAYgASgJEhMKC3RhcmdldE1vbnRoGAcgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYAyABKAkSDQoFZm9yY2UYBCABKAgSDgoGZHJ5UnVuGAUgASgIIj8KIURlbGV0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiggMKGVJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkkKCmF3c09wdGlvbnMYBiABKAsyNS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdC5Bd3NPcHRpb25zEk0KDGF6dXJlT3B0aW9ucxgHIAEoCzI3LmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdEF0dHJpYnV0ZXNSZXF1ZXN0LkF6dXJlT3B0aW9ucxogCgpBd3NPcHRpb25zEhIKCmRpbWVuc2lvbnMYASABKAkaUQoMQXp1cmVPcHRpb25zEhIKCmN1c3RvbWVySWQYASABKAkSFgoOc3Vic2NyaXB0aW9uSWQYAiABKAkSFQoNZW50aXRsZW1lbnRJZBgDIAEoCSJxChFDb3N0QXR0cmlidXRlSXRlbRIrCgNhd3MYASABKAsyHi5ibHVlYXBpLmFwaS5hd3MuQ29zdEF0dHJpYnV0ZRIvCgVhenVyZRgCIAEoCzIgLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3RBdHRyaWJ1dGUibwoYR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdncm91cElkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIQCghjYXRlZ29yeRgFIAEoCSJKChlHZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uYmx1ZWFwaS5jb3N0LnYxLkNvc3RBdHRyaWJ1dGUiPwoNQ29zdEF0dHJpYnV0ZRIOCgZ2ZW5kb3IYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSDAoEZGF0YRgDIAMoCSKuAQohUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzElYKCmFuZEZpbHRlcnMYASADKAsyQi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxBAoaUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYCCABKAgSFQoNZ3JvdXBCeVRhZ0tleRgMIAEoCRJDCgdmaWx0ZXJzGAMgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJKCgp0YWdGaWx0ZXJzGAkgAygLMjYuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBCABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAUgASgIEhIKCnRvQ3VycmVuY3kYBiABKAkSEwoLZm9yY2VMYXRlc3QYByABKAgSDwoHbm9DYWNoZRgKIAEoCBIaChJpbmNsdWRlQWRqdXN0bWVudHMYCyABKAgamwEKClRhZ0ZpbHRlcnMSWgoKYW5kRmlsdGVycxgBIAMoCzJGLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxAgoQUmVhZENvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRIRCglhY2NvdW50SWQYAyABKAkSEQoJc3RhcnRUaW1lGAQgASgJEg8KB2VuZFRpbWUYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxI/CgpnY3BPcHRpb25zGAcgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zEkMKDGF6dXJlT3B0aW9ucxgIIAEoCzItLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zIjYKIFJlYWRBZGp1c3RtZW50c1JlcXVlc3RBd3NPcHRpb25zEhIKCnRvQ3VycmVuY3kYASABKAkitwEKFlJlYWRBZGp1c3RtZW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkUKCmF3c09wdGlvbnMYBiABKAsyMS5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdEF3c09wdGlvbnMijwQKHVJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zEg0KBXRhZ0lkGAEgASgJEhYKDmdyb3VwQnlDb2x1bW5zGAIgASgJEhQKDGdyb3VwQnlNb250aBgDIAEoCBJDCgdmaWx0ZXJzGAQgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJNCgp0YWdGaWx0ZXJzGAUgAygLMjkuYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBiABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAcgASgIEhIKCnRvQ3VycmVuY3kYCCABKAkSEwoLZm9yY2VMYXRlc3QYCSABKAgSDwoHbm9DYWNoZRgKIAEoCBIOCgZ0YWdJZHMYCyADKAkangEKClRhZ0ZpbHRlcnMSXQoKYW5kRmlsdGVycxgBIAMoCzJJLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK/AQoTUmVhZFRhZ0Nvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFQoNZ3JvdXBCeU1vbnRocxgFIAEoCBJCCgphd3NPcHRpb25zGAYgASgLMi4uYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zIn4KFlJlYWROb25UYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgihAEKE0dldEZvcmVjYXN0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCWZyZXF1ZW5jeRgDIAEoCRINCgVsZXZlbBgEIAEoCRIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkiRwoUR2V0Rm9yZWNhc3RzUmVzcG9uc2USLwoEZGF0YRgBIAEoCzIhLmJsdWVhcGkuYXBpLkJpbGxpbmdHcm91cEZvcmVjYXN0ImwKHUdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkibwoeR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEi4KBGRhdGEYAiADKAsyIC5ibHVlYXBpLmFwaS5Nb250aGx5Q29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJdCiJHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIMCgRkYXRlGAQgASgJInkKI0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEjMKBGRhdGEYAiADKAsyJS5ibHVlYXBpLmFwaS5Nb250aE9uTW9udGhDb3N0Rm9yZWNhc3QSEQoJdGltZXN0YW1wGAMgASgJIlwKIUdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSKHAQoiR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZidWRnZXQYAiABKAESMgoEZGF0YRgDIAMoCzIkLmJsdWVhcGkuYXBpLk1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgEIAEoCSJSChdHZXRBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEeWVhchgEIAEoCSI9ChhHZXRBY2NvdW50QnVkZ2V0UmVzcG9uc2USIQoEZGF0YRgBIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCJqChpDcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSIQoEZGF0YRgEIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCIvChtDcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2USEAoIYnVkZ2V0SWQYASABKAkiYQoaVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJEiEKBGRhdGEYAyABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiPgoaRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJIosCCiNHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucxIaChJyZWNvbW1lbmRhdGlvblR5cGUYASABKAkSDAoEdHlwZRgCIAEoCRISCgpyaVNlcnZpY2VzGAMgAygJEhIKCnNwU2VydmljZXMYBCADKAkSHgoWcHVyY2hhc2VFQzJTYXZpbmdzUGxhbhgFIAEoCBIaChJlYzJTcFByb2R1Y3RGYW1pbHkYBiABKAkSDAoEdGVybRgHIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAggASgJEhUKDXBheW1lbnRPcHRpb24YCSABKAkSGgoSY292ZXJhZ2VQZXJjZW50YWdlGAogASgBIqsBChlHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRITCgtjb3N0R3JvdXBJZBgEIAEoCRJICgphd3NPcHRpb25zGAUgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3RBd3NPcHRpb25zImwKGkdldFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj8KEmF3c1JlY29tbWVuZGF0aW9ucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmF3cy5Bd3NSZWNvbW1lbmRhdGlvbnMiggIKF0dldENvc3RSZWR1Y3Rpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiaAoYR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj0KEWF3c0Nvc3RSZWR1Y3Rpb25zGAIgASgLMiIuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RSZWR1Y3Rpb25zIlQKFEdldEV4cG9ydFJJU1BSZXF1ZXN0EgwKBHR5cGUYASABKAkSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFgoOaW5jbHVkZUV4cGlyZWQYAyABKAgiLQoVR2V0RXhwb3J0UklTUFJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSK4AQoVR2V0VXRpbGl6YXRpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIMCgR0eXBlGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkiXgoWR2V0VXRpbGl6YXRpb25SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI1Cg91dGlsaXphdGlvbkRhdGEYAiADKAsyHC5ibHVlYXBpLmFwaS5VdGlsaXphdGlvbkRhdGEi9AEKGUdldENvdmVyYWdlT3B0aW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnBlcmlvZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJEhAKCGFjY291bnRzGAogAygJEhAKCHNlcnZpY2VzGAsgAygJEhAKCGN1cnJlbmN5GAwgASgJIloKGkdldENvdmVyYWdlT3B0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEi0KC29wdGlvbnNEYXRhGAIgAygLMhguYmx1ZWFwaS5hcGkuT3B0aW9uc0RhdGEi4wEKGkdldENvdmVyYWdlT25kZW1hbmRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZwZXJpb2QYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCRIQCghhY2NvdW50cxgKIAMoCRIQCghzZXJ2aWNlcxgLIAMoCSJdChtHZXRDb3ZlcmFnZU9uZGVtYW5kUmVzcG9uc2USDQoFb3JnSWQYASABKAkSLwoMb25kZW1hbmREYXRhGAIgAygLMhkuYmx1ZWFwaS5hcGkuT25kZW1hbmREYXRhIlQKGEdldEJyZWFrZXZlblBvaW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRILCgNhcm4YBCABKAkiZwoZR2V0QnJlYWtldmVuUG9pbnRSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI7ChBhd3NDb3N0QnJlYWtldmVuGAIgASgLMiEuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RCcmVha2V2ZW4iKAoWTGlzdENvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiUAoXTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2USNQoLY29zdEZpbHRlcnMYASADKAsyIC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzIqwBCg9MaXN0Q29zdEZpbHRlcnMSEAoIZmlsdGVySWQYASABKAkSEgoKZmlsdGVyTmFtZRgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHZ3JvdXBJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyKjAQoYQ3JlYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgpmaWx0ZXJOYW1lGAIgASgJEg8KB2dyb3VwSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEj8KCmF3c09wdGlvbnMYBSABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSK1AQoYVXBkYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRISCgpmaWx0ZXJOYW1lGAMgASgJEg8KB2dyb3VwSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZVXBkYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSI8ChhEZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGZpbHRlcklkGAIgASgJIqcBChxFeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRIRCglzdGFydFRpbWUYAyABKAkSDwoHZW5kVGltZRgEIAEoCRIUCgxncm91cEJ5TW9udGgYBSABKAgSFgoOZ3JvdXBCeUNvbHVtbnMYBiABKAkSEwoLaW5jbHVkZVRhZ3MYByABKAgiLAodRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIpICChpSZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIUCgxncm91cEJ5TW9udGgYAiABKAgSFQoNZ3JvdXBBY2NvdW50cxgDIAEoCBJDCgdmaWx0ZXJzGAQgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycxIbChNpbmNsdWRlSW52b2ljZU1vbnRoGAYgASgIEhYKDmluY2x1ZGVDcmVkaXRzGAcgASgIEhAKCHJvdW5kaW5nGAggASgIEg8KB25vQ2FjaGUYBSABKAgSEgoKdG9DdXJyZW5jeRgJIAEoCSKuAQohUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnNGaWx0ZXJzElYKCmFuZEZpbHRlcnMYASADKAsyQi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI7Ch1HZXRBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkicgogQ3JlYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEjIKC2J1ZGdldEFsZXJ0GAMgASgLMh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCJyCiBVcGRhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSMgoLYnVkZ2V0QWxlcnQYAyABKAsyHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0Ij4KIERlbGV0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCSJxChxSZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIPCgdub0NhY2hlGAMgASgIEhIKCnRvQ3VycmVuY3kYBCABKAkiqAMKDEJ1ZGdldEFsZXJ0cxIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSJgoIYWNjb3VudHMYAyADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EkAKDG5vdGlmaWNhdGlvbhgEIAEoCzIqLmJsdWVhcGkuYXBpLkJ1ZGdldEFsZXJ0Tm90aWZpY2F0aW9uRGV0YWlsEiwKBWRhaWx5GAUgASgLMh0uYmx1ZWFwaS5hcGkuRGFpbHlCdWRnZXRBbGVydBI8CglkYWlseVJhdGUYByABKAsyKS5ibHVlYXBpLmFwaS5EYWlseVJhdGVJbmNyZWFzZUJ1ZGdldEFsZXJ0EjAKB21vbnRobHkYBiABKAsyHy5ibHVlYXBpLmFwaS5Nb250aGx5QnVkZ2V0QWxlcnQSOgoMY3VzdG9tUGVyaW9kGAggASgLMiQuYmx1ZWFwaS5hcGkuQ3VzdG9tUGVyaW9kQnVkZ2V0QWxlcnQSOAoLY3VzdG9tTW9udGgYCSABKAsyIy5ibHVlYXBpLmFwaS5DdXN0b21Nb250aEJ1ZGdldEFsZXJ0IkkKF1JlYWRCdWRnZXRBbGVydHNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIiQKFkdldEJ1ZGdldEFsZXJ0c1JlcXVlc3QSCgoCaWQYASABKAkijQMKGUNyZWF0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGFjY291bnRzGAIgAygJEjoKDG5vdGlmaWNhdGlvbhgDIAEoCzIkLmJsdWVhcGkuYXBpLkJ1ZGdldEFsZXJ0Tm90aWZpY2F0aW9uEiwKBWRhaWx5GAQgASgLMh0uYmx1ZWFwaS5hcGkuRGFpbHlCdWRnZXRBbGVydBI8CglkYWlseVJhdGUYBiABKAsyKS5ibHVlYXBpLmFwaS5EYWlseVJhdGVJbmNyZWFzZUJ1ZGdldEFsZXJ0EjAKB21vbnRobHkYBSABKAsyHy5ibHVlYXBpLmFwaS5Nb250aGx5QnVkZ2V0QWxlcnQSOgoMY3VzdG9tUGVyaW9kGAcgASgLMiQuYmx1ZWFwaS5hcGkuQ3VzdG9tUGVyaW9kQnVkZ2V0QWxlcnQSOAoLY3VzdG9tTW9udGgYCCABKAsyIy5ibHVlYXBpLmFwaS5DdXN0b21Nb250aEJ1ZGdldEFsZXJ0IpkDChlVcGRhdGVCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRI6Cgxub3RpZmljYXRpb24YBCABKAsyJC5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbhIsCgVkYWlseRgFIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAcgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAYgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgIIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAkgASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCInChlEZWxldGVCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJIjoKFENoZWNrQWNjb3VudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgphY2NvdW50SWRzGAIgAygJIooBChVDaGVja0FjY291bnRzUmVzcG9uc2USQgoGZXhpc3RzGAEgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLkNoZWNrQWNjb3VudHNSZXNwb25zZS5FeGlzdHNFbnRyeRotCgtFeGlzdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIjYKFVJlYWRJbnZvaWNlSWRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkiJAoWUmVhZEludm9pY2VJZHNSZXNwb25zZRIKCgJpZBgBIAEoCSKwAQoLUGVyaW9kUmFuZ2USLwoEdW5pdBgBIAEoDjIhLmJsdWVhcGkuY29zdC52MS5QZXJpb2RSYW5nZS5Vbml0EgwKBHllYXIYAiABKA0SEAoIc3RhcnRpbmcYAyABKA0SEAoIZHVyYXRpb24YBCABKA0iPgoEVW5pdBIUChBVTklUX1VOU1BFQ0lGSUVEEAASCQoFTU9OVEgQARILCgdRVUFSVEVSEAISCAoEWUVBUhADIqABChtSZWFkSW52b2ljZU92ZXJ2aWV3c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSFgoOdXNlUGVyaW9kUmFuZ2UYBCABKAgSMQoLcGVyaW9kUmFuZ2UYBSABKAsyHC5ibHVlYXBpLmNvc3QudjEuUGVyaW9kUmFuZ2USEgoKdG9DdXJyZW5jeRgDIAEoCSJRChdSZWFkSW52b2ljZUNvc3RzUmVxdWVzdBIRCglzdGFydFRpbWUYASABKAkSDwoHZW5kVGltZRgCIAEoCRISCgp0b0N1cnJlbmN5GAMgASgJImUKHFJlYWRJbnZvaWNlR3JvdXBDb3N0c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSEgoKdG9DdXJyZW5jeRgDIAEoCRINCgVsaW1pdBgEIAEoBSI1CiNSZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkicwobUmVnaXN0ZXJQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2N1clR5cGUYBCABKAkSGQoRY2FsY3VsYXRlVFVQcm9maXQYBSABKAgicQoZVXBkYXRlUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjdXJUeXBlGAQgASgJEhkKEWNhbGN1bGF0ZVRVUHJvZml0GAUgASgIIkQKI0xpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSKVAQoXQ2FsY3VsYXRpb25QcmVyZXF1aXNpdGUSEgoKaW52b2ljZV9pZBgBIAEoCRIQCghwYXllcl9pZBgCIAEoCRIVCg1leGNoYW5nZV9yYXRlGAMgASgBEh0KFXVuYmxlbmRlZF9jb3N0X2luX2N1chgEIAEoARIMCgRuYW1lGAUgASgJEhAKCGN1cl90eXBlGAYgASgJImcKJExpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXNSZXNwb25zZRI/Cg1wcmVyZXF1aXNpdGVzGAEgAygLMiguYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0aW9uUHJlcmVxdWlzaXRlMq5QCgRDb3N0EnMKEUxpc3RQYXllckFjY291bnRzEikuYmx1ZWFwaS5jb3N0LnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiG4LT5JMCFRITL3YxL3t2ZW5kb3J9L3BheWVyczABEncKD0dldFBheWVyQWNjb3VudBInLmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRSZXF1ZXN0GhkuYmx1ZWFwaS5hcGkucmlwcGxlLlBheWVyIiCC0+STAhoSGC92MS97dmVuZG9yfS9wYXllcnMve2lkfRKVAQoZTGlzdFBheWVyQWNjb3VudHNFeHRlbmRlZBIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuUGF5ZXJBY2NvdW50RXh0ZW5kZWQiJILT5JMCHhIcL3YxL3t2ZW5kb3J9L3BheWVycy9leHRlbmRlZDABEpQBChdHZXRQYXllckFjY291bnRFeHRlbmRlZBInLmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLlBheWVyQWNjb3VudEV4dGVuZGVkIimC0+STAiMSIS92MS97dmVuZG9yfS9wYXllcnMve2lkfS9leHRlbmRlZBK9AQocR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeRI0LmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5UmVxdWVzdBo1LmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5UmVzcG9uc2UiLoLT5JMCKBImL3YxL3t2ZW5kb3J9L3BheWVycy97aWR9L2ltcG9ydGhpc3RvcnkwARKnAQoXR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHMSLy5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXF1ZXN0GjAuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL3t2ZW5kb3J9L3BheWVycy97aWR9L3Byb2Zvcm1hEnYKEkNyZWF0ZVBheWVyQWNjb3VudBIqLmJsdWVhcGkuY29zdC52MS5DcmVhdGVQYXllckFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIegtPkkwIYOgEqIhMvdjEve3ZlbmRvcn0vcGF5ZXJzEokBChRSZWdpc3RlclBheWVyQWNjb3VudBIsLmJsdWVhcGkuY29zdC52MS5SZWdpc3RlclBheWVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L3BheWVycy9iYXNpY2RldGFpbHMSigEKElVwZGF0ZVBheWVyQWNjb3VudBIqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVQYXllckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoaJS92MS97dmVuZG9yfS9wYXllcnMvYmFzaWNkZXRhaWxzL3tpZH0SegoSRGVsZXRlUGF5ZXJBY2NvdW50EiouYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZVBheWVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGioYL3YxL3t2ZW5kb3J9L3BheWVycy97aWR9EpUBCgxMaXN0QWNjb3VudHMSJC5ibHVlYXBpLmNvc3QudjEuTGlzdEFjY291bnRzUmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiR4LT5JMCQVooEiYvdjEve3ZlbmRvcn0vYWNjb3VudHMvZ3JvdXBzL3tncm91cElkfRIVL3YxL3t2ZW5kb3J9L2FjY291bnRzMAESagoKR2V0QWNjb3VudBIiLmJsdWVhcGkuY29zdC52MS5HZXRBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiIoLT5JMCHBIaL3YxL3t2ZW5kb3J9L2FjY291bnRzL3tpZH0SbgoNQ3JlYXRlQWNjb3VudBIlLmJsdWVhcGkuY29zdC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiIILT5JMCGjoBKiIVL3YxL3t2ZW5kb3J9L2FjY291bnRzEnMKDVVwZGF0ZUFjY291bnQSJS5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IiWC0+STAh86ASoaGi92MS97dmVuZG9yfS9hY2NvdW50cy97aWR9EnIKDURlbGV0ZUFjY291bnQSJS5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIoLT5JMCHCoaL3YxL3t2ZW5kb3J9L2FjY291bnRzL3tpZH0SnwEKHFJlYWRBY2NvdW50T3JpZ2luYWxSZXNvdXJjZXMSNC5ibHVlYXBpLmNvc3QudjEuUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlc1JlcXVlc3QaJC5ibHVlYXBpLmFwaS5BY2NvdW50T3JpZ2luYWxSZXNvdXJjZSIhgtPkkwIbOgEqIhYvdjEve3ZlbmRvcn0vYW9yczpyZWFkMAEShQEKCExpc3RUYWdzEiAuYmx1ZWFwaS5jb3N0LnYxLkxpc3RUYWdzUmVxdWVzdBoULmJsdWVhcGkuYXBpLkNvc3RUYWciP4LT5JMCOVokEiIvdjEve3ZlbmRvcn0vdGFncy9ncm91cHMve2dyb3VwSWR9EhEvdjEve3ZlbmRvcn0vdGFnczABEsEBCh1MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50cxI1LmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1JlcXVlc3QaNi5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0b3JSdW5uaW5nQWNjb3VudHNSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9ydW5uaW5nOnJlYWQwARKYAQoTR2V0Q2FsY3VsYXRvckNvbmZpZxIrLmJsdWVhcGkuY29zdC52MS5HZXRDYWxjdWxhdG9yQ29uZmlnUmVxdWVzdBosLmJsdWVhcGkuY29zdC52MS5HZXRDYWxjdWxhdG9yQ29uZmlnUmVzcG9uc2UiJoLT5JMCIBIeL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnEq4BChtMaXN0Q2FsY3VsYXRvckNvc3RNb2RpZmllcnMSMy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyIi+C0+STAikSJy92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kczABEr8BChxDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyEjQuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXNwb25zZSIygtPkkwIsOgEqIicvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMSogEKHERlbGV0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNC5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNILT5JMCLiosL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzL3tpZH0SagoOSW1wb3J0Q3VyRmlsZXMSJi5ibHVlYXBpLmNvc3QudjEuSW1wb3J0Q3VyRmlsZXNSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIdgtPkkwIXOgEqIhIvdjEvYXdzL2N1cjppbXBvcnQSdAoOQ2FsY3VsYXRlQ29zdHMSJi5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRlQ29zdHNSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIngtPkkwIhOgEqIhwvdjEve3ZlbmRvcn0vY29zdHM6Y2FsY3VsYXRlEqcBChdMaXN0Q2FsY3VsYXRpb25zSGlzdG9yeRIvLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zSGlzdG9yeVJlcXVlc3QaMC5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL2hpc3RvcnkSrwEKGUxpc3RDYWxjdWxhdGlvbnNTY2hlZHVsZXMSMS5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1JlcXVlc3QaMi5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzEqcBChpDcmVhdGVDYWxjdWxhdGlvbnNTY2hlZHVsZRIyLmJsdWVhcGkuY29zdC52MS5DcmVhdGVDYWxjdWxhdGlvbnNTY2hlZHVsZVJlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRpb25zU2NoZWR1bGUiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMSmgEKGkRlbGV0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlEjIuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqKigvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcy97aWR9EoYBCg9MaXN0Q29zdEZpbHRlcnMSJy5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzUmVxdWVzdBooLmJsdWVhcGkuY29zdC52MS5MaXN0Q29zdEZpbHRlcnNSZXNwb25zZSIggtPkkwIaEhgvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMSjwEKEUNyZWF0ZUNvc3RGaWx0ZXJzEikuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNvc3RGaWx0ZXJzUmVxdWVzdBoqLmJsdWVhcGkuY29zdC52MS5DcmVhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlIiOC0+STAh06ASoiGC92MS97dmVuZG9yfS9jb3N0ZmlsdGVycxKaAQoRVXBkYXRlQ29zdEZpbHRlcnMSKS5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQ29zdEZpbHRlcnNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2UiLoLT5JMCKDoBKhojL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH0SgwEKEURlbGV0ZUNvc3RGaWx0ZXJzEikuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUNvc3RGaWx0ZXJzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlKiMvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMve2ZpbHRlcklkfRKtAQoVRXhwb3J0Q29zdEZpbHRlcnNGaWxlEi0uYmx1ZWFwaS5jb3N0LnYxLkV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlcXVlc3QaLi5ibHVlYXBpLmNvc3QudjEuRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH06ZXhwb3J0Eo4BChJSZWFkQ29zdEF0dHJpYnV0ZXMSKi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoiLmJsdWVhcGkuY29zdC52MS5Db3N0QXR0cmlidXRlSXRlbSImgtPkkwIgOgEqIhsvdjEve3ZlbmRvcn0vY29zdGF0dHJzOnJlYWQwARKKAQoRR2V0Q29zdEF0dHJpYnV0ZXMSKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2Nvc3RhdHRycxJvCglSZWFkQ29zdHMSIS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIigtPkkwIcOgEqIhcvdjEve3ZlbmRvcn0vY29zdHM6cmVhZDABEoEBCg9SZWFkQWRqdXN0bWVudHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vYWRqdXN0bWVudHM6cmVhZDABEngKDFJlYWRUYWdDb3N0cxIkLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiWC0+STAh86ASoiGi92MS97dmVuZG9yfS90YWdjb3N0czpyZWFkMAESgQEKD1JlYWROb25UYWdDb3N0cxInLmJsdWVhcGkuY29zdC52MS5SZWFkTm9uVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiiC0+STAiI6ASoiHS92MS97dmVuZG9yfS9ub250YWdjb3N0czpyZWFkMAESewoMR2V0Rm9yZWNhc3RzEiQuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1JlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuR2V0Rm9yZWNhc3RzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cxKuAQoWR2V0TW9udGhseUNvc3RGb3JlY2FzdBIuLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVxdWVzdBovLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVzcG9uc2UiM4LT5JMCLRIrL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aGx5L3tsZXZlbH0ve2lkfRLEAQobR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0EjMuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlcXVlc3QaNC5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0UmVzcG9uc2UiOoLT5JMCNBIyL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aC1vbi1tb250aC97bGV2ZWx9L3tpZH0SwAEKGkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EjIuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBozLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIjmC0+STAjMSMS92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtdG8tZGF0ZS97bGV2ZWx9L3tpZH0SkQEKEEdldEFjY291bnRCdWRnZXQSKC5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS9idWRnZXQve2xldmVsfS97aWR9Ep0BChNDcmVhdGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKFAQoTVXBkYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqGh4vdjEve3ZlbmRvcn0vYnVkZ2V0L3tidWRnZXRJZH0SggEKE0RlbGV0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EokBChZHZXRBY2NvdW50QnVkZ2V0QWxlcnRzEi4uYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIggtPkkwIaEhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGUNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoiGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKSAQoZVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiI4LT5JMCHToBKhoYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EogBChlEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRJ5ChBSZWFkQnVkZ2V0QWxlcnRzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqIg8vdjEvYWxlcnRzOnJlYWQwARJyCg9HZXRCdWRnZXRBbGVydHMSJy5ibHVlYXBpLmNvc3QudjEuR2V0QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiF4LT5JMCERIPL3YxL2FsZXJ0cy97aWR9EnYKEkNyZWF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5DcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIVgtPkkwIPOgEqIgovdjEvYWxlcnRzEnsKElVwZGF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqGg8vdjEvYWxlcnRzL3tpZH0ScQoSRGVsZXRlQnVkZ2V0QWxlcnRzEiouYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiF4LT5JMCESoPL3YxL2FsZXJ0cy97aWR9EqMBChJHZXRSZWNvbW1lbmRhdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vcmVjb21tZW5kYXRpb25zL3tvcmdJZH06cmVhZBKXAQoQR2V0Q29zdFJlZHVjdGlvbhIoLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVxdWVzdBopLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L3JlZHVjdGlvbi97b3JnSWR9OnJlYWQShgEKDUdldEV4cG9ydFJJU1ASJS5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlcXVlc3QaJi5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9leHBvcnRjc3YvcGF5ZXJzOmV4cG9ydBKLAQoOR2V0VXRpbGl6YXRpb24SJi5ibHVlYXBpLmNvc3QudjEuR2V0VXRpbGl6YXRpb25SZXF1ZXN0GicuYmx1ZWFwaS5jb3N0LnYxLkdldFV0aWxpemF0aW9uUmVzcG9uc2UiKILT5JMCIhIgL3YxL3t2ZW5kb3J9L3V0aWxpemF0aW9uL3tvcmdJZH0SpAEKEkdldENvdmVyYWdlT3B0aW9ucxIqLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9wdGlvbnNSZXF1ZXN0GisuYmx1ZWFwaS5jb3N0LnYxLkdldENvdmVyYWdlT3B0aW9uc1Jlc3BvbnNlIjWC0+STAi86ASoiKi92MS97dmVuZG9yfS9jb3ZlcmFnZS9vcHRpb25zL3tvcmdJZH06cmVhZBKoAQoTR2V0Q292ZXJhZ2VPbmRlbWFuZBIrLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9uZGVtYW5kUmVxdWVzdBosLmJsdWVhcGkuY29zdC52MS5HZXRDb3ZlcmFnZU9uZGVtYW5kUmVzcG9uc2UiNoLT5JMCMDoBKiIrL3YxL3t2ZW5kb3J9L2NvdmVyYWdlL29uZGVtYW5kL3tvcmdJZH06cmVhZBKMAQoRR2V0QnJlYWtldmVuUG9pbnQSKS5ibHVlYXBpLmNvc3QudjEuR2V0QnJlYWtldmVuUG9pbnRSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkdldEJyZWFrZXZlblBvaW50UmVzcG9uc2UiIILT5JMCGhIYL3YxL3t2ZW5kb3J9L2JlcC97b3JnSWR9EqQBChhDaGVja0FjY291bnRzQmVsb25nVG9Nc3ASJS5ibHVlYXBpLmNvc3QudjEuQ2hlY2tBY2NvdW50c1JlcXVlc3QaJi5ibHVlYXBpLmNvc3QudjEuQ2hlY2tBY2NvdW50c1Jlc3BvbnNlIjmC0+STAjM6ASoiLi92MS97dmVuZG9yfS9hY2NvdW50cy9jdXN0b21lcnMvYWNjb3VudHM6Y2hlY2sSjAEKDlJlYWRJbnZvaWNlSWRzEiYuYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlSWRzUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUlkc1Jlc3BvbnNlIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9pbnZvaWNlaWRzOnJlYWQwARKUAQoUUmVhZEludm9pY2VPdmVyVmlld3MSLC5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VPdmVydmlld3NSZXF1ZXN0GiYuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLk92ZXJWaWV3U2VjdGlvbiIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZW92ZXJ2aWV3czpyZWFkMAEShQEKEFJlYWRJbnZvaWNlQ29zdHMSKC5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VDb3N0c1JlcXVlc3QaIy5ibHVlYXBpLmFwaS5yaXBwbGUudjEuVG90YWxTZWN0aW9uIiCC0+STAho6ASoiFS92MS9pbnZvaWNlY29zdHM6cmVhZDABEpsBChVSZWFkSW52b2ljZUdyb3VwQ29zdHMSLS5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VHcm91cENvc3RzUmVxdWVzdBoqLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBTZWN0aW9uIiWC0+STAh86ASoiGi92MS9pbnZvaWNlZ3JvdXBjb3N0czpyZWFkMAESwwEKHExpc3RDYWxjdWxhdGlvblByZXJlcXVpc2l0ZXMSNC5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uUHJlcmVxdWlzaXRlc1JlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uUHJlcmVxdWlzaXRlc1Jlc3BvbnNlIjaC0+STAjASLi92MS97dmVuZG9yfS9jYWxjdWxhdGlvbi9wcmVyZXF1aXNpdGVzL3ttb250aH0ajQGSQYkBEjlDb3N0IEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2Nvc3QaTAoSU2VydmljZSBkZWZpbml0aW9uEjZodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vY29zdC9C/AIKFmNsb3VkLmFscGhhdXMuYXBpLmNvc3RCCUNvc3RQcm90b1ojZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2Nvc3SSQbACEs4BChpBbHBoYXVzIEJsdWU6IENvc3QgU2VydmljZSJSChpBbHBoYXVzIEJsdWU6IENvc3QgU2VydmljZRI0aHR0cHM6Ly9hbHBoYXVzbGFicy5naXRodWIuaW8vYmx1ZWFwaS9hcGlzL2Nvc3QuaHRtbCpXChtMaWNlbnNlOiBBcGFjaGUgTGljZW5zZSAyLjASOGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2Jsb2IvbWFpbi9MSUNFTlNFMgMxLjByXQolTW9yZSBhYm91dCBBbHBoYXVzIEJsdWU6IENvc3QgU2VydmljZRI0aHR0cHM6Ly9hbHBoYXVzbGFicy5naXRodWIuaW8vYmx1ZWFwaS9hcGlzL2Nvc3QuaHRtbGIGcHJvdG8z", [account_pb_1.file_api_account, coverage_pb_1.file_api_coverage, budget_pb_1.file_api_budget, forecast_pb_1.file_api_forecast, utilization_pb_1.file_api_utilization, breakeven_pb_1.file_api_aws_breakeven, cost_pb_1.file_api_aws_cost, calculator_pb_1.file_api_aws_calculator, recommendation_pb_1.file_api_aws_recommendation, reduction_pb_1.file_api_aws_reduction, cost_pb_2.file_api_gcp_cost, cost_pb_3.file_api_azure_cost, payer_pb_1.file_api_ripple_payer, dashboard_pb_1.file_api_ripple_v1_dashboard, budget_pb_2.file_api_wave_budget, costtag_pb_1.file_api_costtag, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, wkt_1.file_google_protobuf_empty, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, wkt_1.file_google_protobuf_field_mask]);
35
35
  /**
36
36
  * Describes the message blueapi.cost.v1.ListPayerAccountsRequest.
37
37
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
@@ -42,606 +42,611 @@ exports.ListPayerAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.fi
42
42
  * Use `create(GetPayerAccountRequestSchema)` to create a new message.
43
43
  */
44
44
  exports.GetPayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 1);
45
+ /**
46
+ * Describes the message blueapi.cost.v1.PayerAccountExtended.
47
+ * Use `create(PayerAccountExtendedSchema)` to create a new message.
48
+ */
49
+ exports.PayerAccountExtendedSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 2);
45
50
  /**
46
51
  * Describes the message blueapi.cost.v1.GetPayerAccountImportHistoryRequest.
47
52
  * Use `create(GetPayerAccountImportHistoryRequestSchema)` to create a new message.
48
53
  */
49
- exports.GetPayerAccountImportHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 2);
54
+ exports.GetPayerAccountImportHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 3);
50
55
  /**
51
56
  * Describes the message blueapi.cost.v1.GetPayerAccountImportHistoryResponse.
52
57
  * Use `create(GetPayerAccountImportHistoryResponseSchema)` to create a new message.
53
58
  */
54
- exports.GetPayerAccountImportHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 3);
59
+ exports.GetPayerAccountImportHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 4);
55
60
  /**
56
61
  * Describes the message blueapi.cost.v1.GetPayerProformaReportsRequest.
57
62
  * Use `create(GetPayerProformaReportsRequestSchema)` to create a new message.
58
63
  */
59
- exports.GetPayerProformaReportsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 4);
64
+ exports.GetPayerProformaReportsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 5);
60
65
  /**
61
66
  * Describes the message blueapi.cost.v1.GetPayerProformaReportsResponse.
62
67
  * Use `create(GetPayerProformaReportsResponseSchema)` to create a new message.
63
68
  */
64
- exports.GetPayerProformaReportsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 5);
69
+ exports.GetPayerProformaReportsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 6);
65
70
  /**
66
71
  * Describes the message blueapi.cost.v1.ProformaReports.
67
72
  * Use `create(ProformaReportsSchema)` to create a new message.
68
73
  */
69
- exports.ProformaReportsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 6);
74
+ exports.ProformaReportsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 7);
70
75
  /**
71
76
  * Describes the message blueapi.cost.v1.CreatePayerAccountRequestAwsOptions.
72
77
  * Use `create(CreatePayerAccountRequestAwsOptionsSchema)` to create a new message.
73
78
  */
74
- exports.CreatePayerAccountRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 7);
79
+ exports.CreatePayerAccountRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 8);
75
80
  /**
76
81
  * Describes the message blueapi.cost.v1.CreatePayerAccountRequest.
77
82
  * Use `create(CreatePayerAccountRequestSchema)` to create a new message.
78
83
  */
79
- exports.CreatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 8);
84
+ exports.CreatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 9);
80
85
  /**
81
86
  * Describes the message blueapi.cost.v1.DeletePayerAccountRequest.
82
87
  * Use `create(DeletePayerAccountRequestSchema)` to create a new message.
83
88
  */
84
- exports.DeletePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 9);
89
+ exports.DeletePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 10);
85
90
  /**
86
91
  * Describes the message blueapi.cost.v1.ListAccountsRequest.
87
92
  * Use `create(ListAccountsRequestSchema)` to create a new message.
88
93
  */
89
- exports.ListAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 10);
94
+ exports.ListAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 11);
90
95
  /**
91
96
  * Describes the message blueapi.cost.v1.GetAccountRequest.
92
97
  * Use `create(GetAccountRequestSchema)` to create a new message.
93
98
  */
94
- exports.GetAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 11);
99
+ exports.GetAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 12);
95
100
  /**
96
101
  * Describes the message blueapi.cost.v1.CreateAccountRequestAwsOptions.
97
102
  * Use `create(CreateAccountRequestAwsOptionsSchema)` to create a new message.
98
103
  */
99
- exports.CreateAccountRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 12);
104
+ exports.CreateAccountRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 13);
100
105
  /**
101
106
  * Describes the message blueapi.cost.v1.CreateAccountRequestGcpOptions.
102
107
  * Use `create(CreateAccountRequestGcpOptionsSchema)` to create a new message.
103
108
  */
104
- exports.CreateAccountRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 13);
109
+ exports.CreateAccountRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 14);
105
110
  /**
106
111
  * Describes the message blueapi.cost.v1.CreateAccountRequest.
107
112
  * Use `create(CreateAccountRequestSchema)` to create a new message.
108
113
  */
109
- exports.CreateAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 14);
114
+ exports.CreateAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 15);
110
115
  /**
111
116
  * Describes the message blueapi.cost.v1.UpdateAccountRequest.
112
117
  * Use `create(UpdateAccountRequestSchema)` to create a new message.
113
118
  */
114
- exports.UpdateAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 15);
119
+ exports.UpdateAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 16);
115
120
  /**
116
121
  * Describes the message blueapi.cost.v1.DeleteAccountRequest.
117
122
  * Use `create(DeleteAccountRequestSchema)` to create a new message.
118
123
  */
119
- exports.DeleteAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 16);
124
+ exports.DeleteAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 17);
120
125
  /**
121
126
  * Describes the message blueapi.cost.v1.ListTagsRequest.
122
127
  * Use `create(ListTagsRequestSchema)` to create a new message.
123
128
  */
124
- exports.ListTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 17);
129
+ exports.ListTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 18);
125
130
  /**
126
131
  * Describes the message blueapi.cost.v1.ListCalculatorRunningAccountsRequest.
127
132
  * Use `create(ListCalculatorRunningAccountsRequestSchema)` to create a new message.
128
133
  */
129
- exports.ListCalculatorRunningAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 18);
134
+ exports.ListCalculatorRunningAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 19);
130
135
  /**
131
136
  * Describes the message blueapi.cost.v1.ListCalculatorRunningAccountsResponse.
132
137
  * Use `create(ListCalculatorRunningAccountsResponseSchema)` to create a new message.
133
138
  */
134
- exports.ListCalculatorRunningAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 19);
139
+ exports.ListCalculatorRunningAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 20);
135
140
  /**
136
141
  * Describes the message blueapi.cost.v1.ListCalculatorRunningAccountsResponse.AwsRunningAccount.
137
142
  * Use `create(ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema)` to create a new message.
138
143
  */
139
- exports.ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 19, 0);
144
+ exports.ListCalculatorRunningAccountsResponse_AwsRunningAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 20, 0);
140
145
  /**
141
146
  * Describes the message blueapi.cost.v1.GetCalculatorConfigRequest.
142
147
  * Use `create(GetCalculatorConfigRequestSchema)` to create a new message.
143
148
  */
144
- exports.GetCalculatorConfigRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 20);
149
+ exports.GetCalculatorConfigRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 21);
145
150
  /**
146
151
  * Describes the message blueapi.cost.v1.GetCalculatorConfigResponse.
147
152
  * Use `create(GetCalculatorConfigResponseSchema)` to create a new message.
148
153
  */
149
- exports.GetCalculatorConfigResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 21);
154
+ exports.GetCalculatorConfigResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 22);
150
155
  /**
151
156
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAwsOptions.
152
157
  * Use `create(CalculatorCostModifierAwsOptionsSchema)` to create a new message.
153
158
  */
154
- exports.CalculatorCostModifierAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 22);
159
+ exports.CalculatorCostModifierAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23);
155
160
  /**
156
161
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAwsOptions.Qualifier.
157
162
  * Use `create(CalculatorCostModifierAwsOptions_QualifierSchema)` to create a new message.
158
163
  */
159
- exports.CalculatorCostModifierAwsOptions_QualifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 22, 0);
164
+ exports.CalculatorCostModifierAwsOptions_QualifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 0);
160
165
  /**
161
166
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAwsOptions.Modifier.
162
167
  * Use `create(CalculatorCostModifierAwsOptions_ModifierSchema)` to create a new message.
163
168
  */
164
- exports.CalculatorCostModifierAwsOptions_ModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 22, 1);
169
+ exports.CalculatorCostModifierAwsOptions_ModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 1);
165
170
  /**
166
171
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier.
167
172
  * Use `create(CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema)` to create a new message.
168
173
  */
169
- exports.CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 22, 1, 0);
174
+ exports.CalculatorCostModifierAwsOptions_Modifier_DescriptionModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 1, 0);
170
175
  /**
171
176
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAzureOptions.
172
177
  * Use `create(CalculatorCostModifierAzureOptionsSchema)` to create a new message.
173
178
  */
174
- exports.CalculatorCostModifierAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23);
179
+ exports.CalculatorCostModifierAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 24);
175
180
  /**
176
181
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAzureOptions.Qualifier.
177
182
  * Use `create(CalculatorCostModifierAzureOptions_QualifierSchema)` to create a new message.
178
183
  */
179
- exports.CalculatorCostModifierAzureOptions_QualifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 0);
184
+ exports.CalculatorCostModifierAzureOptions_QualifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 24, 0);
180
185
  /**
181
186
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAzureOptions.Modifier.
182
187
  * Use `create(CalculatorCostModifierAzureOptions_ModifierSchema)` to create a new message.
183
188
  */
184
- exports.CalculatorCostModifierAzureOptions_ModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 1);
189
+ exports.CalculatorCostModifierAzureOptions_ModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 24, 1);
185
190
  /**
186
191
  * Describes the message blueapi.cost.v1.CalculatorCostModifierAzureOptions.Modifier.DescriptionModifier.
187
192
  * Use `create(CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema)` to create a new message.
188
193
  */
189
- exports.CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 23, 1, 0);
194
+ exports.CalculatorCostModifierAzureOptions_Modifier_DescriptionModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 24, 1, 0);
190
195
  /**
191
196
  * Describes the message blueapi.cost.v1.CalculatorCostModifier.
192
197
  * Use `create(CalculatorCostModifierSchema)` to create a new message.
193
198
  */
194
- exports.CalculatorCostModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 24);
199
+ exports.CalculatorCostModifierSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 25);
195
200
  /**
196
201
  * Describes the message blueapi.cost.v1.ListCalculatorCostModifiersRequest.
197
202
  * Use `create(ListCalculatorCostModifiersRequestSchema)` to create a new message.
198
203
  */
199
- exports.ListCalculatorCostModifiersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 25);
204
+ exports.ListCalculatorCostModifiersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 26);
200
205
  /**
201
206
  * Describes the message blueapi.cost.v1.CreateCalculatorCostModifierRequest.
202
207
  * Use `create(CreateCalculatorCostModifierRequestSchema)` to create a new message.
203
208
  */
204
- exports.CreateCalculatorCostModifierRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 26);
209
+ exports.CreateCalculatorCostModifierRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 27);
205
210
  /**
206
211
  * Describes the message blueapi.cost.v1.CreateCalculatorCostModifierResponse.
207
212
  * Use `create(CreateCalculatorCostModifierResponseSchema)` to create a new message.
208
213
  */
209
- exports.CreateCalculatorCostModifierResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 27);
214
+ exports.CreateCalculatorCostModifierResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 28);
210
215
  /**
211
216
  * Describes the message blueapi.cost.v1.DeleteCalculatorCostModifierRequest.
212
217
  * Use `create(DeleteCalculatorCostModifierRequestSchema)` to create a new message.
213
218
  */
214
- exports.DeleteCalculatorCostModifierRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 28);
219
+ exports.DeleteCalculatorCostModifierRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 29);
215
220
  /**
216
221
  * Describes the message blueapi.cost.v1.ImportCurFilesRequest.
217
222
  * Use `create(ImportCurFilesRequestSchema)` to create a new message.
218
223
  */
219
- exports.ImportCurFilesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 29);
224
+ exports.ImportCurFilesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 30);
220
225
  /**
221
226
  * Describes the message blueapi.cost.v1.CostItem.
222
227
  * Use `create(CostItemSchema)` to create a new message.
223
228
  */
224
- exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 30);
229
+ exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 31);
225
230
  /**
226
231
  * Describes the message blueapi.cost.v1.CalculateCostsRequestAwsOptions.
227
232
  * Use `create(CalculateCostsRequestAwsOptionsSchema)` to create a new message.
228
233
  */
229
- exports.CalculateCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 31);
234
+ exports.CalculateCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 32);
230
235
  /**
231
236
  * Describes the message blueapi.cost.v1.CalculateCostsRequest.
232
237
  * Use `create(CalculateCostsRequestSchema)` to create a new message.
233
238
  */
234
- exports.CalculateCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 32);
239
+ exports.CalculateCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 33);
235
240
  /**
236
241
  * Describes the message blueapi.cost.v1.ListCalculationsHistoryRequest.
237
242
  * Use `create(ListCalculationsHistoryRequestSchema)` to create a new message.
238
243
  */
239
- exports.ListCalculationsHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 33);
244
+ exports.ListCalculationsHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 34);
240
245
  /**
241
246
  * Describes the message blueapi.cost.v1.ListCalculationsHistoryAwsResponse.
242
247
  * Use `create(ListCalculationsHistoryAwsResponseSchema)` to create a new message.
243
248
  */
244
- exports.ListCalculationsHistoryAwsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 34);
249
+ exports.ListCalculationsHistoryAwsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 35);
245
250
  /**
246
251
  * Describes the message blueapi.cost.v1.ListCalculationsHistoryResponse.
247
252
  * Use `create(ListCalculationsHistoryResponseSchema)` to create a new message.
248
253
  */
249
- exports.ListCalculationsHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 35);
254
+ exports.ListCalculationsHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 36);
250
255
  /**
251
256
  * Describes the message blueapi.cost.v1.CalculationsSchedule.
252
257
  * Use `create(CalculationsScheduleSchema)` to create a new message.
253
258
  */
254
- exports.CalculationsScheduleSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 36);
259
+ exports.CalculationsScheduleSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 37);
255
260
  /**
256
261
  * Describes the message blueapi.cost.v1.ListCalculationsSchedulesRequest.
257
262
  * Use `create(ListCalculationsSchedulesRequestSchema)` to create a new message.
258
263
  */
259
- exports.ListCalculationsSchedulesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 37);
264
+ exports.ListCalculationsSchedulesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 38);
260
265
  /**
261
266
  * Describes the message blueapi.cost.v1.ListCalculationsSchedulesResponse.
262
267
  * Use `create(ListCalculationsSchedulesResponseSchema)` to create a new message.
263
268
  */
264
- exports.ListCalculationsSchedulesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 38);
269
+ exports.ListCalculationsSchedulesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 39);
265
270
  /**
266
271
  * Describes the message blueapi.cost.v1.CreateCalculationsScheduleRequest.
267
272
  * Use `create(CreateCalculationsScheduleRequestSchema)` to create a new message.
268
273
  */
269
- exports.CreateCalculationsScheduleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 39);
274
+ exports.CreateCalculationsScheduleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 40);
270
275
  /**
271
276
  * Describes the message blueapi.cost.v1.DeleteCalculationsScheduleRequest.
272
277
  * Use `create(DeleteCalculationsScheduleRequestSchema)` to create a new message.
273
278
  */
274
- exports.DeleteCalculationsScheduleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 40);
279
+ exports.DeleteCalculationsScheduleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 41);
275
280
  /**
276
281
  * Describes the message blueapi.cost.v1.ReadCostAttributesRequest.
277
282
  * Use `create(ReadCostAttributesRequestSchema)` to create a new message.
278
283
  */
279
- exports.ReadCostAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 41);
284
+ exports.ReadCostAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 42);
280
285
  /**
281
286
  * Describes the message blueapi.cost.v1.ReadCostAttributesRequest.AwsOptions.
282
287
  * Use `create(ReadCostAttributesRequest_AwsOptionsSchema)` to create a new message.
283
288
  */
284
- exports.ReadCostAttributesRequest_AwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 41, 0);
289
+ exports.ReadCostAttributesRequest_AwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 42, 0);
285
290
  /**
286
291
  * Describes the message blueapi.cost.v1.ReadCostAttributesRequest.AzureOptions.
287
292
  * Use `create(ReadCostAttributesRequest_AzureOptionsSchema)` to create a new message.
288
293
  */
289
- exports.ReadCostAttributesRequest_AzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 41, 1);
294
+ exports.ReadCostAttributesRequest_AzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 42, 1);
290
295
  /**
291
296
  * Describes the message blueapi.cost.v1.CostAttributeItem.
292
297
  * Use `create(CostAttributeItemSchema)` to create a new message.
293
298
  */
294
- exports.CostAttributeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 42);
299
+ exports.CostAttributeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 43);
295
300
  /**
296
301
  * Describes the message blueapi.cost.v1.GetCostAttributesRequest.
297
302
  * Use `create(GetCostAttributesRequestSchema)` to create a new message.
298
303
  */
299
- exports.GetCostAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 43);
304
+ exports.GetCostAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 44);
300
305
  /**
301
306
  * Describes the message blueapi.cost.v1.GetCostAttributesResponse.
302
307
  * Use `create(GetCostAttributesResponseSchema)` to create a new message.
303
308
  */
304
- exports.GetCostAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 44);
309
+ exports.GetCostAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 45);
305
310
  /**
306
311
  * Describes the message blueapi.cost.v1.CostAttribute.
307
312
  * Use `create(CostAttributeSchema)` to create a new message.
308
313
  */
309
- exports.CostAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 45);
314
+ exports.CostAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 46);
310
315
  /**
311
316
  * Describes the message blueapi.cost.v1.ReadCostsRequestAwsOptionsFilters.
312
317
  * Use `create(ReadCostsRequestAwsOptionsFiltersSchema)` to create a new message.
313
318
  */
314
- exports.ReadCostsRequestAwsOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 46);
319
+ exports.ReadCostsRequestAwsOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 47);
315
320
  /**
316
321
  * Describes the message blueapi.cost.v1.ReadCostsRequestAwsOptions.
317
322
  * Use `create(ReadCostsRequestAwsOptionsSchema)` to create a new message.
318
323
  */
319
- exports.ReadCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 47);
324
+ exports.ReadCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 48);
320
325
  /**
321
326
  * Describes the message blueapi.cost.v1.ReadCostsRequestAwsOptions.TagFilters.
322
327
  * Use `create(ReadCostsRequestAwsOptions_TagFiltersSchema)` to create a new message.
323
328
  */
324
- exports.ReadCostsRequestAwsOptions_TagFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 47, 0);
329
+ exports.ReadCostsRequestAwsOptions_TagFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 48, 0);
325
330
  /**
326
331
  * Describes the message blueapi.cost.v1.ReadCostsRequest.
327
332
  * Use `create(ReadCostsRequestSchema)` to create a new message.
328
333
  */
329
- exports.ReadCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 48);
334
+ exports.ReadCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 49);
330
335
  /**
331
336
  * Describes the message blueapi.cost.v1.ReadAdjustmentsRequestAwsOptions.
332
337
  * Use `create(ReadAdjustmentsRequestAwsOptionsSchema)` to create a new message.
333
338
  */
334
- exports.ReadAdjustmentsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 49);
339
+ exports.ReadAdjustmentsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 50);
335
340
  /**
336
341
  * Describes the message blueapi.cost.v1.ReadAdjustmentsRequest.
337
342
  * Use `create(ReadAdjustmentsRequestSchema)` to create a new message.
338
343
  */
339
- exports.ReadAdjustmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 50);
344
+ exports.ReadAdjustmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 51);
340
345
  /**
341
346
  * Describes the message blueapi.cost.v1.ReadTagCostsRequestAwsOptions.
342
347
  * Use `create(ReadTagCostsRequestAwsOptionsSchema)` to create a new message.
343
348
  */
344
- exports.ReadTagCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 51);
349
+ exports.ReadTagCostsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 52);
345
350
  /**
346
351
  * Describes the message blueapi.cost.v1.ReadTagCostsRequestAwsOptions.TagFilters.
347
352
  * Use `create(ReadTagCostsRequestAwsOptions_TagFiltersSchema)` to create a new message.
348
353
  */
349
- exports.ReadTagCostsRequestAwsOptions_TagFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 51, 0);
354
+ exports.ReadTagCostsRequestAwsOptions_TagFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 52, 0);
350
355
  /**
351
356
  * Describes the message blueapi.cost.v1.ReadTagCostsRequest.
352
357
  * Use `create(ReadTagCostsRequestSchema)` to create a new message.
353
358
  */
354
- exports.ReadTagCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 52);
359
+ exports.ReadTagCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 53);
355
360
  /**
356
361
  * Describes the message blueapi.cost.v1.ReadNonTagCostsRequest.
357
362
  * Use `create(ReadNonTagCostsRequestSchema)` to create a new message.
358
363
  */
359
- exports.ReadNonTagCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 53);
364
+ exports.ReadNonTagCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 54);
360
365
  /**
361
366
  * Describes the message blueapi.cost.v1.GetForecastsRequest.
362
367
  * Use `create(GetForecastsRequestSchema)` to create a new message.
363
368
  */
364
- exports.GetForecastsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 54);
369
+ exports.GetForecastsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 55);
365
370
  /**
366
371
  * Describes the message blueapi.cost.v1.GetForecastsResponse.
367
372
  * Use `create(GetForecastsResponseSchema)` to create a new message.
368
373
  */
369
- exports.GetForecastsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 55);
374
+ exports.GetForecastsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 56);
370
375
  /**
371
376
  * Describes the message blueapi.cost.v1.GetMonthlyCostForecastRequest.
372
377
  * Use `create(GetMonthlyCostForecastRequestSchema)` to create a new message.
373
378
  */
374
- exports.GetMonthlyCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 56);
379
+ exports.GetMonthlyCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 57);
375
380
  /**
376
381
  * Describes the message blueapi.cost.v1.GetMonthlyCostForecastResponse.
377
382
  * Use `create(GetMonthlyCostForecastResponseSchema)` to create a new message.
378
383
  */
379
- exports.GetMonthlyCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 57);
384
+ exports.GetMonthlyCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 58);
380
385
  /**
381
386
  * Describes the message blueapi.cost.v1.GetMonthOnMonthCostForecastRequest.
382
387
  * Use `create(GetMonthOnMonthCostForecastRequestSchema)` to create a new message.
383
388
  */
384
- exports.GetMonthOnMonthCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 58);
389
+ exports.GetMonthOnMonthCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 59);
385
390
  /**
386
391
  * Describes the message blueapi.cost.v1.GetMonthOnMonthCostForecastResponse.
387
392
  * Use `create(GetMonthOnMonthCostForecastResponseSchema)` to create a new message.
388
393
  */
389
- exports.GetMonthOnMonthCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 59);
394
+ exports.GetMonthOnMonthCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 60);
390
395
  /**
391
396
  * Describes the message blueapi.cost.v1.GetMonthToDateCostForecastRequest.
392
397
  * Use `create(GetMonthToDateCostForecastRequestSchema)` to create a new message.
393
398
  */
394
- exports.GetMonthToDateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 60);
399
+ exports.GetMonthToDateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 61);
395
400
  /**
396
401
  * Describes the message blueapi.cost.v1.GetMonthToDateCostForecastResponse.
397
402
  * Use `create(GetMonthToDateCostForecastResponseSchema)` to create a new message.
398
403
  */
399
- exports.GetMonthToDateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 61);
404
+ exports.GetMonthToDateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 62);
400
405
  /**
401
406
  * Describes the message blueapi.cost.v1.GetAccountBudgetRequest.
402
407
  * Use `create(GetAccountBudgetRequestSchema)` to create a new message.
403
408
  */
404
- exports.GetAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 62);
409
+ exports.GetAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 63);
405
410
  /**
406
411
  * Describes the message blueapi.cost.v1.GetAccountBudgetResponse.
407
412
  * Use `create(GetAccountBudgetResponseSchema)` to create a new message.
408
413
  */
409
- exports.GetAccountBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 63);
414
+ exports.GetAccountBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 64);
410
415
  /**
411
416
  * Describes the message blueapi.cost.v1.CreateAccountBudgetRequest.
412
417
  * Use `create(CreateAccountBudgetRequestSchema)` to create a new message.
413
418
  */
414
- exports.CreateAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 64);
419
+ exports.CreateAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 65);
415
420
  /**
416
421
  * Describes the message blueapi.cost.v1.CreateAccountBudgetResponse.
417
422
  * Use `create(CreateAccountBudgetResponseSchema)` to create a new message.
418
423
  */
419
- exports.CreateAccountBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 65);
424
+ exports.CreateAccountBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 66);
420
425
  /**
421
426
  * Describes the message blueapi.cost.v1.UpdateAccountBudgetRequest.
422
427
  * Use `create(UpdateAccountBudgetRequestSchema)` to create a new message.
423
428
  */
424
- exports.UpdateAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 66);
429
+ exports.UpdateAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 67);
425
430
  /**
426
431
  * Describes the message blueapi.cost.v1.DeleteAccountBudgetRequest.
427
432
  * Use `create(DeleteAccountBudgetRequestSchema)` to create a new message.
428
433
  */
429
- exports.DeleteAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 67);
434
+ exports.DeleteAccountBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 68);
430
435
  /**
431
436
  * Describes the message blueapi.cost.v1.GetRecommendationsRequestAwsOptions.
432
437
  * Use `create(GetRecommendationsRequestAwsOptionsSchema)` to create a new message.
433
438
  */
434
- exports.GetRecommendationsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 68);
439
+ exports.GetRecommendationsRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 69);
435
440
  /**
436
441
  * Describes the message blueapi.cost.v1.GetRecommendationsRequest.
437
442
  * Use `create(GetRecommendationsRequestSchema)` to create a new message.
438
443
  */
439
- exports.GetRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 69);
444
+ exports.GetRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 70);
440
445
  /**
441
446
  * Describes the message blueapi.cost.v1.GetRecommendationsResponse.
442
447
  * Use `create(GetRecommendationsResponseSchema)` to create a new message.
443
448
  */
444
- exports.GetRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 70);
449
+ exports.GetRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 71);
445
450
  /**
446
451
  * Describes the message blueapi.cost.v1.GetCostReductionRequest.
447
452
  * Use `create(GetCostReductionRequestSchema)` to create a new message.
448
453
  */
449
- exports.GetCostReductionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 71);
454
+ exports.GetCostReductionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 72);
450
455
  /**
451
456
  * Describes the message blueapi.cost.v1.GetCostReductionResponse.
452
457
  * Use `create(GetCostReductionResponseSchema)` to create a new message.
453
458
  */
454
- exports.GetCostReductionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 72);
459
+ exports.GetCostReductionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 73);
455
460
  /**
456
461
  * Describes the message blueapi.cost.v1.GetExportRISPRequest.
457
462
  * Use `create(GetExportRISPRequestSchema)` to create a new message.
458
463
  */
459
- exports.GetExportRISPRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 73);
464
+ exports.GetExportRISPRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 74);
460
465
  /**
461
466
  * Describes the message blueapi.cost.v1.GetExportRISPResponse.
462
467
  * Use `create(GetExportRISPResponseSchema)` to create a new message.
463
468
  */
464
- exports.GetExportRISPResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 74);
469
+ exports.GetExportRISPResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 75);
465
470
  /**
466
471
  * Describes the message blueapi.cost.v1.GetUtilizationRequest.
467
472
  * Use `create(GetUtilizationRequestSchema)` to create a new message.
468
473
  */
469
- exports.GetUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 75);
474
+ exports.GetUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 76);
470
475
  /**
471
476
  * Describes the message blueapi.cost.v1.GetUtilizationResponse.
472
477
  * Use `create(GetUtilizationResponseSchema)` to create a new message.
473
478
  */
474
- exports.GetUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 76);
479
+ exports.GetUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 77);
475
480
  /**
476
481
  * Describes the message blueapi.cost.v1.GetCoverageOptionsRequest.
477
482
  * Use `create(GetCoverageOptionsRequestSchema)` to create a new message.
478
483
  */
479
- exports.GetCoverageOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 77);
484
+ exports.GetCoverageOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 78);
480
485
  /**
481
486
  * Describes the message blueapi.cost.v1.GetCoverageOptionsResponse.
482
487
  * Use `create(GetCoverageOptionsResponseSchema)` to create a new message.
483
488
  */
484
- exports.GetCoverageOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 78);
489
+ exports.GetCoverageOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 79);
485
490
  /**
486
491
  * Describes the message blueapi.cost.v1.GetCoverageOndemandRequest.
487
492
  * Use `create(GetCoverageOndemandRequestSchema)` to create a new message.
488
493
  */
489
- exports.GetCoverageOndemandRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 79);
494
+ exports.GetCoverageOndemandRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 80);
490
495
  /**
491
496
  * Describes the message blueapi.cost.v1.GetCoverageOndemandResponse.
492
497
  * Use `create(GetCoverageOndemandResponseSchema)` to create a new message.
493
498
  */
494
- exports.GetCoverageOndemandResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 80);
499
+ exports.GetCoverageOndemandResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 81);
495
500
  /**
496
501
  * Describes the message blueapi.cost.v1.GetBreakevenPointRequest.
497
502
  * Use `create(GetBreakevenPointRequestSchema)` to create a new message.
498
503
  */
499
- exports.GetBreakevenPointRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 81);
504
+ exports.GetBreakevenPointRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 82);
500
505
  /**
501
506
  * Describes the message blueapi.cost.v1.GetBreakevenPointResponse.
502
507
  * Use `create(GetBreakevenPointResponseSchema)` to create a new message.
503
508
  */
504
- exports.GetBreakevenPointResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 82);
509
+ exports.GetBreakevenPointResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 83);
505
510
  /**
506
511
  * Describes the message blueapi.cost.v1.ListCostFiltersRequest.
507
512
  * Use `create(ListCostFiltersRequestSchema)` to create a new message.
508
513
  */
509
- exports.ListCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 83);
514
+ exports.ListCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 84);
510
515
  /**
511
516
  * Describes the message blueapi.cost.v1.ListCostFiltersResponse.
512
517
  * Use `create(ListCostFiltersResponseSchema)` to create a new message.
513
518
  */
514
- exports.ListCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 84);
519
+ exports.ListCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 85);
515
520
  /**
516
521
  * Describes the message blueapi.cost.v1.ListCostFilters.
517
522
  * Use `create(ListCostFiltersSchema)` to create a new message.
518
523
  */
519
- exports.ListCostFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 85);
524
+ exports.ListCostFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 86);
520
525
  /**
521
526
  * Describes the message blueapi.cost.v1.CreateCostFiltersRequest.
522
527
  * Use `create(CreateCostFiltersRequestSchema)` to create a new message.
523
528
  */
524
- exports.CreateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 86);
529
+ exports.CreateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 87);
525
530
  /**
526
531
  * Describes the message blueapi.cost.v1.CreateCostFiltersResponse.
527
532
  * Use `create(CreateCostFiltersResponseSchema)` to create a new message.
528
533
  */
529
- exports.CreateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 87);
534
+ exports.CreateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 88);
530
535
  /**
531
536
  * Describes the message blueapi.cost.v1.UpdateCostFiltersRequest.
532
537
  * Use `create(UpdateCostFiltersRequestSchema)` to create a new message.
533
538
  */
534
- exports.UpdateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 88);
539
+ exports.UpdateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 89);
535
540
  /**
536
541
  * Describes the message blueapi.cost.v1.UpdateCostFiltersResponse.
537
542
  * Use `create(UpdateCostFiltersResponseSchema)` to create a new message.
538
543
  */
539
- exports.UpdateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 89);
544
+ exports.UpdateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 90);
540
545
  /**
541
546
  * Describes the message blueapi.cost.v1.DeleteCostFiltersRequest.
542
547
  * Use `create(DeleteCostFiltersRequestSchema)` to create a new message.
543
548
  */
544
- exports.DeleteCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 90);
549
+ exports.DeleteCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 91);
545
550
  /**
546
551
  * Describes the message blueapi.cost.v1.ExportCostFiltersFileRequest.
547
552
  * Use `create(ExportCostFiltersFileRequestSchema)` to create a new message.
548
553
  */
549
- exports.ExportCostFiltersFileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 91);
554
+ exports.ExportCostFiltersFileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 92);
550
555
  /**
551
556
  * Describes the message blueapi.cost.v1.ExportCostFiltersFileResponse.
552
557
  * Use `create(ExportCostFiltersFileResponseSchema)` to create a new message.
553
558
  */
554
- exports.ExportCostFiltersFileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 92);
559
+ exports.ExportCostFiltersFileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 93);
555
560
  /**
556
561
  * Describes the message blueapi.cost.v1.ReadCostsRequestGcpOptions.
557
562
  * Use `create(ReadCostsRequestGcpOptionsSchema)` to create a new message.
558
563
  */
559
- exports.ReadCostsRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 93);
564
+ exports.ReadCostsRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 94);
560
565
  /**
561
566
  * Describes the message blueapi.cost.v1.ReadCostsRequestGcpOptionsFilters.
562
567
  * Use `create(ReadCostsRequestGcpOptionsFiltersSchema)` to create a new message.
563
568
  */
564
- exports.ReadCostsRequestGcpOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 94);
569
+ exports.ReadCostsRequestGcpOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 95);
565
570
  /**
566
571
  * Describes the message blueapi.cost.v1.GetAccountBudgetAlertsRequest.
567
572
  * Use `create(GetAccountBudgetAlertsRequestSchema)` to create a new message.
568
573
  */
569
- exports.GetAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 95);
574
+ exports.GetAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 96);
570
575
  /**
571
576
  * Describes the message blueapi.cost.v1.CreateAccountBudgetAlertsRequest.
572
577
  * Use `create(CreateAccountBudgetAlertsRequestSchema)` to create a new message.
573
578
  */
574
- exports.CreateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 96);
579
+ exports.CreateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 97);
575
580
  /**
576
581
  * Describes the message blueapi.cost.v1.UpdateAccountBudgetAlertsRequest.
577
582
  * Use `create(UpdateAccountBudgetAlertsRequestSchema)` to create a new message.
578
583
  */
579
- exports.UpdateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 97);
584
+ exports.UpdateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 98);
580
585
  /**
581
586
  * Describes the message blueapi.cost.v1.DeleteAccountBudgetAlertsRequest.
582
587
  * Use `create(DeleteAccountBudgetAlertsRequestSchema)` to create a new message.
583
588
  */
584
- exports.DeleteAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 98);
589
+ exports.DeleteAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 99);
585
590
  /**
586
591
  * Describes the message blueapi.cost.v1.ReadCostsRequestAzureOptions.
587
592
  * Use `create(ReadCostsRequestAzureOptionsSchema)` to create a new message.
588
593
  */
589
- exports.ReadCostsRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 99);
594
+ exports.ReadCostsRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 100);
590
595
  /**
591
596
  * Describes the message blueapi.cost.v1.BudgetAlerts.
592
597
  * Use `create(BudgetAlertsSchema)` to create a new message.
593
598
  */
594
- exports.BudgetAlertsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 100);
599
+ exports.BudgetAlertsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 101);
595
600
  /**
596
601
  * Describes the message blueapi.cost.v1.ReadBudgetAlertsRequest.
597
602
  * Use `create(ReadBudgetAlertsRequestSchema)` to create a new message.
598
603
  */
599
- exports.ReadBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 101);
604
+ exports.ReadBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 102);
600
605
  /**
601
606
  * Describes the message blueapi.cost.v1.GetBudgetAlertsRequest.
602
607
  * Use `create(GetBudgetAlertsRequestSchema)` to create a new message.
603
608
  */
604
- exports.GetBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 102);
609
+ exports.GetBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 103);
605
610
  /**
606
611
  * Describes the message blueapi.cost.v1.CreateBudgetAlertsRequest.
607
612
  * Use `create(CreateBudgetAlertsRequestSchema)` to create a new message.
608
613
  */
609
- exports.CreateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 103);
614
+ exports.CreateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 104);
610
615
  /**
611
616
  * Describes the message blueapi.cost.v1.UpdateBudgetAlertsRequest.
612
617
  * Use `create(UpdateBudgetAlertsRequestSchema)` to create a new message.
613
618
  */
614
- exports.UpdateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 104);
619
+ exports.UpdateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 105);
615
620
  /**
616
621
  * Describes the message blueapi.cost.v1.DeleteBudgetAlertsRequest.
617
622
  * Use `create(DeleteBudgetAlertsRequestSchema)` to create a new message.
618
623
  */
619
- exports.DeleteBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 105);
624
+ exports.DeleteBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 106);
620
625
  /**
621
626
  * Describes the message blueapi.cost.v1.CheckAccountsRequest.
622
627
  * Use `create(CheckAccountsRequestSchema)` to create a new message.
623
628
  */
624
- exports.CheckAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 106);
629
+ exports.CheckAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 107);
625
630
  /**
626
631
  * Describes the message blueapi.cost.v1.CheckAccountsResponse.
627
632
  * Use `create(CheckAccountsResponseSchema)` to create a new message.
628
633
  */
629
- exports.CheckAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 107);
634
+ exports.CheckAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 108);
630
635
  /**
631
636
  * Describes the message blueapi.cost.v1.ReadInvoiceIdsRequest.
632
637
  * Use `create(ReadInvoiceIdsRequestSchema)` to create a new message.
633
638
  */
634
- exports.ReadInvoiceIdsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 108);
639
+ exports.ReadInvoiceIdsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 109);
635
640
  /**
636
641
  * Describes the message blueapi.cost.v1.ReadInvoiceIdsResponse.
637
642
  * Use `create(ReadInvoiceIdsResponseSchema)` to create a new message.
638
643
  */
639
- exports.ReadInvoiceIdsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 109);
644
+ exports.ReadInvoiceIdsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 110);
640
645
  /**
641
646
  * Describes the message blueapi.cost.v1.PeriodRange.
642
647
  * Use `create(PeriodRangeSchema)` to create a new message.
643
648
  */
644
- exports.PeriodRangeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 110);
649
+ exports.PeriodRangeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 111);
645
650
  /**
646
651
  * @generated from enum blueapi.cost.v1.PeriodRange.Unit
647
652
  */
@@ -667,52 +672,52 @@ var PeriodRange_Unit;
667
672
  /**
668
673
  * Describes the enum blueapi.cost.v1.PeriodRange.Unit.
669
674
  */
670
- exports.PeriodRange_UnitSchema = (0, codegenv2_1.enumDesc)(exports.file_cost_v1_cost, 110, 0);
675
+ exports.PeriodRange_UnitSchema = (0, codegenv2_1.enumDesc)(exports.file_cost_v1_cost, 111, 0);
671
676
  /**
672
677
  * Describes the message blueapi.cost.v1.ReadInvoiceOverviewsRequest.
673
678
  * Use `create(ReadInvoiceOverviewsRequestSchema)` to create a new message.
674
679
  */
675
- exports.ReadInvoiceOverviewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 111);
680
+ exports.ReadInvoiceOverviewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 112);
676
681
  /**
677
682
  * Describes the message blueapi.cost.v1.ReadInvoiceCostsRequest.
678
683
  * Use `create(ReadInvoiceCostsRequestSchema)` to create a new message.
679
684
  */
680
- exports.ReadInvoiceCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 112);
685
+ exports.ReadInvoiceCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 113);
681
686
  /**
682
687
  * Describes the message blueapi.cost.v1.ReadInvoiceGroupCostsRequest.
683
688
  * Use `create(ReadInvoiceGroupCostsRequestSchema)` to create a new message.
684
689
  */
685
- exports.ReadInvoiceGroupCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 113);
690
+ exports.ReadInvoiceGroupCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 114);
686
691
  /**
687
692
  * Describes the message blueapi.cost.v1.ReadAccountOriginalResourcesRequest.
688
693
  * Use `create(ReadAccountOriginalResourcesRequestSchema)` to create a new message.
689
694
  */
690
- exports.ReadAccountOriginalResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 114);
695
+ exports.ReadAccountOriginalResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 115);
691
696
  /**
692
697
  * Describes the message blueapi.cost.v1.RegisterPayerAccountRequest.
693
698
  * Use `create(RegisterPayerAccountRequestSchema)` to create a new message.
694
699
  */
695
- exports.RegisterPayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 115);
700
+ exports.RegisterPayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 116);
696
701
  /**
697
702
  * Describes the message blueapi.cost.v1.UpdatePayerAccountRequest.
698
703
  * Use `create(UpdatePayerAccountRequestSchema)` to create a new message.
699
704
  */
700
- exports.UpdatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 116);
705
+ exports.UpdatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 117);
701
706
  /**
702
707
  * Describes the message blueapi.cost.v1.ListCalculationPrerequisitesRequest.
703
708
  * Use `create(ListCalculationPrerequisitesRequestSchema)` to create a new message.
704
709
  */
705
- exports.ListCalculationPrerequisitesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 117);
710
+ exports.ListCalculationPrerequisitesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 118);
706
711
  /**
707
712
  * Describes the message blueapi.cost.v1.CalculationPrerequisite.
708
713
  * Use `create(CalculationPrerequisiteSchema)` to create a new message.
709
714
  */
710
- exports.CalculationPrerequisiteSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 118);
715
+ exports.CalculationPrerequisiteSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 119);
711
716
  /**
712
717
  * Describes the message blueapi.cost.v1.ListCalculationPrerequisitesResponse.
713
718
  * Use `create(ListCalculationPrerequisitesResponseSchema)` to create a new message.
714
719
  */
715
- exports.ListCalculationPrerequisitesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 119);
720
+ exports.ListCalculationPrerequisitesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 120);
716
721
  /**
717
722
  * Service for reading aggregated costs for your cloud costs and usages.
718
723
  *