@alphauspkgs/blue-sdk-ts 1.0.42 → 1.0.44

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.
@@ -4,8 +4,8 @@
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
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.GetBreakevenPointResponseSchema = exports.GetBreakevenPointRequestSchema = exports.GetCoverageOndemandResponseSchema = exports.GetCoverageOndemandRequestSchema = exports.GetCoverageOptionsResponseSchema = exports.GetCoverageOptionsRequestSchema = exports.GetUtilizationResponseSchema = exports.GetUtilizationRequestSchema = exports.ExportReportResponseSchema = exports.AwsRispExportOptions_ColumnsSchema = exports.AwsRispExportOptionsSchema = exports.ExportReportRequestSchema = 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 = exports.CreateCostFiltersRequestSchema = exports.ListCostFiltersSchema = exports.ListCostFiltersResponseSchema = exports.ListCostFiltersRequestSchema = void 0;
7
+ exports.ListCostFiltersRequestSchema = exports.GetBreakevenPointResponseSchema = exports.GetBreakevenPointRequestSchema = exports.GetCoverageOndemandResponseSchema = exports.GetCoverageOndemandRequestSchema = exports.GetCoverageOptionsResponseSchema = exports.GetCoverageOptionsRequestSchema = exports.GetUtilizationResponseSchema = exports.GetUtilizationRequestSchema = exports.AwsRispExportOptions_ColumnsSchema = exports.AwsRispExportOptionsSchema = exports.ExportReportRequestSchema = 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.SetupPayerAccountBillingTransferRequestSchema = 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 = exports.CreateCostFiltersRequestSchema = exports.ListCostFiltersSchema = exports.ListCostFiltersResponseSchema = 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)("ChJjb3N0L3YxL2Nvc3QucHJvdG8SD2JsdWVhcGkuY29zdC52MSJaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjQKFkdldFBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIsACChRQYXllckFjY291bnRFeHRlbmRlZBIoCgVwYXllchgBIAEoCzIZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllchIOCgZ0YXJnZXQYAiABKAkSDwoHcm9sZUFybhgDIAEoCRISCgpleHRlcm5hbElkGAQgASgJEg8KB3N0YWNrSWQYBSABKAkSEwoLc3RhY2tSZWdpb24YBiABKAkSEwoLdGVtcGxhdGVVcmwYByABKAkSDgoGc3RhdHVzGAggASgJEhMKC2xhc3RVcGRhdGVkGAkgASgJEhIKCmJ1Y2tldE5hbWUYCiABKAkSDgoGcHJlZml4GAsgASgJEhIKCnJlcG9ydE5hbWUYDCABKAkSIAoYZGVmYXVsdENvc3RBY2Nlc3NSb2xlQXJuGA0gASgJEg8KB2N1clR5cGUYDiABKAkiUAojR2V0UGF5ZXJBY2NvdW50SW1wb3J0SGlzdG9yeVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEg0KBW1vbnRoGAMgASgJIlUKJEdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXNwb25zZRIKCgJpZBgBIAEoCRINCgVtb250aBgCIAEoCRISCgp0aW1lc3RhbXBzGAMgAygJIjwKHkdldFBheWVyUHJvZm9ybWFSZXBvcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiVAofR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXNwb25zZRIxCgdyZXBvcnRzGAEgAygLMiAuYmx1ZWFwaS5jb3N0LnYxLlByb2Zvcm1hUmVwb3J0cyKbAQoPUHJvZm9ybWFSZXBvcnRzEgoKAmlkGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEgoKYnVja2V0TmFtZRgEIAEoCRIOCgZwcmVmaXgYBSABKAkSEgoKcmVwb3J0TmFtZRgGIAEoCRIPCgdyb2xlQXJuGAcgASgJIogBCiNDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhIKCmJ1Y2tldE5hbWUYAyABKAkSDgoGcHJlZml4GAQgASgJEhIKCnJlcG9ydE5hbWUYBSABKAkSDwoHcm9sZUFybhgGIAEoCSJ1ChlDcmVhdGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJICgphd3NPcHRpb25zGAIgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZVBheWVyQWNjb3VudFJlcXVlc3RBd3NPcHRpb25zIjcKGURlbGV0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJImYKE0xpc3RBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSLgoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siXwoRR2V0QWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIj0KHkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJIloKHkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucxIbChNtYW5hZ2VtZW50QWNjb3VudElkGAEgASgJEhsKE21hbmFnZW1lbnRCaWxsaW5nSWQYAiABKAki2gEKFENyZWF0ZUFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBnBhcmVudBgEIAEoCRJDCgphd3NPcHRpb25zGAUgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0QXdzT3B0aW9ucxJDCgpnY3BPcHRpb25zGAYgASgLMi8uYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0R2NwT3B0aW9ucyJAChRVcGRhdGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCSIyChREZWxldGVBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiYgoPTGlzdFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJEi4KCmZpZWxkX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIkUKJExpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAki0gEKJUxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2USVQoDYXdzGAEgASgLMkguYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVzcG9uc2UuQXdzUnVubmluZ0FjY291bnQaUgoRQXdzUnVubmluZ0FjY291bnQSDQoFbW9udGgYASABKAkSDwoHYWNjb3VudBgCIAEoCRIMCgRkYXRlGAMgASgJEg8KB3N0YXJ0ZWQYBCABKAkiLAoaR2V0Q2FsY3VsYXRvckNvbmZpZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIk0KG0dldENhbGN1bGF0b3JDb25maWdSZXNwb25zZRIuCgNhd3MYASABKAsyIS5ibHVlYXBpLmFwaS5hd3MuQ2FsY3VsYXRvckNvbmZpZyKpBgogQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSEQoJYWNjb3VudElkGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSDwoHcGF5ZXJJZBgDIAEoCRJPCgpxdWFsaWZpZXJzGAQgAygLMjsuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zLlF1YWxpZmllchJMCghtb2RpZmllchgFIAEoCzI6LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllchINCgVhZnRlchgGIAEoCRIUCgxjcmVhdGVOZXdSb3cYByABKAgaigEKCVF1YWxpZmllchJRCgNhbmQYASADKAsyRC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa/gIKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSawoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJOLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXdzT3B0aW9ucy5Nb2RpZmllci5EZXNjcmlwdGlvbk1vZGlmaWVyGvMBChNEZXNjcmlwdGlvbk1vZGlmaWVyEg4KBnByZWZpeBgBIAEoCRIOCgZzdWZmaXgYAiABKAkSDwoHcmVwbGFjZRgDIAEoCRJ2CgxyZXBsYWNlTWF0Y2gYBCADKAsyYC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMuTW9kaWZpZXIuRGVzY3JpcHRpb25Nb2RpZmllci5SZXBsYWNlTWF0Y2hFbnRyeRozChFSZXBsYWNlTWF0Y2hFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIp8FCiJDYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zEg8KB2dyb3VwSWQYASABKAkSDwoHcGF5ZXJJZBgCIAEoCRISCgpjdXN0b21lcklkGAMgASgJEhYKDnN1YnNjcmlwdGlvbklkGAQgASgJEhUKDWVudGl0bGVtZW50SWQYBSABKAkSUQoKcXVhbGlmaWVycxgGIAMoCzI9LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLlF1YWxpZmllchJOCghtb2RpZmllchgHIAEoCzI8LmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyEg0KBWFmdGVyGAggASgJGowBCglRdWFsaWZpZXISUwoDYW5kGAEgAygLMkYuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMuUXVhbGlmaWVyLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEa0gEKCE1vZGlmaWVyEg8KB2Zvcm11bGEYASABKAkSbQoTZGVzY3JpcHRpb25Nb2RpZmllchgCIAEoCzJQLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zLk1vZGlmaWVyLkRlc2NyaXB0aW9uTW9kaWZpZXIaRgoTRGVzY3JpcHRpb25Nb2RpZmllchIOCgZwcmVmaXgYASABKAkSDgoGc3VmZml4GAIgASgJEg8KB3JlcGxhY2UYAyABKAki3gEKFkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISCgoCaWQYASABKAkSEgoKY3JlYXRlVGltZRgCIAEoCRISCgp1cGRhdGVUaW1lGAMgASgJEkUKCmF3c09wdGlvbnMYBCABKAsyMS5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllckF3c09wdGlvbnMSSQoMYXp1cmVPcHRpb25zGAUgASgLMjMuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBenVyZU9wdGlvbnMiNAoiTGlzdENhbGN1bGF0b3JDb3N0TW9kaWZpZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkixwEKI0NyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXJSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRJFCgphd3NPcHRpb25zGAIgASgLMjEuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXJBd3NPcHRpb25zEkkKDGF6dXJlT3B0aW9ucxgDIAEoCzIzLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdG9yQ29zdE1vZGlmaWVyQXp1cmVPcHRpb25zIpQBCiRDcmVhdGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVzcG9uc2USNAoDYXdzGAEgAygLMicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNgoFYXp1cmUYAiADKAsyJy5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRvckNvc3RNb2RpZmllciJBCiNEZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiNgoVSW1wb3J0Q3VyRmlsZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEg4KBmZpbHRlchgCIAEoCSJ6CghDb3N0SXRlbRIiCgNhd3MYASABKAsyFS5ibHVlYXBpLmFwaS5hd3MuQ29zdBIiCgNnY3AYAiABKAsyFS5ibHVlYXBpLmFwaS5nY3AuQ29zdBImCgVhenVyZRgDIAEoCzIXLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3QiWAofQ2FsY3VsYXRlQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxINCgVmb3JjZRgBIAEoCBIUCgxhY2NvdW50c09ubHkYAiABKAgSEAoIdGFnc09ubHkYAyABKAgijQEKFUNhbGN1bGF0ZUNvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRINCgVtb250aBgDIAEoCRJECgphd3NPcHRpb25zGAQgASgLMjAuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0ZUNvc3RzUmVxdWVzdEF3c09wdGlvbnMiUwoeTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIMCgRhc09mGAIgASgJEhMKC2V4Y2x1ZGVEb25lGAMgASgIIksKIkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5QXdzUmVzcG9uc2USJQoKb3BlcmF0aW9ucxgBIAMoCzIRLnByb3Rvcy5PcGVyYXRpb24iYwofTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlSZXNwb25zZRJACgNhd3MYASABKAsyMy5ibHVlYXBpLmNvc3QudjEuTGlzdENhbGN1bGF0aW9uc0hpc3RvcnlBd3NSZXNwb25zZSK9AQoUQ2FsY3VsYXRpb25zU2NoZWR1bGUSCgoCaWQYASABKAkSEAoIc2NoZWR1bGUYAiABKAkSFQoNc2NoZWR1bGVNYWNybxgIIAEoCRITCgt0YXJnZXRNb250aBgJIAEoCRIPCgduZXh0UnVuGAMgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYBCABKAkSDQoFZm9yY2UYBSABKAgSDgoGZHJ5UnVuGAYgASgIEg4KBnN0YXR1cxgHIAEoCSIyCiBMaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiXQohTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlc1Jlc3BvbnNlEjgKCXNjaGVkdWxlcxgBIAMoCzIlLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvbnNTY2hlZHVsZSKtAQohQ3JlYXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghzY2hlZHVsZRgCIAEoCRIVCg1zY2hlZHVsZU1hY3JvGAYgASgJEhMKC3RhcmdldE1vbnRoGAcgASgJEhsKE25vdGlmaWNhdGlvbkNoYW5uZWwYAyABKAkSDQoFZm9yY2UYBCABKAgSDgoGZHJ5UnVuGAUgASgIIj8KIURlbGV0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkiggMKGVJlYWRDb3N0QXR0cmlidXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkkKCmF3c09wdGlvbnMYBiABKAsyNS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdC5Bd3NPcHRpb25zEk0KDGF6dXJlT3B0aW9ucxgHIAEoCzI3LmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdEF0dHJpYnV0ZXNSZXF1ZXN0LkF6dXJlT3B0aW9ucxogCgpBd3NPcHRpb25zEhIKCmRpbWVuc2lvbnMYASABKAkaUQoMQXp1cmVPcHRpb25zEhIKCmN1c3RvbWVySWQYASABKAkSFgoOc3Vic2NyaXB0aW9uSWQYAiABKAkSFQoNZW50aXRsZW1lbnRJZBgDIAEoCSJxChFDb3N0QXR0cmlidXRlSXRlbRIrCgNhd3MYASABKAsyHi5ibHVlYXBpLmFwaS5hd3MuQ29zdEF0dHJpYnV0ZRIvCgVhenVyZRgCIAEoCzIgLmJsdWVhcGkuYXBpLmF6dXJlLkNvc3RBdHRyaWJ1dGUibwoYR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdncm91cElkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIQCghjYXRlZ29yeRgFIAEoCSJKChlHZXRDb3N0QXR0cmlidXRlc1Jlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uYmx1ZWFwaS5jb3N0LnYxLkNvc3RBdHRyaWJ1dGUiPwoNQ29zdEF0dHJpYnV0ZRIOCgZ2ZW5kb3IYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSDAoEZGF0YRgDIAMoCSKuAQohUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzElYKCmFuZEZpbHRlcnMYASADKAsyQi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxBAoaUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYCCABKAgSFQoNZ3JvdXBCeVRhZ0tleRgMIAEoCRJDCgdmaWx0ZXJzGAMgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJKCgp0YWdGaWx0ZXJzGAkgAygLMjYuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBCABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAUgASgIEhIKCnRvQ3VycmVuY3kYBiABKAkSEwoLZm9yY2VMYXRlc3QYByABKAgSDwoHbm9DYWNoZRgKIAEoCBIaChJpbmNsdWRlQWRqdXN0bWVudHMYCyABKAgamwEKClRhZ0ZpbHRlcnMSWgoKYW5kRmlsdGVycxgBIAMoCzJGLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKxAgoQUmVhZENvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDwoHZ3JvdXBJZBgCIAEoCRIRCglhY2NvdW50SWQYAyABKAkSEQoJc3RhcnRUaW1lGAQgASgJEg8KB2VuZFRpbWUYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucxI/CgpnY3BPcHRpb25zGAcgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zEkMKDGF6dXJlT3B0aW9ucxgIIAEoCzItLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zIjYKIFJlYWRBZGp1c3RtZW50c1JlcXVlc3RBd3NPcHRpb25zEhIKCnRvQ3VycmVuY3kYASABKAkitwEKFlJlYWRBZGp1c3RtZW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJEkUKCmF3c09wdGlvbnMYBiABKAsyMS5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdEF3c09wdGlvbnMijwQKHVJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zEg0KBXRhZ0lkGAEgASgJEhYKDmdyb3VwQnlDb2x1bW5zGAIgASgJEhQKDGdyb3VwQnlNb250aBgDIAEoCBJDCgdmaWx0ZXJzGAQgAygLMjIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zRmlsdGVycxJNCgp0YWdGaWx0ZXJzGAUgAygLMjkuYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zLlRhZ0ZpbHRlcnMSEwoLaW5jbHVkZVRhZ3MYBiABKAgSHQoVaW5jbHVkZUNvc3RDYXRlZ29yaWVzGAcgASgIEhIKCnRvQ3VycmVuY3kYCCABKAkSEwoLZm9yY2VMYXRlc3QYCSABKAgSDwoHbm9DYWNoZRgKIAEoCBIOCgZ0YWdJZHMYCyADKAkangEKClRhZ0ZpbHRlcnMSXQoKYW5kRmlsdGVycxgBIAMoCzJJLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucy5UYWdGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK/AQoTUmVhZFRhZ0Nvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFQoNZ3JvdXBCeU1vbnRocxgFIAEoCBJCCgphd3NPcHRpb25zGAYgASgLMi4uYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zIn4KFlJlYWROb25UYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgihAEKE0dldEZvcmVjYXN0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCWZyZXF1ZW5jeRgDIAEoCRINCgVsZXZlbBgEIAEoCRIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkiRwoUR2V0Rm9yZWNhc3RzUmVzcG9uc2USLwoEZGF0YRgBIAEoCzIhLmJsdWVhcGkuYXBpLkJpbGxpbmdHcm91cEZvcmVjYXN0ImwKHUdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkibwoeR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEi4KBGRhdGEYAiADKAsyIC5ibHVlYXBpLmFwaS5Nb250aGx5Q29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJdCiJHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIMCgRkYXRlGAQgASgJInkKI0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEjMKBGRhdGEYAiADKAsyJS5ibHVlYXBpLmFwaS5Nb250aE9uTW9udGhDb3N0Rm9yZWNhc3QSEQoJdGltZXN0YW1wGAMgASgJIlwKIUdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSKHAQoiR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZidWRnZXQYAiABKAESMgoEZGF0YRgDIAMoCzIkLmJsdWVhcGkuYXBpLk1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgEIAEoCSJSChdHZXRBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEeWVhchgEIAEoCSI9ChhHZXRBY2NvdW50QnVkZ2V0UmVzcG9uc2USIQoEZGF0YRgBIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCJqChpDcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSIQoEZGF0YRgEIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCIvChtDcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2USEAoIYnVkZ2V0SWQYASABKAkiYQoaVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJEiEKBGRhdGEYAyABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiPgoaRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJIosCCiNHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucxIaChJyZWNvbW1lbmRhdGlvblR5cGUYASABKAkSDAoEdHlwZRgCIAEoCRISCgpyaVNlcnZpY2VzGAMgAygJEhIKCnNwU2VydmljZXMYBCADKAkSHgoWcHVyY2hhc2VFQzJTYXZpbmdzUGxhbhgFIAEoCBIaChJlYzJTcFByb2R1Y3RGYW1pbHkYBiABKAkSDAoEdGVybRgHIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAggASgJEhUKDXBheW1lbnRPcHRpb24YCSABKAkSGgoSY292ZXJhZ2VQZXJjZW50YWdlGAogASgBIqsBChlHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRITCgtjb3N0R3JvdXBJZBgEIAEoCRJICgphd3NPcHRpb25zGAUgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3RBd3NPcHRpb25zImwKGkdldFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj8KEmF3c1JlY29tbWVuZGF0aW9ucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmF3cy5Bd3NSZWNvbW1lbmRhdGlvbnMiggIKF0dldENvc3RSZWR1Y3Rpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiaAoYR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj0KEWF3c0Nvc3RSZWR1Y3Rpb25zGAIgASgLMiIuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RSZWR1Y3Rpb25zIlQKFEdldEV4cG9ydFJJU1BSZXF1ZXN0EgwKBHR5cGUYASABKAkSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFgoOaW5jbHVkZUV4cGlyZWQYAyABKAgiLQoVR2V0RXhwb3J0UklTUFJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSKYAQoTRXhwb3J0UmVwb3J0UmVxdWVzdBINCgVtb250aBgCIAEoCRIOCgZ2ZW5kb3IYASABKAkSJgoYbm90aWZpY2F0aW9uX2NoYW5uZWxfaWRzGAQgAygJQgTiQQEBEjoKC2F3c19vcHRpb25zGAogASgLMiUuYmx1ZWFwaS5jb3N0LnYxLkF3c1Jpc3BFeHBvcnRPcHRpb25zIssCChRBd3NSaXNwRXhwb3J0T3B0aW9ucxIXCg9pbmNsdWRlX2V4cGlyZWQYASABKAgSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFQoHcXVlcmllcxgDIAMoCUIE4kEBAhIVCgdjb2x1bW5zGAQgAygJQgTiQQEBElMKEGNvbHVtbnNfYnlfcXVlcnkYBSADKAsyOS5ibHVlYXBpLmNvc3QudjEuQXdzUmlzcEV4cG9ydE9wdGlvbnMuQ29sdW1uc0J5UXVlcnlFbnRyeRoZCgdDb2x1bW5zEg4KBnZhbHVlcxgBIAMoCRpkChNDb2x1bW5zQnlRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLmJsdWVhcGkuY29zdC52MS5Bd3NSaXNwRXhwb3J0T3B0aW9ucy5Db2x1bW5zOgI4ASIqChRFeHBvcnRSZXBvcnRSZXNwb25zZRISCgplbWFpbF9zZW50GAEgASgIIrgBChVHZXRVdGlsaXphdGlvblJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCSJeChZHZXRVdGlsaXphdGlvblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEjUKD3V0aWxpemF0aW9uRGF0YRgCIAMoCzIcLmJsdWVhcGkuYXBpLlV0aWxpemF0aW9uRGF0YSL0AQoZR2V0Q292ZXJhZ2VPcHRpb25zUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGcGVyaW9kGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkSEAoIYWNjb3VudHMYCiADKAkSEAoIc2VydmljZXMYCyADKAkSEAoIY3VycmVuY3kYDCABKAkiWgoaR2V0Q292ZXJhZ2VPcHRpb25zUmVzcG9uc2USDQoFb3JnSWQYASABKAkSLQoLb3B0aW9uc0RhdGEYAiADKAsyGC5ibHVlYXBpLmFwaS5PcHRpb25zRGF0YSLjAQoaR2V0Q292ZXJhZ2VPbmRlbWFuZFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnBlcmlvZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJEhAKCGFjY291bnRzGAogAygJEhAKCHNlcnZpY2VzGAsgAygJIl0KG0dldENvdmVyYWdlT25kZW1hbmRSZXNwb25zZRINCgVvcmdJZBgBIAEoCRIvCgxvbmRlbWFuZERhdGEYAiADKAsyGS5ibHVlYXBpLmFwaS5PbmRlbWFuZERhdGEiVAoYR2V0QnJlYWtldmVuUG9pbnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIMCgR0eXBlGAMgASgJEgsKA2FybhgEIAEoCSJnChlHZXRCcmVha2V2ZW5Qb2ludFJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEjsKEGF3c0Nvc3RCcmVha2V2ZW4YAiABKAsyIS5ibHVlYXBpLmFwaS5hd3MuQXdzQ29zdEJyZWFrZXZlbiIoChZMaXN0Q29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJQChdMaXN0Q29zdEZpbHRlcnNSZXNwb25zZRI1Cgtjb3N0RmlsdGVycxgBIAMoCzIgLmJsdWVhcGkuY29zdC52MS5MaXN0Q29zdEZpbHRlcnMirAEKD0xpc3RDb3N0RmlsdGVycxIQCghmaWx0ZXJJZBgBIAEoCRISCgpmaWx0ZXJOYW1lGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdncm91cElkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRI/Cgphd3NPcHRpb25zGAYgASgLMisuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RBd3NPcHRpb25zIqMBChhDcmVhdGVDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhIKCmZpbHRlck5hbWUYAiABKAkSDwoHZ3JvdXBJZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSPwoKYXdzT3B0aW9ucxgFIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyItChlDcmVhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlEhAKCGZpbHRlcklkGAEgASgJIrUBChhVcGRhdGVDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGZpbHRlcklkGAIgASgJEhIKCmZpbHRlck5hbWUYAyABKAkSDwoHZ3JvdXBJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyItChlVcGRhdGVDb3N0RmlsdGVyc1Jlc3BvbnNlEhAKCGZpbHRlcklkGAEgASgJIjwKGERlbGV0ZUNvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIZmlsdGVySWQYAiABKAkixwEKHEV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGZpbHRlcklkGAIgASgJEh4KFm5vdGlmaWNhdGlvbkNoYW5uZWxJZHMYCCADKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFAoMZ3JvdXBCeU1vbnRoGAUgASgIEhYKDmdyb3VwQnlDb2x1bW5zGAYgASgJEhMKC2luY2x1ZGVUYWdzGAcgASgIIiwKHUV4cG9ydENvc3RGaWx0ZXJzRmlsZVJlc3BvbnNlEgsKA3VybBgBIAEoCSKSAgoaUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFAoMZ3JvdXBCeU1vbnRoGAIgASgIEhUKDWdyb3VwQWNjb3VudHMYAyABKAgSQwoHZmlsdGVycxgEIAMoCzIyLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9uc0ZpbHRlcnMSGwoTaW5jbHVkZUludm9pY2VNb250aBgGIAEoCBIWCg5pbmNsdWRlQ3JlZGl0cxgHIAEoCBIQCghyb3VuZGluZxgIIAEoCBIPCgdub0NhY2hlGAUgASgIEhIKCnRvQ3VycmVuY3kYCSABKAkirgEKIVJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycxJWCgphbmRGaWx0ZXJzGAEgAygLMkIuYmx1ZWFwaS5jb3N0LnYxLlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwodR2V0QWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJInIKIENyZWF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIyCgtidWRnZXRBbGVydBgDIAEoCzIdLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQicgogVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEjIKC2J1ZGdldEFsZXJ0GAMgASgLMh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCI+CiBEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkicQocUmVhZENvc3RzUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIUCgxncm91cEJ5TW9udGgYAiABKAgSDwoHbm9DYWNoZRgDIAEoCBISCgp0b0N1cnJlbmN5GAQgASgJIqgDCgxCdWRnZXRBbGVydHMSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEiYKCGFjY291bnRzGAMgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudBJACgxub3RpZmljYXRpb24YBCABKAsyKi5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbkRldGFpbBIsCgVkYWlseRgFIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAcgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAYgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgIIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAkgASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCJJChdSZWFkQnVkZ2V0QWxlcnRzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayIkChZHZXRCdWRnZXRBbGVydHNSZXF1ZXN0EgoKAmlkGAEgASgJIo0DChlDcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghhY2NvdW50cxgCIAMoCRI6Cgxub3RpZmljYXRpb24YAyABKAsyJC5ibHVlYXBpLmFwaS5CdWRnZXRBbGVydE5vdGlmaWNhdGlvbhIsCgVkYWlseRgEIAEoCzIdLmJsdWVhcGkuYXBpLkRhaWx5QnVkZ2V0QWxlcnQSPAoJZGFpbHlSYXRlGAYgASgLMikuYmx1ZWFwaS5hcGkuRGFpbHlSYXRlSW5jcmVhc2VCdWRnZXRBbGVydBIwCgdtb250aGx5GAUgASgLMh8uYmx1ZWFwaS5hcGkuTW9udGhseUJ1ZGdldEFsZXJ0EjoKDGN1c3RvbVBlcmlvZBgHIAEoCzIkLmJsdWVhcGkuYXBpLkN1c3RvbVBlcmlvZEJ1ZGdldEFsZXJ0EjgKC2N1c3RvbU1vbnRoGAggASgLMiMuYmx1ZWFwaS5hcGkuQ3VzdG9tTW9udGhCdWRnZXRBbGVydCKZAwoZVXBkYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIYWNjb3VudHMYAyADKAkSOgoMbm90aWZpY2F0aW9uGAQgASgLMiQuYmx1ZWFwaS5hcGkuQnVkZ2V0QWxlcnROb3RpZmljYXRpb24SLAoFZGFpbHkYBSABKAsyHS5ibHVlYXBpLmFwaS5EYWlseUJ1ZGdldEFsZXJ0EjwKCWRhaWx5UmF0ZRgHIAEoCzIpLmJsdWVhcGkuYXBpLkRhaWx5UmF0ZUluY3JlYXNlQnVkZ2V0QWxlcnQSMAoHbW9udGhseRgGIAEoCzIfLmJsdWVhcGkuYXBpLk1vbnRobHlCdWRnZXRBbGVydBI6CgxjdXN0b21QZXJpb2QYCCABKAsyJC5ibHVlYXBpLmFwaS5DdXN0b21QZXJpb2RCdWRnZXRBbGVydBI4CgtjdXN0b21Nb250aBgJIAEoCzIjLmJsdWVhcGkuYXBpLkN1c3RvbU1vbnRoQnVkZ2V0QWxlcnQiJwoZRGVsZXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCSI6ChRDaGVja0FjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEgoKYWNjb3VudElkcxgCIAMoCSKKAQoVQ2hlY2tBY2NvdW50c1Jlc3BvbnNlEkIKBmV4aXN0cxgBIAMoCzIyLmJsdWVhcGkuY29zdC52MS5DaGVja0FjY291bnRzUmVzcG9uc2UuRXhpc3RzRW50cnkaLQoLRXhpc3RzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASI2ChVSZWFkSW52b2ljZUlkc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIiQKFlJlYWRJbnZvaWNlSWRzUmVzcG9uc2USCgoCaWQYASABKAkisAEKC1BlcmlvZFJhbmdlEi8KBHVuaXQYASABKA4yIS5ibHVlYXBpLmNvc3QudjEuUGVyaW9kUmFuZ2UuVW5pdBIMCgR5ZWFyGAIgASgNEhAKCHN0YXJ0aW5nGAMgASgNEhAKCGR1cmF0aW9uGAQgASgNIj4KBFVuaXQSFAoQVU5JVF9VTlNQRUNJRklFRBAAEgkKBU1PTlRIEAESCwoHUVVBUlRFUhACEggKBFlFQVIQAyKgAQobUmVhZEludm9pY2VPdmVydmlld3NSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhYKDnVzZVBlcmlvZFJhbmdlGAQgASgIEjEKC3BlcmlvZFJhbmdlGAUgASgLMhwuYmx1ZWFwaS5jb3N0LnYxLlBlcmlvZFJhbmdlEhIKCnRvQ3VycmVuY3kYAyABKAkiUQoXUmVhZEludm9pY2VDb3N0c1JlcXVlc3QSEQoJc3RhcnRUaW1lGAEgASgJEg8KB2VuZFRpbWUYAiABKAkSEgoKdG9DdXJyZW5jeRgDIAEoCSJlChxSZWFkSW52b2ljZUdyb3VwQ29zdHNSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhIKCnRvQ3VycmVuY3kYAyABKAkSDQoFbGltaXQYBCABKAUiNQojUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIlgKG1JlZ2lzdGVyUGF5ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjdXJUeXBlGAQgASgJIlYKGVVwZGF0ZVBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkSDwoHY3VyVHlwZRgEIAEoCSJECiNMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkilQEKF0NhbGN1bGF0aW9uUHJlcmVxdWlzaXRlEhIKCmludm9pY2VfaWQYASABKAkSEAoIcGF5ZXJfaWQYAiABKAkSFQoNZXhjaGFuZ2VfcmF0ZRgDIAEoARIdChV1bmJsZW5kZWRfY29zdF9pbl9jdXIYBCABKAESDAoEbmFtZRgFIAEoCRIQCghjdXJfdHlwZRgGIAEoCSJnCiRMaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVzcG9uc2USPwoNcHJlcmVxdWlzaXRlcxgBIAMoCzIoLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvblByZXJlcXVpc2l0ZTKLUQoEQ29zdBJzChFMaXN0UGF5ZXJBY2NvdW50cxIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IhuC0+STAhUSEy92MS97dmVuZG9yfS9wYXllcnMwARJ3Cg9HZXRQYXllckFjY291bnQSJy5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50UmVxdWVzdBoZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllciIggtPkkwIaEhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SlAEKGUxpc3RQYXllckFjY291bnRzRXh0ZW5kZWQSKS5ibHVlYXBpLmNvc3QudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLlBheWVyQWNjb3VudEV4dGVuZGVkIiOC0+STAh0SGy92MS97dmVuZG9yfS9wYXllcnNleHRlbmRlZDABEpMBChdHZXRQYXllckFjY291bnRFeHRlbmRlZBInLmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLlBheWVyQWNjb3VudEV4dGVuZGVkIiiC0+STAiISIC92MS97dmVuZG9yfS9wYXllcnNleHRlbmRlZC97aWR9Er0BChxHZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5EjQuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXNwb25zZSIugtPkkwIoEiYvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0vaW1wb3J0aGlzdG9yeTABEqcBChdHZXRQYXllclByb2Zvcm1hUmVwb3J0cxIvLmJsdWVhcGkuY29zdC52MS5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1JlcXVlc3QaMC5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0vcHJvZm9ybWESdgoSQ3JlYXRlUGF5ZXJBY2NvdW50EiouYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZVBheWVyQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50Ih6C0+STAhg6ASoiEy92MS97dmVuZG9yfS9wYXllcnMSiQEKFFJlZ2lzdGVyUGF5ZXJBY2NvdW50EiwuYmx1ZWFwaS5jb3N0LnYxLlJlZ2lzdGVyUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vcGF5ZXJzL2Jhc2ljZGV0YWlscxKKAQoSVXBkYXRlUGF5ZXJBY2NvdW50EiouYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZVBheWVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL3t2ZW5kb3J9L3BheWVycy9iYXNpY2RldGFpbHMve2lkfRJ6ChJEZWxldGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuRGVsZXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SlQEKDExpc3RBY2NvdW50cxIkLmJsdWVhcGkuY29zdC52MS5MaXN0QWNjb3VudHNSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCJHgtPkkwJBWigSJi92MS97dmVuZG9yfS9hY2NvdW50cy9ncm91cHMve2dyb3VwSWR9EhUvdjEve3ZlbmRvcn0vYWNjb3VudHMwARJqCgpHZXRBY2NvdW50EiIuYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIigtPkkwIcEhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRJuCg1DcmVhdGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIggtPkkwIaOgEqIhUvdjEve3ZlbmRvcn0vYWNjb3VudHMScwoNVXBkYXRlQWNjb3VudBIlLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiJYLT5JMCHzoBKhoaL3YxL3t2ZW5kb3J9L2FjY291bnRzL3tpZH0ScgoNRGVsZXRlQWNjb3VudBIlLmJsdWVhcGkuY29zdC52MS5EZWxldGVBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcKhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRKfAQocUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlcxI0LmJsdWVhcGkuY29zdC52MS5SZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuYXBpLkFjY291bnRPcmlnaW5hbFJlc291cmNlIiGC0+STAhs6ASoiFi92MS97dmVuZG9yfS9hb3JzOnJlYWQwARKFAQoITGlzdFRhZ3MSIC5ibHVlYXBpLmNvc3QudjEuTGlzdFRhZ3NSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQ29zdFRhZyI/gtPkkwI5WiQSIi92MS97dmVuZG9yfS90YWdzL2dyb3Vwcy97Z3JvdXBJZH0SES92MS97dmVuZG9yfS90YWdzMAESwQEKHUxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzEjUuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVxdWVzdBo2LmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlIi+C0+STAik6ASoiJC92MS97dmVuZG9yfS9jYWxjdWxhdG9yL3J1bm5pbmc6cmVhZDABEpgBChNHZXRDYWxjdWxhdG9yQ29uZmlnEisuYmx1ZWFwaS5jb3N0LnYxLkdldENhbGN1bGF0b3JDb25maWdSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkdldENhbGN1bGF0b3JDb25maWdSZXNwb25zZSImgtPkkwIgEh4vdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcSrgEKG0xpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVycxIzLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvckNvc3RNb2RpZmllcnNSZXF1ZXN0GicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXIiL4LT5JMCKRInL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzMAESvwEKHENyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNC5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlc3BvbnNlIjKC0+STAiw6ASoiJy92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kcxKiAQocRGVsZXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllchI0LmJsdWVhcGkuY29zdC52MS5EZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI0gtPkkwIuKiwvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMve2lkfRJqCg5JbXBvcnRDdXJGaWxlcxImLmJsdWVhcGkuY29zdC52MS5JbXBvcnRDdXJGaWxlc1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIh2C0+STAhc6ASoiEi92MS9hd3MvY3VyOmltcG9ydBJ0Cg5DYWxjdWxhdGVDb3N0cxImLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGVDb3N0c1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9jb3N0czpjYWxjdWxhdGUSpwEKF0xpc3RDYWxjdWxhdGlvbnNIaXN0b3J5Ei8uYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVxdWVzdBowLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zSGlzdG9yeVJlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvaGlzdG9yeRKvAQoZTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlcxIxLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVxdWVzdBoyLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVzcG9uc2UiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMSpwEKGkNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlEjIuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBolLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvbnNTY2hlZHVsZSIugtPkkwIoOgEqIiMvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcxKaAQoaRGVsZXRlQ2FsY3VsYXRpb25zU2NoZWR1bGUSMi5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzL3tpZH0ShgEKD0xpc3RDb3N0RmlsdGVycxInLmJsdWVhcGkuY29zdC52MS5MaXN0Q29zdEZpbHRlcnNSZXF1ZXN0GiguYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVyc1Jlc3BvbnNlIiCC0+STAhoSGC92MS97dmVuZG9yfS9jb3N0ZmlsdGVycxKPAQoRQ3JlYXRlQ29zdEZpbHRlcnMSKS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ29zdEZpbHRlcnNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzEpoBChFVcGRhdGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5VcGRhdGVDb3N0RmlsdGVyc1JlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQ29zdEZpbHRlcnNSZXNwb25zZSIugtPkkwIoOgEqGiMvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMve2ZpbHRlcklkfRKDAQoRRGVsZXRlQ29zdEZpbHRlcnMSKS5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQ29zdEZpbHRlcnNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiUqIy92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9EpABChVFeHBvcnRDb3N0RmlsdGVyc0ZpbGUSLS5ibHVlYXBpLmNvc3QudjEuRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iNYLT5JMCLzoBKiIqL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH06ZXhwb3J0Eo4BChJSZWFkQ29zdEF0dHJpYnV0ZXMSKi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoiLmJsdWVhcGkuY29zdC52MS5Db3N0QXR0cmlidXRlSXRlbSImgtPkkwIgOgEqIhsvdjEve3ZlbmRvcn0vY29zdGF0dHJzOnJlYWQwARKKAQoRR2V0Q29zdEF0dHJpYnV0ZXMSKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2Nvc3RhdHRycxJvCglSZWFkQ29zdHMSIS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIigtPkkwIcOgEqIhcvdjEve3ZlbmRvcn0vY29zdHM6cmVhZDABEoEBCg9SZWFkQWRqdXN0bWVudHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vYWRqdXN0bWVudHM6cmVhZDABEngKDFJlYWRUYWdDb3N0cxIkLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiWC0+STAh86ASoiGi92MS97dmVuZG9yfS90YWdjb3N0czpyZWFkMAESgQEKD1JlYWROb25UYWdDb3N0cxInLmJsdWVhcGkuY29zdC52MS5SZWFkTm9uVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiiC0+STAiI6ASoiHS92MS97dmVuZG9yfS9ub250YWdjb3N0czpyZWFkMAESewoMR2V0Rm9yZWNhc3RzEiQuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1JlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuR2V0Rm9yZWNhc3RzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cxKuAQoWR2V0TW9udGhseUNvc3RGb3JlY2FzdBIuLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVxdWVzdBovLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVzcG9uc2UiM4LT5JMCLRIrL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aGx5L3tsZXZlbH0ve2lkfRLEAQobR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0EjMuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlcXVlc3QaNC5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0UmVzcG9uc2UiOoLT5JMCNBIyL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aC1vbi1tb250aC97bGV2ZWx9L3tpZH0SwAEKGkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EjIuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBozLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIjmC0+STAjMSMS92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtdG8tZGF0ZS97bGV2ZWx9L3tpZH0SkQEKEEdldEFjY291bnRCdWRnZXQSKC5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS9idWRnZXQve2xldmVsfS97aWR9Ep0BChNDcmVhdGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKFAQoTVXBkYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqGh4vdjEve3ZlbmRvcn0vYnVkZ2V0L3tidWRnZXRJZH0SggEKE0RlbGV0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EokBChZHZXRBY2NvdW50QnVkZ2V0QWxlcnRzEi4uYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIggtPkkwIaEhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGUNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoiGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKSAQoZVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiI4LT5JMCHToBKhoYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EogBChlEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRJ5ChBSZWFkQnVkZ2V0QWxlcnRzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqIg8vdjEvYWxlcnRzOnJlYWQwARJyCg9HZXRCdWRnZXRBbGVydHMSJy5ibHVlYXBpLmNvc3QudjEuR2V0QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiF4LT5JMCERIPL3YxL2FsZXJ0cy97aWR9EnYKEkNyZWF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5DcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIVgtPkkwIPOgEqIgovdjEvYWxlcnRzEnsKElVwZGF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqGg8vdjEvYWxlcnRzL3tpZH0ScQoSRGVsZXRlQnVkZ2V0QWxlcnRzEiouYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiF4LT5JMCESoPL3YxL2FsZXJ0cy97aWR9EqMBChJHZXRSZWNvbW1lbmRhdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vcmVjb21tZW5kYXRpb25zL3tvcmdJZH06cmVhZBKXAQoQR2V0Q29zdFJlZHVjdGlvbhIoLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVxdWVzdBopLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L3JlZHVjdGlvbi97b3JnSWR9OnJlYWQShgEKDUdldEV4cG9ydFJJU1ASJS5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlcXVlc3QaJi5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9leHBvcnRjc3YvcGF5ZXJzOmV4cG9ydBJ6CgxFeHBvcnRSZXBvcnQSJC5ibHVlYXBpLmNvc3QudjEuRXhwb3J0UmVwb3J0UmVxdWVzdBolLmJsdWVhcGkuY29zdC52MS5FeHBvcnRSZXBvcnRSZXNwb25zZSIdgtPkkwIXOgEqIhIvdjEvcmVwb3J0czpleHBvcnQSiwEKDkdldFV0aWxpemF0aW9uEiYuYmx1ZWFwaS5jb3N0LnYxLkdldFV0aWxpemF0aW9uUmVxdWVzdBonLmJsdWVhcGkuY29zdC52MS5HZXRVdGlsaXphdGlvblJlc3BvbnNlIiiC0+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/AQoTUmVhZFRhZ0Nvc3RzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSFQoNZ3JvdXBCeU1vbnRocxgFIAEoCBJCCgphd3NPcHRpb25zGAYgASgLMi4uYmx1ZWFwaS5jb3N0LnYxLlJlYWRUYWdDb3N0c1JlcXVlc3RBd3NPcHRpb25zIn4KFlJlYWROb25UYWdDb3N0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhUKDWdyb3VwQnlNb250aHMYBSABKAgihAEKE0dldEZvcmVjYXN0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAIgASgJEhEKCWZyZXF1ZW5jeRgDIAEoCRINCgVsZXZlbBgEIAEoCRIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkiRwoUR2V0Rm9yZWNhc3RzUmVzcG9uc2USLwoEZGF0YRgBIAEoCzIhLmJsdWVhcGkuYXBpLkJpbGxpbmdHcm91cEZvcmVjYXN0ImwKHUdldE1vbnRobHlDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkibwoeR2V0TW9udGhseUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEi4KBGRhdGEYAiADKAsyIC5ibHVlYXBpLmFwaS5Nb250aGx5Q29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgDIAEoCSJdCiJHZXRNb250aE9uTW9udGhDb3N0Rm9yZWNhc3RSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVsZXZlbBgCIAEoCRIKCgJpZBgDIAEoCRIMCgRkYXRlGAQgASgJInkKI0dldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEjMKBGRhdGEYAiADKAsyJS5ibHVlYXBpLmFwaS5Nb250aE9uTW9udGhDb3N0Rm9yZWNhc3QSEQoJdGltZXN0YW1wGAMgASgJIlwKIUdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEZGF0ZRgEIAEoCSKHAQoiR2V0TW9udGhUb0RhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZidWRnZXQYAiABKAESMgoEZGF0YRgDIAMoCzIkLmJsdWVhcGkuYXBpLk1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EhEKCXRpbWVzdGFtcBgEIAEoCSJSChdHZXRBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSDAoEeWVhchgEIAEoCSI9ChhHZXRBY2NvdW50QnVkZ2V0UmVzcG9uc2USIQoEZGF0YRgBIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCJqChpDcmVhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbGV2ZWwYAiABKAkSCgoCaWQYAyABKAkSIQoEZGF0YRgEIAEoCzITLmJsdWVhcGkuYXBpLkJ1ZGdldCIvChtDcmVhdGVBY2NvdW50QnVkZ2V0UmVzcG9uc2USEAoIYnVkZ2V0SWQYASABKAkiYQoaVXBkYXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJEiEKBGRhdGEYAyABKAsyEy5ibHVlYXBpLmFwaS5CdWRnZXQiPgoaRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGJ1ZGdldElkGAIgASgJIosCCiNHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0QXdzT3B0aW9ucxIaChJyZWNvbW1lbmRhdGlvblR5cGUYASABKAkSDAoEdHlwZRgCIAEoCRISCgpyaVNlcnZpY2VzGAMgAygJEhIKCnNwU2VydmljZXMYBCADKAkSHgoWcHVyY2hhc2VFQzJTYXZpbmdzUGxhbhgFIAEoCBIaChJlYzJTcFByb2R1Y3RGYW1pbHkYBiABKAkSDAoEdGVybRgHIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAggASgJEhUKDXBheW1lbnRPcHRpb24YCSABKAkSGgoSY292ZXJhZ2VQZXJjZW50YWdlGAogASgBIqsBChlHZXRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghhY2NvdW50cxgDIAMoCRITCgtjb3N0R3JvdXBJZBgEIAEoCRJICgphd3NPcHRpb25zGAUgASgLMjQuYmx1ZWFwaS5jb3N0LnYxLkdldFJlY29tbWVuZGF0aW9uc1JlcXVlc3RBd3NPcHRpb25zImwKGkdldFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj8KEmF3c1JlY29tbWVuZGF0aW9ucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmF3cy5Bd3NSZWNvbW1lbmRhdGlvbnMiggIKF0dldENvc3RSZWR1Y3Rpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiaAoYR2V0Q29zdFJlZHVjdGlvblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj0KEWF3c0Nvc3RSZWR1Y3Rpb25zGAIgASgLMiIuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RSZWR1Y3Rpb25zIlQKFEdldEV4cG9ydFJJU1BSZXF1ZXN0EgwKBHR5cGUYASABKAkSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFgoOaW5jbHVkZUV4cGlyZWQYAyABKAgiLQoVR2V0RXhwb3J0UklTUFJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSKYAQoTRXhwb3J0UmVwb3J0UmVxdWVzdBINCgVtb250aBgCIAEoCRIOCgZ2ZW5kb3IYASABKAkSJgoYbm90aWZpY2F0aW9uX2NoYW5uZWxfaWRzGAQgAygJQgTiQQEBEjoKC2F3c19vcHRpb25zGAogASgLMiUuYmx1ZWFwaS5jb3N0LnYxLkF3c1Jpc3BFeHBvcnRPcHRpb25zIssCChRBd3NSaXNwRXhwb3J0T3B0aW9ucxIXCg9pbmNsdWRlX2V4cGlyZWQYASABKAgSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESFQoHcXVlcmllcxgDIAMoCUIE4kEBAhIVCgdjb2x1bW5zGAQgAygJQgTiQQEBElMKEGNvbHVtbnNfYnlfcXVlcnkYBSADKAsyOS5ibHVlYXBpLmNvc3QudjEuQXdzUmlzcEV4cG9ydE9wdGlvbnMuQ29sdW1uc0J5UXVlcnlFbnRyeRoZCgdDb2x1bW5zEg4KBnZhbHVlcxgBIAMoCRpkChNDb2x1bW5zQnlRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLmJsdWVhcGkuY29zdC52MS5Bd3NSaXNwRXhwb3J0T3B0aW9ucy5Db2x1bW5zOgI4ASK4AQoVR2V0VXRpbGl6YXRpb25SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIMCgR0eXBlGAMgASgJEhAKCGZyb21EYXRlGAQgASgJEg4KBnRvRGF0ZRgFIAEoCRIPCgdwYXllcklkGAYgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAcgASgJEg8KB2dyb3VwSWQYCCABKAkSEwoLY29zdEdyb3VwSWQYCSABKAkiXgoWR2V0VXRpbGl6YXRpb25SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI1Cg91dGlsaXphdGlvbkRhdGEYAiADKAsyHC5ibHVlYXBpLmFwaS5VdGlsaXphdGlvbkRhdGEi9AEKGUdldENvdmVyYWdlT3B0aW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnBlcmlvZBgDIAEoCRIQCghmcm9tRGF0ZRgEIAEoCRIOCgZ0b0RhdGUYBSABKAkSDwoHcGF5ZXJJZBgGIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgHIAEoCRIPCgdncm91cElkGAggASgJEhMKC2Nvc3RHcm91cElkGAkgASgJEhAKCGFjY291bnRzGAogAygJEhAKCHNlcnZpY2VzGAsgAygJEhAKCGN1cnJlbmN5GAwgASgJIloKGkdldENvdmVyYWdlT3B0aW9uc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEi0KC29wdGlvbnNEYXRhGAIgAygLMhguYmx1ZWFwaS5hcGkuT3B0aW9uc0RhdGEi4wEKGkdldENvdmVyYWdlT25kZW1hbmRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZwZXJpb2QYAyABKAkSEAoIZnJvbURhdGUYBCABKAkSDgoGdG9EYXRlGAUgASgJEg8KB3BheWVySWQYBiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYByABKAkSDwoHZ3JvdXBJZBgIIAEoCRITCgtjb3N0R3JvdXBJZBgJIAEoCRIQCghhY2NvdW50cxgKIAMoCRIQCghzZXJ2aWNlcxgLIAMoCSJdChtHZXRDb3ZlcmFnZU9uZGVtYW5kUmVzcG9uc2USDQoFb3JnSWQYASABKAkSLwoMb25kZW1hbmREYXRhGAIgAygLMhkuYmx1ZWFwaS5hcGkuT25kZW1hbmREYXRhIlQKGEdldEJyZWFrZXZlblBvaW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRILCgNhcm4YBCABKAkiZwoZR2V0QnJlYWtldmVuUG9pbnRSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI7ChBhd3NDb3N0QnJlYWtldmVuGAIgASgLMiEuYmx1ZWFwaS5hcGkuYXdzLkF3c0Nvc3RCcmVha2V2ZW4iKAoWTGlzdENvc3RGaWx0ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiUAoXTGlzdENvc3RGaWx0ZXJzUmVzcG9uc2USNQoLY29zdEZpbHRlcnMYASADKAsyIC5ibHVlYXBpLmNvc3QudjEuTGlzdENvc3RGaWx0ZXJzIqwBCg9MaXN0Q29zdEZpbHRlcnMSEAoIZmlsdGVySWQYASABKAkSEgoKZmlsdGVyTmFtZRgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHZ3JvdXBJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSPwoKYXdzT3B0aW9ucxgGIAEoCzIrLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0QXdzT3B0aW9ucyKjAQoYQ3JlYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgpmaWx0ZXJOYW1lGAIgASgJEg8KB2dyb3VwSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEj8KCmF3c09wdGlvbnMYBSABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZQ3JlYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSK1AQoYVXBkYXRlQ29zdEZpbHRlcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRISCgpmaWx0ZXJOYW1lGAMgASgJEg8KB2dyb3VwSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEj8KCmF3c09wdGlvbnMYBiABKAsyKy5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEF3c09wdGlvbnMiLQoZVXBkYXRlQ29zdEZpbHRlcnNSZXNwb25zZRIQCghmaWx0ZXJJZBgBIAEoCSI8ChhEZWxldGVDb3N0RmlsdGVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhAKCGZpbHRlcklkGAIgASgJIscBChxFeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIQCghmaWx0ZXJJZBgCIAEoCRIeChZub3RpZmljYXRpb25DaGFubmVsSWRzGAggAygJEhEKCXN0YXJ0VGltZRgDIAEoCRIPCgdlbmRUaW1lGAQgASgJEhQKDGdyb3VwQnlNb250aBgFIAEoCBIWCg5ncm91cEJ5Q29sdW1ucxgGIAEoCRITCgtpbmNsdWRlVGFncxgHIAEoCCIsCh1FeHBvcnRDb3N0RmlsdGVyc0ZpbGVSZXNwb25zZRILCgN1cmwYASABKAkikgIKGlJlYWRDb3N0c1JlcXVlc3RHY3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIVCg1ncm91cEFjY291bnRzGAMgASgIEkMKB2ZpbHRlcnMYBCADKAsyMi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdEdjcE9wdGlvbnNGaWx0ZXJzEhsKE2luY2x1ZGVJbnZvaWNlTW9udGgYBiABKAgSFgoOaW5jbHVkZUNyZWRpdHMYByABKAgSEAoIcm91bmRpbmcYCCABKAgSDwoHbm9DYWNoZRgFIAEoCBISCgp0b0N1cnJlbmN5GAkgASgJIq4BCiFSZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9uc0ZpbHRlcnMSVgoKYW5kRmlsdGVycxgBIAMoCzJCLmJsdWVhcGkuY29zdC52MS5SZWFkQ29zdHNSZXF1ZXN0R2NwT3B0aW9uc0ZpbHRlcnMuQW5kRmlsdGVyc0VudHJ5GjEKD0FuZEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjsKHUdldEFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCSJyCiBDcmVhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSMgoLYnVkZ2V0QWxlcnQYAyABKAsyHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0InIKIFVwZGF0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIyCgtidWRnZXRBbGVydBgDIAEoCzIdLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiPgogRGVsZXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJIogBChxSZWFkQ29zdHNSZXF1ZXN0QXp1cmVPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhQKDGdyb3VwQnlNb250aBgCIAEoCBIPCgdub0NhY2hlGAMgASgIEhIKCnRvQ3VycmVuY3kYBCABKAkSFQoNcmVzb3VyY2VHcm91cBgFIAEoCSKoAwoMQnVkZ2V0QWxlcnRzEgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRImCghhY2NvdW50cxgDIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnQSQAoMbm90aWZpY2F0aW9uGAQgASgLMiouYmx1ZWFwaS5hcGkuQnVkZ2V0QWxlcnROb3RpZmljYXRpb25EZXRhaWwSLAoFZGFpbHkYBSABKAsyHS5ibHVlYXBpLmFwaS5EYWlseUJ1ZGdldEFsZXJ0EjwKCWRhaWx5UmF0ZRgHIAEoCzIpLmJsdWVhcGkuYXBpLkRhaWx5UmF0ZUluY3JlYXNlQnVkZ2V0QWxlcnQSMAoHbW9udGhseRgGIAEoCzIfLmJsdWVhcGkuYXBpLk1vbnRobHlCdWRnZXRBbGVydBI6CgxjdXN0b21QZXJpb2QYCCABKAsyJC5ibHVlYXBpLmFwaS5DdXN0b21QZXJpb2RCdWRnZXRBbGVydBI4CgtjdXN0b21Nb250aBgJIAEoCzIjLmJsdWVhcGkuYXBpLkN1c3RvbU1vbnRoQnVkZ2V0QWxlcnQiSQoXUmVhZEJ1ZGdldEFsZXJ0c1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siJAoWR2V0QnVkZ2V0QWxlcnRzUmVxdWVzdBIKCgJpZBgBIAEoCSKNAwoZQ3JlYXRlQnVkZ2V0QWxlcnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEAoIYWNjb3VudHMYAiADKAkSOgoMbm90aWZpY2F0aW9uGAMgASgLMiQuYmx1ZWFwaS5hcGkuQnVkZ2V0QWxlcnROb3RpZmljYXRpb24SLAoFZGFpbHkYBCABKAsyHS5ibHVlYXBpLmFwaS5EYWlseUJ1ZGdldEFsZXJ0EjwKCWRhaWx5UmF0ZRgGIAEoCzIpLmJsdWVhcGkuYXBpLkRhaWx5UmF0ZUluY3JlYXNlQnVkZ2V0QWxlcnQSMAoHbW9udGhseRgFIAEoCzIfLmJsdWVhcGkuYXBpLk1vbnRobHlCdWRnZXRBbGVydBI6CgxjdXN0b21QZXJpb2QYByABKAsyJC5ibHVlYXBpLmFwaS5DdXN0b21QZXJpb2RCdWRnZXRBbGVydBI4CgtjdXN0b21Nb250aBgIIAEoCzIjLmJsdWVhcGkuYXBpLkN1c3RvbU1vbnRoQnVkZ2V0QWxlcnQimQMKGVVwZGF0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEhAKCGFjY291bnRzGAMgAygJEjoKDG5vdGlmaWNhdGlvbhgEIAEoCzIkLmJsdWVhcGkuYXBpLkJ1ZGdldEFsZXJ0Tm90aWZpY2F0aW9uEiwKBWRhaWx5GAUgASgLMh0uYmx1ZWFwaS5hcGkuRGFpbHlCdWRnZXRBbGVydBI8CglkYWlseVJhdGUYByABKAsyKS5ibHVlYXBpLmFwaS5EYWlseVJhdGVJbmNyZWFzZUJ1ZGdldEFsZXJ0EjAKB21vbnRobHkYBiABKAsyHy5ibHVlYXBpLmFwaS5Nb250aGx5QnVkZ2V0QWxlcnQSOgoMY3VzdG9tUGVyaW9kGAggASgLMiQuYmx1ZWFwaS5hcGkuQ3VzdG9tUGVyaW9kQnVkZ2V0QWxlcnQSOAoLY3VzdG9tTW9udGgYCSABKAsyIy5ibHVlYXBpLmFwaS5DdXN0b21Nb250aEJ1ZGdldEFsZXJ0IicKGURlbGV0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QSCgoCaWQYASABKAkiOgoUQ2hlY2tBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhIKCmFjY291bnRJZHMYAiADKAkiigEKFUNoZWNrQWNjb3VudHNSZXNwb25zZRJCCgZleGlzdHMYASADKAsyMi5ibHVlYXBpLmNvc3QudjEuQ2hlY2tBY2NvdW50c1Jlc3BvbnNlLkV4aXN0c0VudHJ5Gi0KC0V4aXN0c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiNgoVUmVhZEludm9pY2VJZHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCSIkChZSZWFkSW52b2ljZUlkc1Jlc3BvbnNlEgoKAmlkGAEgASgJIrABCgtQZXJpb2RSYW5nZRIvCgR1bml0GAEgASgOMiEuYmx1ZWFwaS5jb3N0LnYxLlBlcmlvZFJhbmdlLlVuaXQSDAoEeWVhchgCIAEoDRIQCghzdGFydGluZxgDIAEoDRIQCghkdXJhdGlvbhgEIAEoDSI+CgRVbml0EhQKEFVOSVRfVU5TUEVDSUZJRUQQABIJCgVNT05USBABEgsKB1FVQVJURVIQAhIICgRZRUFSEAMioAEKG1JlYWRJbnZvaWNlT3ZlcnZpZXdzUmVxdWVzdBIRCglzdGFydFRpbWUYASABKAkSDwoHZW5kVGltZRgCIAEoCRIWCg51c2VQZXJpb2RSYW5nZRgEIAEoCBIxCgtwZXJpb2RSYW5nZRgFIAEoCzIcLmJsdWVhcGkuY29zdC52MS5QZXJpb2RSYW5nZRISCgp0b0N1cnJlbmN5GAMgASgJIlEKF1JlYWRJbnZvaWNlQ29zdHNSZXF1ZXN0EhEKCXN0YXJ0VGltZRgBIAEoCRIPCgdlbmRUaW1lGAIgASgJEhIKCnRvQ3VycmVuY3kYAyABKAkiZQocUmVhZEludm9pY2VHcm91cENvc3RzUmVxdWVzdBIRCglzdGFydFRpbWUYASABKAkSDwoHZW5kVGltZRgCIAEoCRISCgp0b0N1cnJlbmN5GAMgASgJEg0KBWxpbWl0GAQgASgFIjUKI1JlYWRBY2NvdW50T3JpZ2luYWxSZXNvdXJjZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJYChtSZWdpc3RlclBheWVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkSDwoHY3VyVHlwZRgEIAEoCSJWChlVcGRhdGVQYXllckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2N1clR5cGUYBCABKAkiRAojTGlzdENhbGN1bGF0aW9uUHJlcmVxdWlzaXRlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIpUBChdDYWxjdWxhdGlvblByZXJlcXVpc2l0ZRISCgppbnZvaWNlX2lkGAEgASgJEhAKCHBheWVyX2lkGAIgASgJEhUKDWV4Y2hhbmdlX3JhdGUYAyABKAESHQoVdW5ibGVuZGVkX2Nvc3RfaW5fY3VyGAQgASgBEgwKBG5hbWUYBSABKAkSEAoIY3VyX3R5cGUYBiABKAkiZwokTGlzdENhbGN1bGF0aW9uUHJlcmVxdWlzaXRlc1Jlc3BvbnNlEj8KDXByZXJlcXVpc2l0ZXMYASADKAsyKC5ibHVlYXBpLmNvc3QudjEuQ2FsY3VsYXRpb25QcmVyZXF1aXNpdGUisAEKJ1NldHVwUGF5ZXJBY2NvdW50QmlsbGluZ1RyYW5zZmVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSCgoCaWQYAiABKAkSDQoFbW9udGgYAyABKAkSEQoJczNfYnVja2V0GAQgASgJEhMKC3JlcG9ydF9uYW1lGAUgASgJEhAKCHJvbGVfYXJuGAYgASgJEhAKCGN1cl90eXBlGAcgASgJEg4KBnByZWZpeBgIIAEoCTKjUgoEQ29zdBJzChFMaXN0UGF5ZXJBY2NvdW50cxIpLmJsdWVhcGkuY29zdC52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50IhuC0+STAhUSEy92MS97dmVuZG9yfS9wYXllcnMwARJ3Cg9HZXRQYXllckFjY291bnQSJy5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJBY2NvdW50UmVxdWVzdBoZLmJsdWVhcGkuYXBpLnJpcHBsZS5QYXllciIggtPkkwIaEhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SlAEKGUxpc3RQYXllckFjY291bnRzRXh0ZW5kZWQSKS5ibHVlYXBpLmNvc3QudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLlBheWVyQWNjb3VudEV4dGVuZGVkIiOC0+STAh0SGy92MS97dmVuZG9yfS9wYXllcnNleHRlbmRlZDABEpMBChdHZXRQYXllckFjY291bnRFeHRlbmRlZBInLmJsdWVhcGkuY29zdC52MS5HZXRQYXllckFjY291bnRSZXF1ZXN0GiUuYmx1ZWFwaS5jb3N0LnYxLlBheWVyQWNjb3VudEV4dGVuZGVkIiiC0+STAiISIC92MS97dmVuZG9yfS9wYXllcnNleHRlbmRlZC97aWR9Er0BChxHZXRQYXllckFjY291bnRJbXBvcnRIaXN0b3J5EjQuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXF1ZXN0GjUuYmx1ZWFwaS5jb3N0LnYxLkdldFBheWVyQWNjb3VudEltcG9ydEhpc3RvcnlSZXNwb25zZSIugtPkkwIoEiYvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0vaW1wb3J0aGlzdG9yeTABEqcBChdHZXRQYXllclByb2Zvcm1hUmVwb3J0cxIvLmJsdWVhcGkuY29zdC52MS5HZXRQYXllclByb2Zvcm1hUmVwb3J0c1JlcXVlc3QaMC5ibHVlYXBpLmNvc3QudjEuR2V0UGF5ZXJQcm9mb3JtYVJlcG9ydHNSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0vcHJvZm9ybWESdgoSQ3JlYXRlUGF5ZXJBY2NvdW50EiouYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZVBheWVyQWNjb3VudFJlcXVlc3QaFC5ibHVlYXBpLmFwaS5BY2NvdW50Ih6C0+STAhg6ASoiEy92MS97dmVuZG9yfS9wYXllcnMSiQEKFFJlZ2lzdGVyUGF5ZXJBY2NvdW50EiwuYmx1ZWFwaS5jb3N0LnYxLlJlZ2lzdGVyUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vcGF5ZXJzL2Jhc2ljZGV0YWlscxKKAQoSVXBkYXRlUGF5ZXJBY2NvdW50EiouYmx1ZWFwaS5jb3N0LnYxLlVwZGF0ZVBheWVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL3t2ZW5kb3J9L3BheWVycy9iYXNpY2RldGFpbHMve2lkfRJ6ChJEZWxldGVQYXllckFjY291bnQSKi5ibHVlYXBpLmNvc3QudjEuRGVsZXRlUGF5ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEve3ZlbmRvcn0vcGF5ZXJzL3tpZH0SlQEKDExpc3RBY2NvdW50cxIkLmJsdWVhcGkuY29zdC52MS5MaXN0QWNjb3VudHNSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCJHgtPkkwJBWigSJi92MS97dmVuZG9yfS9hY2NvdW50cy9ncm91cHMve2dyb3VwSWR9EhUvdjEve3ZlbmRvcn0vYWNjb3VudHMwARJqCgpHZXRBY2NvdW50EiIuYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIigtPkkwIcEhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRJuCg1DcmVhdGVBY2NvdW50EiUuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQWNjb3VudCIggtPkkwIaOgEqIhUvdjEve3ZlbmRvcn0vYWNjb3VudHMScwoNVXBkYXRlQWNjb3VudBIlLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50UmVxdWVzdBoULmJsdWVhcGkuYXBpLkFjY291bnQiJYLT5JMCHzoBKhoaL3YxL3t2ZW5kb3J9L2FjY291bnRzL3tpZH0ScgoNRGVsZXRlQWNjb3VudBIlLmJsdWVhcGkuY29zdC52MS5EZWxldGVBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcKhovdjEve3ZlbmRvcn0vYWNjb3VudHMve2lkfRKfAQocUmVhZEFjY291bnRPcmlnaW5hbFJlc291cmNlcxI0LmJsdWVhcGkuY29zdC52MS5SZWFkQWNjb3VudE9yaWdpbmFsUmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuYXBpLkFjY291bnRPcmlnaW5hbFJlc291cmNlIiGC0+STAhs6ASoiFi92MS97dmVuZG9yfS9hb3JzOnJlYWQwARKFAQoITGlzdFRhZ3MSIC5ibHVlYXBpLmNvc3QudjEuTGlzdFRhZ3NSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuQ29zdFRhZyI/gtPkkwI5WiQSIi92MS97dmVuZG9yfS90YWdzL2dyb3Vwcy97Z3JvdXBJZH0SES92MS97dmVuZG9yfS90YWdzMAESwQEKHUxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzEjUuYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdG9yUnVubmluZ0FjY291bnRzUmVxdWVzdBo2LmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvclJ1bm5pbmdBY2NvdW50c1Jlc3BvbnNlIi+C0+STAik6ASoiJC92MS97dmVuZG9yfS9jYWxjdWxhdG9yL3J1bm5pbmc6cmVhZDABEpgBChNHZXRDYWxjdWxhdG9yQ29uZmlnEisuYmx1ZWFwaS5jb3N0LnYxLkdldENhbGN1bGF0b3JDb25maWdSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkdldENhbGN1bGF0b3JDb25maWdSZXNwb25zZSImgtPkkwIgEh4vdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcSrgEKG0xpc3RDYWxjdWxhdG9yQ29zdE1vZGlmaWVycxIzLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRvckNvc3RNb2RpZmllcnNSZXF1ZXN0GicuYmx1ZWFwaS5jb3N0LnYxLkNhbGN1bGF0b3JDb3N0TW9kaWZpZXIiL4LT5JMCKRInL3YxL3t2ZW5kb3J9L2NhbGN1bGF0b3IvY29uZmlnL2Nvc3Rtb2RzMAESvwEKHENyZWF0ZUNhbGN1bGF0b3JDb3N0TW9kaWZpZXISNC5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlcXVlc3QaNS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllclJlc3BvbnNlIjKC0+STAiw6ASoiJy92MS97dmVuZG9yfS9jYWxjdWxhdG9yL2NvbmZpZy9jb3N0bW9kcxKiAQocRGVsZXRlQ2FsY3VsYXRvckNvc3RNb2RpZmllchI0LmJsdWVhcGkuY29zdC52MS5EZWxldGVDYWxjdWxhdG9yQ29zdE1vZGlmaWVyUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI0gtPkkwIuKiwvdjEve3ZlbmRvcn0vY2FsY3VsYXRvci9jb25maWcvY29zdG1vZHMve2lkfRJqCg5JbXBvcnRDdXJGaWxlcxImLmJsdWVhcGkuY29zdC52MS5JbXBvcnRDdXJGaWxlc1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIh2C0+STAhc6ASoiEi92MS9hd3MvY3VyOmltcG9ydBJ0Cg5DYWxjdWxhdGVDb3N0cxImLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGVDb3N0c1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9jb3N0czpjYWxjdWxhdGUSpwEKF0xpc3RDYWxjdWxhdGlvbnNIaXN0b3J5Ei8uYmx1ZWFwaS5jb3N0LnYxLkxpc3RDYWxjdWxhdGlvbnNIaXN0b3J5UmVxdWVzdBowLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zSGlzdG9yeVJlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvaGlzdG9yeRKvAQoZTGlzdENhbGN1bGF0aW9uc1NjaGVkdWxlcxIxLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVxdWVzdBoyLmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25zU2NoZWR1bGVzUmVzcG9uc2UiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9ucy9zY2hlZHVsZXMSpwEKGkNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlEjIuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNhbGN1bGF0aW9uc1NjaGVkdWxlUmVxdWVzdBolLmJsdWVhcGkuY29zdC52MS5DYWxjdWxhdGlvbnNTY2hlZHVsZSIugtPkkwIoOgEqIiMvdjEve3ZlbmRvcn0vY2FsY3VsYXRpb25zL3NjaGVkdWxlcxKaAQoaRGVsZXRlQ2FsY3VsYXRpb25zU2NoZWR1bGUSMi5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQ2FsY3VsYXRpb25zU2NoZWR1bGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC92MS97dmVuZG9yfS9jYWxjdWxhdGlvbnMvc2NoZWR1bGVzL3tpZH0ShgEKD0xpc3RDb3N0RmlsdGVycxInLmJsdWVhcGkuY29zdC52MS5MaXN0Q29zdEZpbHRlcnNSZXF1ZXN0GiguYmx1ZWFwaS5jb3N0LnYxLkxpc3RDb3N0RmlsdGVyc1Jlc3BvbnNlIiCC0+STAhoSGC92MS97dmVuZG9yfS9jb3N0ZmlsdGVycxKPAQoRQ3JlYXRlQ29zdEZpbHRlcnMSKS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQ29zdEZpbHRlcnNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUNvc3RGaWx0ZXJzUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzEpoBChFVcGRhdGVDb3N0RmlsdGVycxIpLmJsdWVhcGkuY29zdC52MS5VcGRhdGVDb3N0RmlsdGVyc1JlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuVXBkYXRlQ29zdEZpbHRlcnNSZXNwb25zZSIugtPkkwIoOgEqGiMvdjEve3ZlbmRvcn0vY29zdGZpbHRlcnMve2ZpbHRlcklkfRKDAQoRRGVsZXRlQ29zdEZpbHRlcnMSKS5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQ29zdEZpbHRlcnNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiUqIy92MS97dmVuZG9yfS9jb3N0ZmlsdGVycy97ZmlsdGVySWR9EpABChVFeHBvcnRDb3N0RmlsdGVyc0ZpbGUSLS5ibHVlYXBpLmNvc3QudjEuRXhwb3J0Q29zdEZpbHRlcnNGaWxlUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iNYLT5JMCLzoBKiIqL3YxL3t2ZW5kb3J9L2Nvc3RmaWx0ZXJzL3tmaWx0ZXJJZH06ZXhwb3J0Eo4BChJSZWFkQ29zdEF0dHJpYnV0ZXMSKi5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RBdHRyaWJ1dGVzUmVxdWVzdBoiLmJsdWVhcGkuY29zdC52MS5Db3N0QXR0cmlidXRlSXRlbSImgtPkkwIgOgEqIhsvdjEve3ZlbmRvcn0vY29zdGF0dHJzOnJlYWQwARKKAQoRR2V0Q29zdEF0dHJpYnV0ZXMSKS5ibHVlYXBpLmNvc3QudjEuR2V0Q29zdEF0dHJpYnV0ZXNSZXF1ZXN0GiouYmx1ZWFwaS5jb3N0LnYxLkdldENvc3RBdHRyaWJ1dGVzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2Nvc3RhdHRycxJvCglSZWFkQ29zdHMSIS5ibHVlYXBpLmNvc3QudjEuUmVhZENvc3RzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIigtPkkwIcOgEqIhcvdjEve3ZlbmRvcn0vY29zdHM6cmVhZDABEoEBCg9SZWFkQWRqdXN0bWVudHMSJy5ibHVlYXBpLmNvc3QudjEuUmVhZEFkanVzdG1lbnRzUmVxdWVzdBoZLmJsdWVhcGkuY29zdC52MS5Db3N0SXRlbSIogtPkkwIiOgEqIh0vdjEve3ZlbmRvcn0vYWRqdXN0bWVudHM6cmVhZDABEngKDFJlYWRUYWdDb3N0cxIkLmJsdWVhcGkuY29zdC52MS5SZWFkVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiWC0+STAh86ASoiGi92MS97dmVuZG9yfS90YWdjb3N0czpyZWFkMAESgQEKD1JlYWROb25UYWdDb3N0cxInLmJsdWVhcGkuY29zdC52MS5SZWFkTm9uVGFnQ29zdHNSZXF1ZXN0GhkuYmx1ZWFwaS5jb3N0LnYxLkNvc3RJdGVtIiiC0+STAiI6ASoiHS92MS97dmVuZG9yfS9ub250YWdjb3N0czpyZWFkMAESewoMR2V0Rm9yZWNhc3RzEiQuYmx1ZWFwaS5jb3N0LnYxLkdldEZvcmVjYXN0c1JlcXVlc3QaJS5ibHVlYXBpLmNvc3QudjEuR2V0Rm9yZWNhc3RzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cxKuAQoWR2V0TW9udGhseUNvc3RGb3JlY2FzdBIuLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVxdWVzdBovLmJsdWVhcGkuY29zdC52MS5HZXRNb250aGx5Q29zdEZvcmVjYXN0UmVzcG9uc2UiM4LT5JMCLRIrL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aGx5L3tsZXZlbH0ve2lkfRLEAQobR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0EjMuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoT25Nb250aENvc3RGb3JlY2FzdFJlcXVlc3QaNC5ibHVlYXBpLmNvc3QudjEuR2V0TW9udGhPbk1vbnRoQ29zdEZvcmVjYXN0UmVzcG9uc2UiOoLT5JMCNBIyL3YxL3t2ZW5kb3J9L2ZvcmVjYXN0cy9tb250aC1vbi1tb250aC97bGV2ZWx9L3tpZH0SwAEKGkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0EjIuYmx1ZWFwaS5jb3N0LnYxLkdldE1vbnRoVG9EYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBozLmJsdWVhcGkuY29zdC52MS5HZXRNb250aFRvRGF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIjmC0+STAjMSMS92MS97dmVuZG9yfS9mb3JlY2FzdHMvbW9udGgtdG8tZGF0ZS97bGV2ZWx9L3tpZH0SkQEKEEdldEFjY291bnRCdWRnZXQSKC5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlcXVlc3QaKS5ibHVlYXBpLmNvc3QudjEuR2V0QWNjb3VudEJ1ZGdldFJlc3BvbnNlIiiC0+STAiISIC92MS97dmVuZG9yfS9idWRnZXQve2xldmVsfS97aWR9Ep0BChNDcmVhdGVBY2NvdW50QnVkZ2V0EisuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkNyZWF0ZUFjY291bnRCdWRnZXRSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vYnVkZ2V0L3tsZXZlbH0ve2lkfRKFAQoTVXBkYXRlQWNjb3VudEJ1ZGdldBIrLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqGh4vdjEve3ZlbmRvcn0vYnVkZ2V0L3tidWRnZXRJZH0SggEKE0RlbGV0ZUFjY291bnRCdWRnZXQSKy5ibHVlYXBpLmNvc3QudjEuRGVsZXRlQWNjb3VudEJ1ZGdldFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL3YxL3t2ZW5kb3J9L2J1ZGdldC97YnVkZ2V0SWR9EokBChZHZXRBY2NvdW50QnVkZ2V0QWxlcnRzEi4uYmx1ZWFwaS5jb3N0LnYxLkdldEFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkud2F2ZS5CdWRnZXRBbGVydCIggtPkkwIaEhgvdjEve3ZlbmRvcn0vYWxlcnRzL3tpZH0SkgEKGUNyZWF0ZUFjY291bnRCdWRnZXRBbGVydHMSMS5ibHVlYXBpLmNvc3QudjEuQ3JlYXRlQWNjb3VudEJ1ZGdldEFsZXJ0c1JlcXVlc3QaHS5ibHVlYXBpLmFwaS53YXZlLkJ1ZGdldEFsZXJ0IiOC0+STAh06ASoiGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRKSAQoZVXBkYXRlQWNjb3VudEJ1ZGdldEFsZXJ0cxIxLmJsdWVhcGkuY29zdC52MS5VcGRhdGVBY2NvdW50QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuYXBpLndhdmUuQnVkZ2V0QWxlcnQiI4LT5JMCHToBKhoYL3YxL3t2ZW5kb3J9L2FsZXJ0cy97aWR9EogBChlEZWxldGVBY2NvdW50QnVkZ2V0QWxlcnRzEjEuYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUFjY291bnRCdWRnZXRBbGVydHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC92MS97dmVuZG9yfS9hbGVydHMve2lkfRJ5ChBSZWFkQnVkZ2V0QWxlcnRzEiguYmx1ZWFwaS5jb3N0LnYxLlJlYWRCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqIg8vdjEvYWxlcnRzOnJlYWQwARJyCg9HZXRCdWRnZXRBbGVydHMSJy5ibHVlYXBpLmNvc3QudjEuR2V0QnVkZ2V0QWxlcnRzUmVxdWVzdBodLmJsdWVhcGkuY29zdC52MS5CdWRnZXRBbGVydHMiF4LT5JMCERIPL3YxL2FsZXJ0cy97aWR9EnYKEkNyZWF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5DcmVhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIVgtPkkwIPOgEqIgovdjEvYWxlcnRzEnsKElVwZGF0ZUJ1ZGdldEFsZXJ0cxIqLmJsdWVhcGkuY29zdC52MS5VcGRhdGVCdWRnZXRBbGVydHNSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3N0LnYxLkJ1ZGdldEFsZXJ0cyIagtPkkwIUOgEqGg8vdjEvYWxlcnRzL3tpZH0ScQoSRGVsZXRlQnVkZ2V0QWxlcnRzEiouYmx1ZWFwaS5jb3N0LnYxLkRlbGV0ZUJ1ZGdldEFsZXJ0c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiF4LT5JMCESoPL3YxL2FsZXJ0cy97aWR9EqMBChJHZXRSZWNvbW1lbmRhdGlvbnMSKi5ibHVlYXBpLmNvc3QudjEuR2V0UmVjb21tZW5kYXRpb25zUmVxdWVzdBorLmJsdWVhcGkuY29zdC52MS5HZXRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vcmVjb21tZW5kYXRpb25zL3tvcmdJZH06cmVhZBKXAQoQR2V0Q29zdFJlZHVjdGlvbhIoLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVxdWVzdBopLmJsdWVhcGkuY29zdC52MS5HZXRDb3N0UmVkdWN0aW9uUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L3JlZHVjdGlvbi97b3JnSWR9OnJlYWQShgEKDUdldEV4cG9ydFJJU1ASJS5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlcXVlc3QaJi5ibHVlYXBpLmNvc3QudjEuR2V0RXhwb3J0UklTUFJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9leHBvcnRjc3YvcGF5ZXJzOmV4cG9ydBJmCgxFeHBvcnRSZXBvcnQSJC5ibHVlYXBpLmNvc3QudjEuRXhwb3J0UmVwb3J0UmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iHYLT5JMCFzoBKiISL3YxL3JlcG9ydHM6ZXhwb3J0EosBCg5HZXRVdGlsaXphdGlvbhImLmJsdWVhcGkuY29zdC52MS5HZXRVdGlsaXphdGlvblJlcXVlc3QaJy5ibHVlYXBpLmNvc3QudjEuR2V0VXRpbGl6YXRpb25SZXNwb25zZSIogtPkkwIiEiAvdjEve3ZlbmRvcn0vdXRpbGl6YXRpb24ve29yZ0lkfRKkAQoSR2V0Q292ZXJhZ2VPcHRpb25zEiouYmx1ZWFwaS5jb3N0LnYxLkdldENvdmVyYWdlT3B0aW9uc1JlcXVlc3QaKy5ibHVlYXBpLmNvc3QudjEuR2V0Q292ZXJhZ2VPcHRpb25zUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL3t2ZW5kb3J9L2NvdmVyYWdlL29wdGlvbnMve29yZ0lkfTpyZWFkEqgBChNHZXRDb3ZlcmFnZU9uZGVtYW5kEisuYmx1ZWFwaS5jb3N0LnYxLkdldENvdmVyYWdlT25kZW1hbmRSZXF1ZXN0GiwuYmx1ZWFwaS5jb3N0LnYxLkdldENvdmVyYWdlT25kZW1hbmRSZXNwb25zZSI2gtPkkwIwOgEqIisvdjEve3ZlbmRvcn0vY292ZXJhZ2Uvb25kZW1hbmQve29yZ0lkfTpyZWFkEowBChFHZXRCcmVha2V2ZW5Qb2ludBIpLmJsdWVhcGkuY29zdC52MS5HZXRCcmVha2V2ZW5Qb2ludFJlcXVlc3QaKi5ibHVlYXBpLmNvc3QudjEuR2V0QnJlYWtldmVuUG9pbnRSZXNwb25zZSIggtPkkwIaEhgvdjEve3ZlbmRvcn0vYmVwL3tvcmdJZH0SpAEKGENoZWNrQWNjb3VudHNCZWxvbmdUb01zcBIlLmJsdWVhcGkuY29zdC52MS5DaGVja0FjY291bnRzUmVxdWVzdBomLmJsdWVhcGkuY29zdC52MS5DaGVja0FjY291bnRzUmVzcG9uc2UiOYLT5JMCMzoBKiIuL3YxL3t2ZW5kb3J9L2FjY291bnRzL2N1c3RvbWVycy9hY2NvdW50czpjaGVjaxKMAQoOUmVhZEludm9pY2VJZHMSJi5ibHVlYXBpLmNvc3QudjEuUmVhZEludm9pY2VJZHNSZXF1ZXN0GicuYmx1ZWFwaS5jb3N0LnYxLlJlYWRJbnZvaWNlSWRzUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL3t2ZW5kb3J9L2ludm9pY2VpZHM6cmVhZDABEpQBChRSZWFkSW52b2ljZU92ZXJWaWV3cxIsLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZU92ZXJ2aWV3c1JlcXVlc3QaJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuT3ZlclZpZXdTZWN0aW9uIiSC0+STAh46ASoiGS92MS9pbnZvaWNlb3ZlcnZpZXdzOnJlYWQwARKFAQoQUmVhZEludm9pY2VDb3N0cxIoLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUNvc3RzUmVxdWVzdBojLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5Ub3RhbFNlY3Rpb24iIILT5JMCGjoBKiIVL3YxL2ludm9pY2Vjb3N0czpyZWFkMAESmwEKFVJlYWRJbnZvaWNlR3JvdXBDb3N0cxItLmJsdWVhcGkuY29zdC52MS5SZWFkSW52b2ljZUdyb3VwQ29zdHNSZXF1ZXN0GiouYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cFNlY3Rpb24iJYLT5JMCHzoBKiIaL3YxL2ludm9pY2Vncm91cGNvc3RzOnJlYWQwARLDAQocTGlzdENhbGN1bGF0aW9uUHJlcmVxdWlzaXRlcxI0LmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVxdWVzdBo1LmJsdWVhcGkuY29zdC52MS5MaXN0Q2FsY3VsYXRpb25QcmVyZXF1aXNpdGVzUmVzcG9uc2UiNoLT5JMCMBIuL3YxL3t2ZW5kb3J9L2NhbGN1bGF0aW9uL3ByZXJlcXVpc2l0ZXMve21vbnRofRKpAQogU2V0dXBQYXllckFjY291bnRCaWxsaW5nVHJhbnNmZXISOC5ibHVlYXBpLmNvc3QudjEuU2V0dXBQYXllckFjY291bnRCaWxsaW5nVHJhbnNmZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi06ASoiKC92MS97dmVuZG9yfS9wYXllcnMve2lkfS9iaWxsaW5ndHJhbnNmZXIajQGSQYkBEjlDb3N0IEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2Nvc3QaTAoSU2VydmljZSBkZWZpbml0aW9uEjZodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vY29zdC9C/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.
@@ -482,191 +482,186 @@ exports.AwsRispExportOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_c
482
482
  * Use `create(AwsRispExportOptions_ColumnsSchema)` to create a new message.
483
483
  */
484
484
  exports.AwsRispExportOptions_ColumnsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 77, 0);
485
- /**
486
- * Describes the message blueapi.cost.v1.ExportReportResponse.
487
- * Use `create(ExportReportResponseSchema)` to create a new message.
488
- */
489
- exports.ExportReportResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 78);
490
485
  /**
491
486
  * Describes the message blueapi.cost.v1.GetUtilizationRequest.
492
487
  * Use `create(GetUtilizationRequestSchema)` to create a new message.
493
488
  */
494
- exports.GetUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 79);
489
+ exports.GetUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 78);
495
490
  /**
496
491
  * Describes the message blueapi.cost.v1.GetUtilizationResponse.
497
492
  * Use `create(GetUtilizationResponseSchema)` to create a new message.
498
493
  */
499
- exports.GetUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 80);
494
+ exports.GetUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 79);
500
495
  /**
501
496
  * Describes the message blueapi.cost.v1.GetCoverageOptionsRequest.
502
497
  * Use `create(GetCoverageOptionsRequestSchema)` to create a new message.
503
498
  */
504
- exports.GetCoverageOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 81);
499
+ exports.GetCoverageOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 80);
505
500
  /**
506
501
  * Describes the message blueapi.cost.v1.GetCoverageOptionsResponse.
507
502
  * Use `create(GetCoverageOptionsResponseSchema)` to create a new message.
508
503
  */
509
- exports.GetCoverageOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 82);
504
+ exports.GetCoverageOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 81);
510
505
  /**
511
506
  * Describes the message blueapi.cost.v1.GetCoverageOndemandRequest.
512
507
  * Use `create(GetCoverageOndemandRequestSchema)` to create a new message.
513
508
  */
514
- exports.GetCoverageOndemandRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 83);
509
+ exports.GetCoverageOndemandRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 82);
515
510
  /**
516
511
  * Describes the message blueapi.cost.v1.GetCoverageOndemandResponse.
517
512
  * Use `create(GetCoverageOndemandResponseSchema)` to create a new message.
518
513
  */
519
- exports.GetCoverageOndemandResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 84);
514
+ exports.GetCoverageOndemandResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 83);
520
515
  /**
521
516
  * Describes the message blueapi.cost.v1.GetBreakevenPointRequest.
522
517
  * Use `create(GetBreakevenPointRequestSchema)` to create a new message.
523
518
  */
524
- exports.GetBreakevenPointRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 85);
519
+ exports.GetBreakevenPointRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 84);
525
520
  /**
526
521
  * Describes the message blueapi.cost.v1.GetBreakevenPointResponse.
527
522
  * Use `create(GetBreakevenPointResponseSchema)` to create a new message.
528
523
  */
529
- exports.GetBreakevenPointResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 86);
524
+ exports.GetBreakevenPointResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 85);
530
525
  /**
531
526
  * Describes the message blueapi.cost.v1.ListCostFiltersRequest.
532
527
  * Use `create(ListCostFiltersRequestSchema)` to create a new message.
533
528
  */
534
- exports.ListCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 87);
529
+ exports.ListCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 86);
535
530
  /**
536
531
  * Describes the message blueapi.cost.v1.ListCostFiltersResponse.
537
532
  * Use `create(ListCostFiltersResponseSchema)` to create a new message.
538
533
  */
539
- exports.ListCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 88);
534
+ exports.ListCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 87);
540
535
  /**
541
536
  * Describes the message blueapi.cost.v1.ListCostFilters.
542
537
  * Use `create(ListCostFiltersSchema)` to create a new message.
543
538
  */
544
- exports.ListCostFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 89);
539
+ exports.ListCostFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 88);
545
540
  /**
546
541
  * Describes the message blueapi.cost.v1.CreateCostFiltersRequest.
547
542
  * Use `create(CreateCostFiltersRequestSchema)` to create a new message.
548
543
  */
549
- exports.CreateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 90);
544
+ exports.CreateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 89);
550
545
  /**
551
546
  * Describes the message blueapi.cost.v1.CreateCostFiltersResponse.
552
547
  * Use `create(CreateCostFiltersResponseSchema)` to create a new message.
553
548
  */
554
- exports.CreateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 91);
549
+ exports.CreateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 90);
555
550
  /**
556
551
  * Describes the message blueapi.cost.v1.UpdateCostFiltersRequest.
557
552
  * Use `create(UpdateCostFiltersRequestSchema)` to create a new message.
558
553
  */
559
- exports.UpdateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 92);
554
+ exports.UpdateCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 91);
560
555
  /**
561
556
  * Describes the message blueapi.cost.v1.UpdateCostFiltersResponse.
562
557
  * Use `create(UpdateCostFiltersResponseSchema)` to create a new message.
563
558
  */
564
- exports.UpdateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 93);
559
+ exports.UpdateCostFiltersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 92);
565
560
  /**
566
561
  * Describes the message blueapi.cost.v1.DeleteCostFiltersRequest.
567
562
  * Use `create(DeleteCostFiltersRequestSchema)` to create a new message.
568
563
  */
569
- exports.DeleteCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 94);
564
+ exports.DeleteCostFiltersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 93);
570
565
  /**
571
566
  * Describes the message blueapi.cost.v1.ExportCostFiltersFileRequest.
572
567
  * Use `create(ExportCostFiltersFileRequestSchema)` to create a new message.
573
568
  */
574
- exports.ExportCostFiltersFileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 95);
569
+ exports.ExportCostFiltersFileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 94);
575
570
  /**
576
571
  * Describes the message blueapi.cost.v1.ExportCostFiltersFileResponse.
577
572
  * Use `create(ExportCostFiltersFileResponseSchema)` to create a new message.
578
573
  */
579
- exports.ExportCostFiltersFileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 96);
574
+ exports.ExportCostFiltersFileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 95);
580
575
  /**
581
576
  * Describes the message blueapi.cost.v1.ReadCostsRequestGcpOptions.
582
577
  * Use `create(ReadCostsRequestGcpOptionsSchema)` to create a new message.
583
578
  */
584
- exports.ReadCostsRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 97);
579
+ exports.ReadCostsRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 96);
585
580
  /**
586
581
  * Describes the message blueapi.cost.v1.ReadCostsRequestGcpOptionsFilters.
587
582
  * Use `create(ReadCostsRequestGcpOptionsFiltersSchema)` to create a new message.
588
583
  */
589
- exports.ReadCostsRequestGcpOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 98);
584
+ exports.ReadCostsRequestGcpOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 97);
590
585
  /**
591
586
  * Describes the message blueapi.cost.v1.GetAccountBudgetAlertsRequest.
592
587
  * Use `create(GetAccountBudgetAlertsRequestSchema)` to create a new message.
593
588
  */
594
- exports.GetAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 99);
589
+ exports.GetAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 98);
595
590
  /**
596
591
  * Describes the message blueapi.cost.v1.CreateAccountBudgetAlertsRequest.
597
592
  * Use `create(CreateAccountBudgetAlertsRequestSchema)` to create a new message.
598
593
  */
599
- exports.CreateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 100);
594
+ exports.CreateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 99);
600
595
  /**
601
596
  * Describes the message blueapi.cost.v1.UpdateAccountBudgetAlertsRequest.
602
597
  * Use `create(UpdateAccountBudgetAlertsRequestSchema)` to create a new message.
603
598
  */
604
- exports.UpdateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 101);
599
+ exports.UpdateAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 100);
605
600
  /**
606
601
  * Describes the message blueapi.cost.v1.DeleteAccountBudgetAlertsRequest.
607
602
  * Use `create(DeleteAccountBudgetAlertsRequestSchema)` to create a new message.
608
603
  */
609
- exports.DeleteAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 102);
604
+ exports.DeleteAccountBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 101);
610
605
  /**
611
606
  * Describes the message blueapi.cost.v1.ReadCostsRequestAzureOptions.
612
607
  * Use `create(ReadCostsRequestAzureOptionsSchema)` to create a new message.
613
608
  */
614
- exports.ReadCostsRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 103);
609
+ exports.ReadCostsRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 102);
615
610
  /**
616
611
  * Describes the message blueapi.cost.v1.BudgetAlerts.
617
612
  * Use `create(BudgetAlertsSchema)` to create a new message.
618
613
  */
619
- exports.BudgetAlertsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 104);
614
+ exports.BudgetAlertsSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 103);
620
615
  /**
621
616
  * Describes the message blueapi.cost.v1.ReadBudgetAlertsRequest.
622
617
  * Use `create(ReadBudgetAlertsRequestSchema)` to create a new message.
623
618
  */
624
- exports.ReadBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 105);
619
+ exports.ReadBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 104);
625
620
  /**
626
621
  * Describes the message blueapi.cost.v1.GetBudgetAlertsRequest.
627
622
  * Use `create(GetBudgetAlertsRequestSchema)` to create a new message.
628
623
  */
629
- exports.GetBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 106);
624
+ exports.GetBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 105);
630
625
  /**
631
626
  * Describes the message blueapi.cost.v1.CreateBudgetAlertsRequest.
632
627
  * Use `create(CreateBudgetAlertsRequestSchema)` to create a new message.
633
628
  */
634
- exports.CreateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 107);
629
+ exports.CreateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 106);
635
630
  /**
636
631
  * Describes the message blueapi.cost.v1.UpdateBudgetAlertsRequest.
637
632
  * Use `create(UpdateBudgetAlertsRequestSchema)` to create a new message.
638
633
  */
639
- exports.UpdateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 108);
634
+ exports.UpdateBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 107);
640
635
  /**
641
636
  * Describes the message blueapi.cost.v1.DeleteBudgetAlertsRequest.
642
637
  * Use `create(DeleteBudgetAlertsRequestSchema)` to create a new message.
643
638
  */
644
- exports.DeleteBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 109);
639
+ exports.DeleteBudgetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 108);
645
640
  /**
646
641
  * Describes the message blueapi.cost.v1.CheckAccountsRequest.
647
642
  * Use `create(CheckAccountsRequestSchema)` to create a new message.
648
643
  */
649
- exports.CheckAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 110);
644
+ exports.CheckAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 109);
650
645
  /**
651
646
  * Describes the message blueapi.cost.v1.CheckAccountsResponse.
652
647
  * Use `create(CheckAccountsResponseSchema)` to create a new message.
653
648
  */
654
- exports.CheckAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 111);
649
+ exports.CheckAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 110);
655
650
  /**
656
651
  * Describes the message blueapi.cost.v1.ReadInvoiceIdsRequest.
657
652
  * Use `create(ReadInvoiceIdsRequestSchema)` to create a new message.
658
653
  */
659
- exports.ReadInvoiceIdsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 112);
654
+ exports.ReadInvoiceIdsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 111);
660
655
  /**
661
656
  * Describes the message blueapi.cost.v1.ReadInvoiceIdsResponse.
662
657
  * Use `create(ReadInvoiceIdsResponseSchema)` to create a new message.
663
658
  */
664
- exports.ReadInvoiceIdsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 113);
659
+ exports.ReadInvoiceIdsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 112);
665
660
  /**
666
661
  * Describes the message blueapi.cost.v1.PeriodRange.
667
662
  * Use `create(PeriodRangeSchema)` to create a new message.
668
663
  */
669
- exports.PeriodRangeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 114);
664
+ exports.PeriodRangeSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 113);
670
665
  /**
671
666
  * @generated from enum blueapi.cost.v1.PeriodRange.Unit
672
667
  */
@@ -692,52 +687,57 @@ var PeriodRange_Unit;
692
687
  /**
693
688
  * Describes the enum blueapi.cost.v1.PeriodRange.Unit.
694
689
  */
695
- exports.PeriodRange_UnitSchema = (0, codegenv2_1.enumDesc)(exports.file_cost_v1_cost, 114, 0);
690
+ exports.PeriodRange_UnitSchema = (0, codegenv2_1.enumDesc)(exports.file_cost_v1_cost, 113, 0);
696
691
  /**
697
692
  * Describes the message blueapi.cost.v1.ReadInvoiceOverviewsRequest.
698
693
  * Use `create(ReadInvoiceOverviewsRequestSchema)` to create a new message.
699
694
  */
700
- exports.ReadInvoiceOverviewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 115);
695
+ exports.ReadInvoiceOverviewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 114);
701
696
  /**
702
697
  * Describes the message blueapi.cost.v1.ReadInvoiceCostsRequest.
703
698
  * Use `create(ReadInvoiceCostsRequestSchema)` to create a new message.
704
699
  */
705
- exports.ReadInvoiceCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 116);
700
+ exports.ReadInvoiceCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 115);
706
701
  /**
707
702
  * Describes the message blueapi.cost.v1.ReadInvoiceGroupCostsRequest.
708
703
  * Use `create(ReadInvoiceGroupCostsRequestSchema)` to create a new message.
709
704
  */
710
- exports.ReadInvoiceGroupCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 117);
705
+ exports.ReadInvoiceGroupCostsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 116);
711
706
  /**
712
707
  * Describes the message blueapi.cost.v1.ReadAccountOriginalResourcesRequest.
713
708
  * Use `create(ReadAccountOriginalResourcesRequestSchema)` to create a new message.
714
709
  */
715
- exports.ReadAccountOriginalResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 118);
710
+ exports.ReadAccountOriginalResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 117);
716
711
  /**
717
712
  * Describes the message blueapi.cost.v1.RegisterPayerAccountRequest.
718
713
  * Use `create(RegisterPayerAccountRequestSchema)` to create a new message.
719
714
  */
720
- exports.RegisterPayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 119);
715
+ exports.RegisterPayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 118);
721
716
  /**
722
717
  * Describes the message blueapi.cost.v1.UpdatePayerAccountRequest.
723
718
  * Use `create(UpdatePayerAccountRequestSchema)` to create a new message.
724
719
  */
725
- exports.UpdatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 120);
720
+ exports.UpdatePayerAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 119);
726
721
  /**
727
722
  * Describes the message blueapi.cost.v1.ListCalculationPrerequisitesRequest.
728
723
  * Use `create(ListCalculationPrerequisitesRequestSchema)` to create a new message.
729
724
  */
730
- exports.ListCalculationPrerequisitesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 121);
725
+ exports.ListCalculationPrerequisitesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 120);
731
726
  /**
732
727
  * Describes the message blueapi.cost.v1.CalculationPrerequisite.
733
728
  * Use `create(CalculationPrerequisiteSchema)` to create a new message.
734
729
  */
735
- exports.CalculationPrerequisiteSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 122);
730
+ exports.CalculationPrerequisiteSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 121);
736
731
  /**
737
732
  * Describes the message blueapi.cost.v1.ListCalculationPrerequisitesResponse.
738
733
  * Use `create(ListCalculationPrerequisitesResponseSchema)` to create a new message.
739
734
  */
740
- exports.ListCalculationPrerequisitesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 123);
735
+ exports.ListCalculationPrerequisitesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 122);
736
+ /**
737
+ * Describes the message blueapi.cost.v1.SetupPayerAccountBillingTransferRequest.
738
+ * Use `create(SetupPayerAccountBillingTransferRequestSchema)` to create a new message.
739
+ */
740
+ exports.SetupPayerAccountBillingTransferRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cost_v1_cost, 123);
741
741
  /**
742
742
  * Service for reading aggregated costs for your cloud costs and usages.
743
743
  *